在官网后缀添加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))
淘宝
百度