遵守robots协议的友好爬虫

实验二 遵守 robots 协议的友好爬虫

实验目的

1.掌握robots协议的指向请求方式。

2.掌握指定网页robots协议的解析方式。

2.掌握robots协议中不同的useragent爬取给定的网站,并进行保存。

实验内容

  1. 对网址url=https://www.gov.cn/yaowen/liebiao/202502/content_7004472.htm进行robots协议的友好爬虫。

三、 程序代码及分步功能解析

import urllib.robotparser

import requests

#读取robots.txt文件

rp = urllib.robotparser.RobotFileParser()

rp.set_url("https://item.taobao.com/robots.txt")

rp.read()

useragent='Googlebot' #模拟Googlebot,能生成文件

#useragent='Baiduspider' #模拟Baiduspider,不能生成文件

url='https://www.gov.cn/yaowen/liebiao/202502/content_7004472.htm'

if rp.can_fetch(useragent, url):

print("允许抓取")

file=requests.get(url)

data=file.content #读取全部

fb=open("C:/Users/Administrator/Desktop/爬虫实践三/bd-html","wb") #将爬取的网页保存在本地

fb.write(data)

fb.close()

else:

print("不允许抓取")

四、程序调试结果

五、 实验总结

本次友好爬虫实验基于 urllib.robotparser 与 requests 库实现,核心验证了遵守 robots 协议的合规爬取流程。实验中,首先通过 RobotFileParser 解析网站 robots.txt 文件,分别以 "Googlebot" 和 "Baiduspider" 为模拟 User - Agent,判断目标政府网站文章 URL 的爬取权限,结果显示仅 "Googlebot" 获允抓取;获允后通过 requests.get () 获取网页内容,以二进制形式保存至本地指定路径,成功完成合规数据采集。此次实验直观呈现了 robots 协议的权限管控逻辑,验证了模拟合规 User - Agent、先校验权限再爬取的操作流程可行性,既保障了爬取行为的合法性,也为基础友好爬虫的开发与实践积累了关键经验。

相关推荐
a1117763 小时前
医院挂号预约系统(开源 Fastapi+vue2)
前端·vue.js·python·html5·fastapi
0思必得03 小时前
[Web自动化] Selenium处理iframe和frame
前端·爬虫·python·selenium·自动化·web自动化
一匹电信狗3 小时前
【LeetCode_547_990】并查集的应用——省份数量 + 等式方程的可满足性
c++·算法·leetcode·职场和发展·stl
鱼跃鹰飞4 小时前
Leetcode会员尊享100题:270.最接近的二叉树值
数据结构·算法·leetcode
梵刹古音5 小时前
【C语言】 函数基础与定义
c语言·开发语言·算法
编程彩机5 小时前
互联网大厂Java面试:从Java SE到大数据场景的技术深度解析
java·大数据·spring boot·面试·spark·java se·互联网大厂
摘星编程5 小时前
OpenHarmony + RN:Calendar日期选择功能
python
筵陌5 小时前
算法:模拟
算法
Yvonne爱编码5 小时前
JAVA数据结构 DAY3-List接口
java·开发语言·windows·python
一方_self5 小时前
了解和使用python的click命令行cli工具
开发语言·python