robots.txt与sitemap

import urllib.robotparser as urobot
import requests

url="https://www.taobao.com"
rp=urobot.RobotFileParser()
rp.set_url(url+'/robots.txt')
rp.read()
user_agent='Baiduspider'
if rp.can_fetch(user_agent,'http://www.taobao.com/product/'):
    site = requests.get(url)
    print('try victory')
else:
    print('cannot scrap because robots.text banned you')

做一次robot.txt的尝试。先创建一个rp对象并且作为RobotFileParser对象,rp.set_url()即在成为rfp对象后给这个对象set_url,之后可直接read。
使用了一个rp.can_fetch(agent, url) ,返回布尔值。
真正实现时,应加一个循环语句来不断检测新的网页,类似于

for i in urls:
	try:
		ir rp.can_fetch('*',newurl):
			site = urllib.request.urlopen(newyrl)  #在fetch成功时,开始爬取
			...
		except:
			...

站点地图Sitemap是robots.txt有时会定义的,他在SEO search engine optimization 搜索引擎优化 中扮演了重要角色。
Sitemap有助于访问者或搜索引擎爬虫快速找到网站中某个页面。

你可能感兴趣的:(python)