Robots协议是什么?
(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。百度官方建议,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。
如何查看网站的robots.txt文件?
1. 找到想要了解的网站,这里我以百度为例。打开百度官网:www.baidu.com。
2.在域名栏输入:www.baidu.com/robots.txt。回车进入
3.网站robots设置的蜘蛛访问权限:
“User-agent:”+蜘蛛爬虫代码,表示针对某个搜索引擎。Baiduspider表示百度蜘蛛、Googlebot表示谷歌爬虫、Baiduspider-image表示百度图片蜘蛛、Sosospider搜搜蜘蛛、Sogou web spider搜狗蜘蛛……
“User-agent: * ”表示针对所有搜索引擎。
“Disallow:”+文件夹/名 表示不被允许访问的页面或栏目页。
“Allow: ”+文件夹/名 表示被允许访问的页面或栏目页。
“Sitemap:”+ 网站地图 告诉爬虫这个页面是网站地图
网站地图(sitemap)
Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。
识别网站所用技术
可以使用python内的builtwith模块分析网站所用的技术
builtwith.parse('http : / /example . webscraping.com')
需找网站所有者
whois协议(读作“Who is”,非缩写)是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。
可以使用whois模块进行查找。
http请求返回错误列表
https://tools.ietf.org/html/rfc7231#section-6