根据爬虫场景分为“通用爬虫”和“聚焦爬虫”
通用爬虫
搜索引擎用的爬虫系统
-1目标:就是尽可能把所有的网页下载下来,放在本地服务器里形成备份,再对这些页面做相关处理(提取关键字、去掉广告),最后提供一个用户检索接口。
-2抓取流程:
- 首选选取一部分已有的URL,把这些URL放到待爬取队列。
- 从队列里取出这些URL,然后解析DNS得到主机IP,然后去这个IP对应的服务器里下载HTML页面,保存到搜索引擎的本地服务器。
- 把这个爬过的URL放入已爬取队列。
- 分析这些网页内容,找出网页里其他的URL连接,继续执行第二步,直到爬取条件结束。
-3 搜索引擎如何获取一个新网站的URL:
- 主动向搜索引擎提交网址:http://zhanzhang.baidu.com/linksubmit/url
- 在其他网站里设置网站的外链。
- 搜索引擎会和DNS服务商进行合作,可以快速收录新的网站。
DNS:就是把域名解析成IP的一种技术。
-4 通用爬虫并不是万物皆可爬,它也需要遵守规则:
Robots协议:协议会指明通用爬虫可以爬取网页的权限。
Robots.txt 只是一个建议。并不是所有爬虫都遵守,一般只有大型的搜索引擎爬虫才会遵守。
咱们个人写的爬虫,就不管了。
-5 通用爬虫工作流程:爬取网页 - 存储数据 - 内容处理 - 提供检索/排名服务
-6 搜索引擎排名:
- PageRank值:根据网站的流量(点击量/浏览量/人气)统计,流量越高,网站也越值钱,排名越靠前。
- 竞价排名:谁给钱多,谁排名就高。
-7 通用爬虫的缺点:
- 只能提供和文本相关的内容(HTML、Word、PDF)等等,但是不能提供多媒体文件(音乐、图片、视频)和二进制文件(程序、脚本)等等。
- 提供的结果千篇一律,不能针对不同背景领域的人提供不同的搜索结果。
- 不能理解人类语义上的检索。
聚焦爬虫
聚焦爬虫:爬虫程序员写的针对某种内容的爬虫。
面向主题爬虫,面向需求爬虫:会针对某种特定的内容去爬取信息,而且会保证信息和需求尽可能相关。