使用requests库和urlretrieve下载pdf文件
off999 2025-06-10 17:24 33 浏览 0 评论
一、代码如下:
import requests #导入请求库
from urllib.request import urlretrieve #从urllib.request导入下载函数urlretrieve
import re,time #导入正则库和时间库
from lxml import etree #从lxml导入etree类
def gethtml(): #定义函数gethtml用来下载pdf文件
url="http://www.gov.cn/zhengce/pdfFile/downloadFile.htm" #设置请求网址
headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
} #设置请求头headers
response=requests.get(url,headers=headers) #通过headers伪装对网站url进行get请求,并将响应内容赋值给response变量
response.encoding=response.apparent_encoding #根据网页内容解析出网页的编码格式并赋值给响应的编码变量response.encoding
html=response.text #将网页的相应的文本内容赋值给html
html=etree.HTML(html) #对html构造了一个XPath解析对象并对自动修正并赋值给html
result=html.xpath('//tbody/tr') #使用xpath找到tr标签并赋值给result
urllist=[] #定义接收网址的空列表urllist
for info in result: #遍历result里的变量info
try: #尝试操作
urllist.append("http://www.gov.cn"+info.xpath('./td[2]/a/@href')[-1]) #将解析到的td标签的href属性值的最后一个元素与"http://www.gov.cn"相加并添加到列表urllist中
except: #当接收到错误时,
continue #继续执行
# print(urllist)
for downurl in urllist: #遍历urllist列表中的网址downurl
urlretrieve(downurl,"E://IT/PYthon/PYTHON试验/gov/"+downurl.split("/")[-1]) #下载网址downurl,并保存到本机的E://IT/PYthon/PYTHON试验/gov/文件夹下面,文件名用下载网址的最后切割的名称
print("E://IT/PYthon/PYTHON试验/gov/"+downurl.split("/")[-1]+"下载成功") #打印下载成功
time.sleep(0.1) #每执行一次下载休眠0.1秒
gethtml() #调用gethtml函数
二、代码运行结果如下:
E://IT/PYthon/PYTHON试验/gov/PDF_ALL.zip下载成功
E://IT/PYthon/PYTHON试验/gov/2020_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2019_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2018_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2017_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2016_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2015_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2014_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2013_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2012_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2011_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2010_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2009_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2008_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2007_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2006_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2005_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2004_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2003_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2002_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2001_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/2000_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1999_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1998_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1997_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1996_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1995_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1994muLu.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1994_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1993_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1992muLu.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1992_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1991_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1990_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1989_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1988_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1987_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1986_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1985_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1984_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1983_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1982_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1981_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1980_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1979_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1978_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1973_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1971_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1970_PDF.pdf下载成功
E://IT/PYthon/PYTHON试验/gov/1969_PDF.pdf下载成功
三、代码和代码运行结果如下图所示:
最终保存到本机的数据如下图所示:
相关推荐
- 三国战纪街机版下载(三国战纪街机版下载教程)
-
三国战纪单机手机版非常容易上手,可以通过以下步骤进行玩耍:容易上手。游戏的操作非常简单,只需要用手指点击屏幕即可完成。游戏同时提供了简单、普通、困难等多个难度设置,能够满足不同玩家的需求。在游戏中,玩...
- 永久免费的网盘哪个好用(百度网盘登录入口)
-
现在的网盘很多都是免费的哦,而且也很安全,我自己就在用天翼云网盘。天翼云虽然刚登陆是15G,但是现在登陆客户端就有10T的容量了,可以存很多东西了。天翼云网盘还有个挺好的功能叫做私密空间,每次登陆都要...
- 热血传奇官方正版下载(热血传奇官网下载安装)
-
1.可以通过官方网站或者应用商店下载热血传奇。2.热血传奇作为一款热门的网络游戏,开发商通常会提供官方网站或者在应用商店上架,方便玩家下载和安装。3.此外,还可以通过一些第三方游戏平台或者论坛等...
- 经典老歌500首铃声(免费设为铃声的歌曲)
-
许慧欣七月七日晴黄格选春水流任贤齐沧海一声笑杨培安我相信邓丽君路边的野花不要采乌兰托娅套马杆索朗扎西姑娘我爱你刀郎情人西域刀郎寻找玛依拉林依轮透过开满鲜花的月亮...
- 网页黄冈大推广(黄冈宣传)
-
意思是职称通过了最终审核,已被批准,也就意味着职称稳了,可以享受其相应的待遇了。职称,指教授,讲师,中级,高级等专业技术等级。终审,指最终审核。通过,指批准了。职称终审通过多指工作在技术,学术行业领城...
- 可以插二次元角色的游戏ios(二次元插图软件)
-
决战平安京,和光影对决,就是二次元moba游戏其中决战平安京的画质什么的,个人感觉更好~推荐“影视大全-人人美剧视频影视大全苹果版App”。这是一款资源最全的影视苹果端追剧应用,汇聚全网电影、电视剧、...
-
- 手机字体上面带拼音(手机字体上面带拼音怎么取消)
-
通过修改手机中的字体来设置的,方法如下(以华为mate8手机为例):1、首先,在华为手机上找到系统自带的主题的应用软件,并点击打开它。2、然后,在打开的主题界面点击底部的字体的标签栏目。3、接着,在字体的界面上方的搜索框中输入“拼音”,并进...
-
2026-02-03 22:51 off999
- 国内国外精品影视网站(国外影视网站排行)
-
影视大全强烈推荐的视频app影视大全。是一款作品非常多,大多数都是免费,无广告,无弹窗。它上面也实时更新一些影视作品。有一些在其他影视app中搜索不到,或者收费的作品,在他上面,都是免费的。同时呢,这...
- 2345网址导航官网(2345网址导航官网官方下载)
-
搜了好多办法,修改主页,修改host文件,查找注册表。最后我的解决方案是:删除可能携带病毒的软件,修改浏览器主页,(此时chrome浏览器的主页依然是2345),然后新建一个chrome的快捷方式替...
- 掼蛋app下载(掼蛋app下载第一名)
-
打开手机的“应用商店”然后再里面下载,可以试一下竞技掼蛋。很正宗的本地掼蛋。你说的应该是网络版的芜湖掼蛋下载吧。我一直在玩的是958游戏里面的,是完全照搬实体掼蛋的,所以还是挺好玩的,经常一个人没事...
- 主题桌面免费(桌面主题免费版)
-
如果您想购买华为主题桌面,您可以按照以下步骤进行操作:1.打开华为手机的应用商店,即华为应用市场。2.在应用商店中搜索"华为主题桌面"。3.找到适合您的主题桌面应用,并点击进入应...
- win10专业版激活工具(win10专业版激活工具小马)
-
win10系统使用激活工具激活的方法有多种,以KMSTools(Win10激活工具)为例,步骤如下:下载“KMSTools(Win10激活工具)”并安装。打开KMSTools,点击主界面上列出的...
- ps3模拟器(ps3模拟器下载手机版)
-
PS3模拟器可以玩许多PS3平台上的游戏,包括《合金装备4:爱国者》、《最后生还者》、《战神3》等。PS3模拟器的配置要求较高,通常需要一台性能较好的电脑或笔记本电脑。最低配置要求可能包括:64位操作...
- pp助手官网苹果版下载安装(pp助手iphone版官方下载)
-
越狱后安装PP助手1、越狱后选择Cydia,打开。2、直接点击进入下方的“管理”。3、再点击“软件源”,进入。4、点击右上角“编辑”。5、再打开左上角“添加”6、输入PP手机助手的源:apt.2...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
16949认证费用是多少(16949审核员太难考了)
-
linux软件(linux软件图标)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
