时间:2020-09-28 11:00:43 | 栏目:Python代码 | 点击:次
一、爬虫的简单理解
1. 什么是爬虫?
网络爬虫也叫网络蜘蛛,如果把互联网比喻成一个蜘蛛网,那么蜘蛛就是在网上爬来爬去的蜘蛛,爬虫程序通过请求url地址,根据响应的内容进行解析采集数据, 比如:如果响应内容是html,分析dom结构,进行dom解析、或者正则匹配,如果响应内容是xml/json数据,就可以转数据对象,然后对数据进行解析。
2. 爬虫有什么作用?
通过有效的爬虫手段批量采集数据,可以降低人工成本,提高有效数据量,给予运营/销售的数据支撑,加快产品发展。
3. 爬虫业界的情况
目前互联网产品竞争激烈,业界大部分都会使用爬虫技术对竞品产品的数据进行挖掘、采集、大数据分析,这是必备手段,并且很多公司都设立了爬虫工程师的岗位。
4. 合法性
爬虫是利用程序进行批量爬取网页上的公开信息,也就是前端显示的数据信息。因为信息是完全公开的,所以是合法的。其实就像浏览器一样,浏览器解析响应内容并渲染为页面,而爬虫解析响应内容采集想要的数据进行存储。
5. 反爬虫
爬虫很难完全的制止,道高一尺魔高一丈,这是一场没有硝烟的战争,码农VS码农
反爬虫一些手段:
二、通用爬虫
根据使⽤场景,⽹络爬⾍可分为 通⽤爬⾍ 和 聚焦爬⾍ 两种.。
1、通⽤爬⾍
通⽤⽹络爬⾍是?人饕?擎(Baidu、Google、Yahoo)抓取系统的重要组成部分。主要⽬的是将互联⽹上的⽹⻚下载到本地,形成⼀个互联⽹内容的镜像备份。
⽹络爬⾍的基本⼯作流程如下:
2、通⽤搜索引擎(Search Engine)⼯作原理
随着⽹络的迅速发展,万维⽹成为⼤量信息的载体,如何有效地提取并利⽤这些信息成为⼀个巨⼤的挑战,通常⽤户会通过搜索引擎(Yahoo,Google,百度等),来作为访问万维⽹的⼊⼝。
⽽ 通⽤⽹络爬⾍ 是搜索引擎系统中⼗分重要的组成部分,它负责从互联⽹中搜集⽹⻚,采集信息,这些⽹⻚信息⽤于为搜索引擎建⽴索引从⽽提供⽀持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果。
第⼀步:抓取⽹⻚
搜索引擎通过⼀种有特定规律的软件,来跟踪⽹⻚的链接,从⼀个链接爬到另外⼀个链接,像蜘蛛在蜘蛛⽹上爬⾏⼀样,所以被称为“蜘蛛”也被称为“机器⼈”。
但是搜索引擎蜘蛛的爬⾏是被输⼊了⼀定的规则的,它需要遵从⼀些命令或⽂件的内容。
Robots 协议(也称为爬⾍协议、机器⼈协议等)的全称是“⽹络爬⾍排除标准”(Robots Exclusion Protocol),⽹站通过 Robots 协议告诉搜索引擎哪些⻚⾯可以抓取,哪些⻚⾯不能抓取
https://www.taobao.com/robots...
http://www.qq.com/robots.txt
robots.txt 只是约定,爬⾍遵守或者不遵守完全在于爬⾍作者的意愿。举个例⼦,公交⻋上贴着「请为⽼弱病残孕让座」,但是⼤部分⼈并不⻅得会遵守。⼀般来讲,只有⼤的搜索引擎爬⾍会遵守你⽹站的 robots.txt 协议,其它的爬⾍基本都不会看⼀眼你的 robots.txt 写的是什么。
第⼆步:数据存储
搜索引擎是通过蜘蛛跟踪链接爬⾏到⽹⻚,并将爬⾏的数据存⼊原始⻚⾯数据库。其中的⻚⾯数据与⽤户浏览器得到的 HTML 是完全⼀样的。搜索引擎蜘蛛在抓取⻚⾯时,也做⼀定的重复内容检测,⼀旦遇到权重很低的⽹站上有⼤量抄袭、采集或者复制的内容,很可能就不再爬⾏。
第三步:预处理
搜索引擎将蜘蛛抓取回来的⻚⾯,进⾏各种步骤的预处理。
除了 HTML⽂件外,搜索引擎通常还能抓取和索引以⽂字为基础的多种⽂件类型,如 PDF、Word、WPS、XLS、PPT、TXT ⽂件等。我们在搜索结果中也经常会看到这些⽂件类型。
但搜索引擎还不能处理图⽚、视频、Flash 这类⾮⽂字内容,也不能执⾏脚本和程序。
第四步:排名,提供检索服务
搜索引擎是根据⼀定的策略、运⽤特定的计算机程序从互联⽹上搜集信息,在对信息进⾏组织和处理后,为⽤户提供检索服务,将⽤户检索相关的信息展示给⽤户的系统。
但是,这些通⽤性搜索引擎也存在着⼀定的局限性:
三、聚焦爬⾍(Focused Crawler)