Python如何查看网站的robots协议

在官网后缀添加robots.txt 网站的根路径/robots.txt

User-agent: * 
Disallow: /?* 
Disallow: /pop/*.html 
Disallow: /pinpai/*.html?* 
User-agent: EtaoSpider 
Disallow: / 
User-agent: HuihuiSpider 
Disallow: / 
User-agent: GwdangSpider 
Disallow: / 
User-agent: WochachaSpider 
Disallow: /

第一行*表示所有的,也就是说,对于所有的网络爬虫,它都定义为User-agent

意思就是说对于所有的网络爬虫,都应该遵守这个协议。

第二行什么意思呢?disallow表示不允许,?后面是*,表示?后面所有的东西,也就是说,它不允许任何爬虫访问任何以?开头的路径。

第三行表示任何爬虫都不允许访问pop/开头的路径。

第四行同理,符合这类的路径也不允许访问。

后面的又写了四个爬虫,EtaoSpider等等

他们被禁止的是根目录。这四种爬虫不允许爬取京东的任何资源。

也就是说这四种爬虫被京东定义为恶意爬虫,非法的获取过京东的资源,所以京东不允许这四类爬虫获取京东的任何资源了。

对于不遵守robots协议的爬虫,可能会存在法律风险。

不是所有网站都有robots协议,比如一些网站就没有robots协议,它就默认为所有网络爬虫都可以无限制的去爬取这个网站。

import requests

def getHTTPXML(url):
    try:
        r = requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return "产生异常"


if __name__ == "__main__":
    url = "https://www.taobao.com/robots.txt"
    print(getHTTPXML(url))

淘宝

Python如何查看网站的robots协议

 

 百度

Python如何查看网站的robots协议

 

上一篇:Python爬虫学习笔记(3)9.24


下一篇:[ABC216H] Random Robots