爬虫学习-第五篇

首先感谢崔庆才博主的文章,以下信息都是在其文章与《python3网络爬虫开发实战》书中摘抄出的https://cuiqingcai.com

"""
Version: 0.1
Author: freshbin
Date: 2019年8月23日
"""

print("=================================分析Robots协议 start================================================")

'''
爬虫访问一个站点时,首先会检查是否存在robots.txt文件,
如果存在,则根据其中定义的爬取范围来爬取
如果不存在,则访问所有可直接访问的页面
robots.txt样例如下
User-agent: *
Disallow: /
Allow: /public/
表示只允许爬取public目录的功能
User-agent描述了搜索爬虫的名称,设置为*表示该协议对任何爬取爬虫有效
比如设置User-agent:Baiduspider
表示设置的规则对百度爬虫是有效的。
Disallow指定了不允许抓取的目录,比如设置为/表示不允许抓取所有页面
Allow一般和Disallow一起使用,一般不会单独使用,用来排除某些限制,
设置为/public/,表示所有页面不允许抓取,但可以抓取public目录
禁止所有爬虫访问网站某些目录的代码如下:
User-agent: *
Disallow: /private/
Disallow: /tmp/
只允许某一个爬虫访问的代码如下:
User-agent: WebCrawler
Disallow: 
User-agent: *
Disallow: /
'''

from urllib.robotparser import RobotFileParser
from urllib.request import urlopen

# rp = RobotFileParser('http://www.jianshu.com/robots.txt')
# rp.set_url('http://www.jianshu.com/robots.txt')
# rp.read()

rp = RobotFileParser()
rp.parse(urlopen('https://www.baidu.com/robots.txt').read().decode('utf-8').split('\n'))

print(rp.can_fetch('*', 'https://www.baidu.com'))
print(rp.can_fetch('*', 'https://www.baidu.com/search?q=python'))

print("=================================分析Robots协议 end================================================")

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值