网络爬虫之网站背景调研

1. 检查robots.txt

  大多数网站都会定义一robots.txt文件,这样可以了解爬取该网站时存在哪些限制,在爬取之前检查robots.txt文件这一宝贵资源可以最小化爬虫被封禁的可能,而且还能发现和网站结构相关的线索。

  输入http://example.webscraping.com/robots.txt 我们会看到以下内容:

  

  section1:禁止用户代理为BadCrawler的爬虫爬取网站

  section2:规定无论使用任何的代理,都应该在两次下载请求之间给出5秒的抓取延时,我们应该遵从该建议避免服务器过载,Disllow:/trap表示禁止爬取/trap链接,如果访问的画,服务器将会封你的ip

  section3:  告诉了我们一个网址,该网址内容可以帮助我们定位网站的最新内容

2. 检查网站地图

  从robots.txt内容可以看到,网站为我们提供了Sitemap网址,该网址可以帮助我们定位网站最新的内容,而无须爬取每一个网页,关于网站地图标准协议可以查看https://www.sitemaps.org/protocol.html,打开sitemap看看

  

  发现该网站地图提供了所有网页链接,虽然网站地图文件提供了一种爬取网站的有效方式,但是我们仍需对其谨慎处理,因为该文件经常存在缺失、过期或不完整的问题

3. 估算网站大小

  目标网站的大小会影响我们如何进行爬取,如果网页的数量级特别大,使用串行下载可能需要持续数月才能完成,这时就需要使用分布式下载解决了

4. 识别网站技术

import builtwith
print(builtwith.parse("http://example.webscraping.com"))

5. 网站所有者

  pip install python-whois

  以博客园为例:

import whois
print (whois.whois("https://i.cnblogs.com"))

posted @ 2018-03-06 10:43  Fate0729  阅读(1098)  评论(0编辑  收藏  举报