在深入讨论爬取一个网站 之前,我们首先需要对目标站点的规模和结构进行一定程度的了解。 网站自身的robots.txt 和Sitemap文件都可以为我 们提供一定的帮助,此外还有一些能提供更详细信息的外部工具,比如Goog le 搜索和WHOIS。
- robots.txt
Robot.txt规定了网站对于爬虫的限制。
Section1:禁止用户代理为B adCrawler 的爬虫爬取该网站 , 不过这种写法可能无法起到应有的作用, 因为恶意爬虫根本不会遵从robots. txt 的要求。
Section2:无论使用哪种用户代理, 都应该在两次下载请求之 间给出5秒 的抓取延迟./trap 链接,用于封禁那些爬取了不允许链接的恶意爬虫。如果你访问 了这个链接,服务器就会封禁你的 IP 一分钟! 一个真实的网站可能会对你 的 IP 封禁更长时间, 甚至是永久封禁。/trap 链接,用于封禁那些爬取了不允许链接的恶意爬虫。如果你访问 了这个链接,服务器就会封禁你的 IP 一分钟! 一个真实的网站 可能会对你的 IP 封禁更长时间, 甚至是永久封禁。
Section3:定义了一个Sitemap 文件。
- 网站地图
网站提供的Sitemap 文件 (即网站地图)可以帮助爬虫定位网站最新的内 容 , 而无须爬取每 一 个网页。网站地图提供了所有网页的链接。虽然Sitemap文件提供了一种爬取网站的有效方式, 但是我们仍需对其谨慎处理, 因为该文件经常存在缺失、 过期或不完整的问题。
- 估算网站大小
估算网站大小的一个简便方法是检查Google爬虫的结果。不过有时候对于大型网站谷歌的估算并不十分精准。
在域名后面添加URL路径, 可以对结果进行过滤,仅显示网站的某些部分。
- 使用builtwith识别网站所用技术
该python模块将URL作为参数,下载该URL并对其进行分析,然后返回该网站使用的技术。
使用pip安装
- 寻找网站所有者
使用python模块python-whois查看网站所有者。