遵守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、先校验权限再爬取的操作流程可行性,既保障了爬取行为的合法性,也为基础友好爬虫的开发与实践积累了关键经验。

相关推荐
小白羊丨7 小时前
如何诊断 Prompt 模板导致的效果下降?
人工智能·算法·prompt
迷迭香yy8 小时前
基金档案数据工程实战从收入分析到持仓穿透的Python解析 IG50免费开源股票数据API接口
开发语言·python
清水白石0088 小时前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
️学习的小王8 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
OPEN-F9 小时前
C++11/14新特性精讲:移动语义与智能指针实战
开发语言·c++·算法
前端 贾公子9 小时前
第09章:上下文与记忆 (6)
开发语言·前端·python
evans在进步9 小时前
Java 常用设计模式入门:建造者、工厂、单例、外观与代理
java·python·设计模式
lisin-lee-cooper9 小时前
【leetcode658】有序数组找出k个最接近x的数
java·数据结构·算法
sunburn-9 小时前
Java堆(Heap)详解与实战教学
java·开发语言·数据结构·ide·算法
南梦浅9 小时前
GitLab 企业级实操手册:从基础命令到生产环境安全回退(revert 完整流程)
大数据·elasticsearch·搜索引擎