Python教程

Python如何查看网站的robots协议

本文主要是介绍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协议的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!