通用爬虫和聚焦爬虫
根据使用场景, 网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.
通用爬虫
通用网络爬虫 是 捜索引擎抓取系统 (Baidu,Google,Yahoo 等) 的重要组成部分. 主要目的是将互联网上的网页下载到本地, 形成一个互联网内容的镜像备份.
通用搜索引擎 (Search Engine) 工作原理
通用网络爬虫 从互联网中搜集网页, 采集信息, 这些网页信息用于为搜索引擎建立索引从而提供支持, 它决定着整个引擎系统的内容是否丰富, 信息是否即时, 因此其性能的优劣直接影响着搜索引擎的效果.
第一步: 抓取网页
搜索引擎网络爬虫的基本工作流程如下:
首先选取一部分的种子 URL, 将这些 URL 放入待抓取 URL 队列;
取出待抓取 URL, 解析 DNS 得到主机的 IP, 并将 URL 对应的网页下载下来, 存储进已下载网页库中, 并且将这些 URL 放进已抓取 URL 队列.
分析已抓取 URL 队列中的 URL, 分析其中的其他 URL, 并且将 URL 放入待抓取 URL 队列, 从而进入下一个循环....
搜索引擎如何获取一个新网站的 URL:
1. 新网站向搜索引擎主动提交网址:(如百度 http://zhanzhang.baidu.com/linksubmit/url)
2. 在其他网站上设置新网站外链(尽可能处于搜索引擎爬虫爬取范围)
3. 搜索引擎和 DNS 解析服务商 (如 DNSPod 等) 合作, 新网站域名将被迅速抓取.
但是搜索引擎蜘蛛的爬行是被输入了一定的规则的, 它需要遵从一些命令或文件的内容, 如标注为 nofollow 的链接, 或者是 Robots 协议.
Robots 协议(也叫爬虫协议, 机器人协议等), 全称是 "网络爬虫排除标准"(Robots Exclusion Protocol), 网站通过 Robots 协议告诉搜索引擎哪些页面可以抓取, 哪些页面不能抓取, 例如:
淘宝网: https://www.taobao.com/robots.txt
腾讯网: http://www.qq.com/robots.txt
第二步: 数据存储
搜索引擎通过爬虫爬取到的网页, 将数据存入原始页面数据库. 其中的页面数据与用户浏览器得到的 html 是完全一样的.
搜索引擎蜘蛛在抓取页面时, 也做一定的重复内容检测, 一旦遇到访问权重很低的网站上有大量抄袭, 采集或者复制的内容, 很可能就不再爬行.
第三步: 预处理
搜索引擎将爬虫抓取回来的页面, 进行各种步骤的预处理.
提取文字
中文分词
来源: http://www.jianshu.com/p/a6478fb5ed2c