第一章 :网络爬虫简介
1.网络爬虫是什么?
2.网络爬虫何时有用?
3.背景调研
-
检查robots.txt
大都数网站都会定义robots.txt 文件。这样可以让爬虫了解爬取该网站时存在哪些限制。在爬取前检查该文件可以最小化爬虫被禁的可能,而且还能发现和网站结构相关的线索。
关于robots.txt协议的更多信息可参见
-
检查网站地图
网站提供的sitemap文件(即网站地图)可以帮助爬虫定位最新的内容,而无须爬取每一个网页 。
网站地图标准的定义
-
估算网站大小
目标网站的大小会影响我们如何进行爬取。对于大型网站(几百万个网页)则需要用分布式爬虫。
估算一个网站大小最简单的方法是检查Google爬虫的结果,当然百度也可以。
如搜索site example.webscraping.com
-
识别网站所用技术
python检查网站技术模块
builtwith
pip install builtwith
>>> import builtwith
>>> builtwith.parse('http://example.webscraping.com')
>>> {u'javascript-frameworks': [u'jQuery', u'Modernizr', u'jQuery UI'], u'web-frameworks': [u'Web2py', u'Twitter Bootstrap'], u'programming-languages': [u'Python'], u'web-servers': [u'Nginx']}
-
寻找网站所有者
python中有一个针对
whois
协议封装的库,其官方文档为
pip install python-whois
>>> import whois
>>> print whois.whois('example.webscraping.com')
-
编写第一个爬虫