Python3 urllibrobotparser — 互联网爬虫访问控制
from urllib.request import urlopen
from urllib.robotparser import RobotFileParser
# 初始化RobotFileParser实例
rp = RobotFileParser()
# 解析指定网站的robots.txt文件
rp.set_url("http://www.example.com/robots.txt")
rp.read()
# 检查是否允许爬取特定的网页
url = "http://www.example.com/somepage.html"
allowed = rp.can_fetch("Your-User-Agent", url)
if allowed:
# 如果允许爬取,则获取网页内容
response = urlopen("http://www.example.com/somepage.html")
print(response.read())
else:
print("爬取被禁止")
这段代码使用了urllib
库中的RobotFileParser
类来检查是否允许爬取指定网站的页面。首先,我们创建了一个RobotFileParser
实例,然后解析了网站的robots.txt
文件。随后,我们使用can_fetch
方法检查是否允许根据User-Agent
抓取特定的URL。如果允许,我们就使用urlopen
获取页面内容;如果不允许,我们输出相应的消息。这个例子展示了如何遵守网站的访问控制规则,是一个良好的爬虫实践。
评论已关闭