为什么要做爬虫?
首先,都说现在是“大数据时代”。数据从哪里来?
企业产生的用户数据:百度指数、阿里指数、TBI腾讯浏览指数、新浪微博指数
平台购买数据:数据大厅、郭云数据市场、贵阳大数据交易所。
政府/机构公布的数据:中华人民共和国国家统计局、世界银行、联合国和纳斯达克。
数据管理咨询公司:麦肯锡、埃森哲、艾瑞咨询。
爬网数据:如果所需数据市面上没有或者不愿意购买,可以选择招聘/做爬虫工程师,自己丰衣足食。挂钩Python爬虫位置
什么是网络爬虫?
网络爬虫(Web crawler,也称网络蜘蛛、网络机器人,在FOAF社区中,更常被称为web chaser)是一种按照一定规则自动抓取万维网信息的程序或脚本。其他不常用的名称有蚂蚁、自动索引、模拟器或蠕虫。
爬行动物的更多用途
2306抢票
网站上的第一张票
短信轰炸
关于Python网络爬虫我们需要了解的是:
Python基础语法学习(基础知识)
HTML页面的内容捕获(数据捕获)
从HTML页面提取数据(数据提取)
Scrapy框架和scrapy-redis分布式策略(第三方框架)
爬虫、反蜘蛛、反反蜘蛛之间的斗争…
通用爬虫和聚焦爬虫
根据使用场景,网络爬虫可以分为通用爬虫和聚焦爬虫。
通用爬行动物
通用网络爬虫是搜索引擎爬行系统(百度、谷歌、雅虎等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成互联网内容的镜像备份。
通用搜索引擎的工作原理
通用网络爬虫从因特网收集网页和信息。这些网页用于索引搜索引擎并提供支持。它决定了整个引擎系统的内容是否丰富,信息是否实时,所以它的性能直接影响搜索引擎的效果。
第一步:抓取网页
搜索引擎网络爬虫的基本工作流程如下:
首先选择一部分种子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完全一样。
搜索引擎蜘蛛在抓取页面时也会做一些重复内容检测。一旦他们在访问权重低的网站上遇到大量抄袭、收录或抄袭的内容,大概就不会再爬了。
第三步:预处理
搜索引擎会抓取爬虫返回的页面,并进行各种步骤的预处理。
选择文本
中文分词
消除噪音(如版权声明文本、导航栏、广告等...)
索引处理
链接计算
特殊文件处理
…
除了HTML文件,搜索引擎通常可以抓取和索引各种基于文本的文件类型,如PDF,Word,WPS,XLS,PPT和TXT文件。我们也经常在搜索结果中看到这些文件类型。
但是,搜索引擎不能处理图片、视频、Flash等非文本内容,也不能执行脚本和程序。
第四步:提供搜索服务和网站排名。
搜索引擎对信息进行组织和处理后,为用户提供关键词搜索服务,将与用户搜索相关的信息展示给用户。
同时,网站会根据页面的PageRank值(链接的访问量排名)进行排名,这样排名值高的网站在搜索结果中的排名就会靠前。当然也可以直接用钱买搜索引擎网站排名,简单粗暴。
爬虫原理与数据捕获
然而,这些通用搜索引擎也有一些局限性:
一般搜索引擎返回的结果都是网页,大多数情况下网页中90%的内容对用户都是无用的。
不同领域、不同背景的用户往往有不同的搜索目的和需求,搜索引擎无法为某一特定用户提供搜索结果。
随着万维网数据形式的丰富和网络技术的不断发展,出现了大量不同的数据,如图片、数据库、音频、视频和多媒体等。通用搜索引擎无力找到和获取这些文件。
一般的搜索引擎大多提供基于关键词的检索,难以支持基于语义信息的查询,无法准确理解用户的具体需求。
针对这些情况,聚焦爬虫技术得到了广泛的应用。
搜索引擎
聚焦爬虫是一种“面向特定主题需求”的网络爬虫。它与一般搜索引擎爬虫的区别在于,聚焦爬虫在抓取网页时会对内容进行处理和筛选,尽量保证只抓取与需求相关的网页信息。
而我们未来要学习的网络爬虫就是聚焦爬虫。
另一方面,如果你是一个网站管理员,不希望爬虫抓取自己的数据怎么办?答案是:去WAF!比如share waf(http://www.sharewaf.com)就可以实现很好的防爬!
上一篇:网站改版百度会收录吗?
下一篇:网站建设Python