前言
为什么要做爬虫?
首先请问: 都说现在是 "大数据时代", 那数据从何而来?
企业产生的用户数据: 百度指数, 阿里指数, TBI 腾讯浏览指数, 新浪微博指数
数据平台购买数据: 数据堂, 国云数据市场, 贵阳大数据交易所
政府 / 机构公开的数据: 中华人民共和国国家统计局数据, 世界银行公开数据, 联合国数据, 纳斯达克
数据管理咨询公司: 麦肯锡, 埃森哲, 艾瑞咨询
爬取网络数据: 如果需要的数据市场上没有, 或者不愿意购买, 那么可以选择招 / 做一名爬虫工程师, 自己动手丰衣足食.
爬虫是什么?
网络爬虫是一种按照一定的规则, 自动地抓取万维网信息的程序或者脚本.
爬虫需要具备的知识?
了解 Python 基础
一. 通用爬虫与聚焦爬虫
根据使用场景, 网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.
通用爬虫
通用网络爬虫是捜索引擎抓取系统 (Baidu,Google,Yahoo 等) 的重要组成部分. 主要目的是将互联网上的网页下载到本地, 形成一个互联网内容的镜像备份.
通用搜索引擎工作原理
第一步: 抓取网页
搜索引擎网络爬虫的基本工作流程如下:
首先选取一部分的种子 URL, 将这些 URL 放入待抓取 URL 队列;
取出待抓取 URL, 解析 DNS 得到主机的 IP, 并将 URL 对应的网页下载下来, 存储进已下载网页库中, 并且将这些 URL 放进已抓取 URL 队列.
分析已抓取 URL 队列中的 URL, 分析其中的其他 URL, 并且将 URL 放入待抓取 URL 队列, 从而进入下一个循环....
搜索引擎如何获取一个新网站的 URL:
新网站向搜索引擎主动提交网址:(如百度 http://zhanzhang.baidu.com/linksubmit/url)
在其他网站上设置新网站外链(尽可能处于搜索引擎爬虫爬取范围)
搜索引擎和 DNS 解析服务商 (如 DNSPod 等) 合作, 新网站域名将被迅速抓取.
但是搜索引擎蜘蛛的爬行是被输入了一定的规则的, 它需要遵从一些命令或文件的内容, 如标注为 nofollow 的链接, 或者是 Robots 协议.
Robots 协议(也叫爬虫协议, 机器人协议等), 全称是 "网络爬虫排除标准"(Robots Exclusion Protocol), 网站通过 Robots 协议告诉搜索引擎哪些页面可以抓取, 哪些页面不能抓取, 例如:
淘宝网: https://www.taobao.com/robots.txt
腾讯网: http://www.qq.com/robots.txt
第二步: 数据存储
搜索引擎通过爬虫爬取到的网页, 将数据存入原始页面数据库. 其中的页面数据与用户浏览器得到的 html 是完全一样的.
搜索引擎蜘蛛在抓取页面时, 也做一定的重复内容检测, 一旦遇到访问权重很低的网站上有大量抄袭, 采集或者复制的内容, 很可能就不再爬行.
第三步: 预处理
搜索引擎将爬虫抓取回来的页面, 进行各种步骤的预处理.
提取文字
中文分词
来源: http://www.bubuko.com/infodetail-2701910.html