网络爬虫基本概念和相关工具
1.基本概念
(1)什么是网络爬虫(web crawler)?
以前经常称之为网络蜘蛛(spider),是按照一定的规则自动浏览万维网并获取信息的机器人程序(或脚本),曾经被广泛的应用于互联网搜索引擎。使用过互联网和浏览器的人都知道,网页中除了供用户阅读的文字信息之外,还包含一些超链接。网络爬虫系统正是通过网页中的超链接信息不断获得网络上的其它页面。正因如此,网络数据采集的过程就像一个爬虫或者蜘蛛在网络上漫游,所以才被形象的称为网络爬虫或者网络蜘蛛。
(2)有哪些语言可以实现爬虫 ?
1.php: 号称世界上最好的语言
2.java: 可以实现,而且做的非常好,是python爬虫最主要的竞争对手,做的不好,语言不简洁,代码臃肿,重构成本高
3.c、c+ : 也可以实现爬虫,非常强大,编程语言排行榜,只能说你牛x,但是不是一个好的选择
4.python: 可以实现, 号称世界上最优雅的语言,代码简洁,学习成本低,执行效率也好,而且还有一个非常强大的爬虫框架scrapy
(3)什么是通用爬虫 ?
例如:百度、谷歌、360、搜狗、必应等搜索引擎
1.做的工作:爬取互联网所有的数据, 对数据存储并且处理, 给用户提供检索服务
2.如何让百度抓取你的网站? 百度会和DNS服务商合作, 主动提交自己的url, 在其它网站设置友情链接
3.如何让网站不让百度抓取?君子协议(口头协议),robots协议(存放在网站的根目录下)
4.网站排名(SEO): (1)pagerank值排名(根据点击量、浏览量等,相当靠谱), (2)竞价排名
5.通用爬虫缺点:(1)抓取很多数据都是无效的(2)不能根据自己的需求抓取数据
(4)什么是聚焦爬虫 ?
1.聚焦爬虫就是: 根据自己特定的需求,来抓取指定的数据
2.如何实现聚焦爬虫?
a.熟悉网页的特点:网页都有自己唯一的url, 都是由html组成, 网页传输都是使用http、https协议
b.爬取的思路:给一个url,模拟浏览器发送http请求,从html结构中提取指定的数据,从字符串中根据规则提取指定数据
c.开发环境:windows系统,python3.x(64位),sublime,pycharm,vscode编辑器等
</