python爬虫可以使用模块去访问一个网站并且抓取到这个网站的数据 , 那么就有小伙伴想要知道python如何去将url链接里面的pdf文件给下载下来 。这一篇文章所要来介绍的内容就是python下载链接里pdf文件的详细教程和代码示例 , 往下看看吧 。
文章插图
带有pdf文件的链接本质上还是一个可以在浏览器里面所打开的网址 , 不过将这个网址打开之后弹出来的是一个下载请求而已 , 那只要是链接就可以通过python的requests库去访问它 。
1.这个下载链接里pdf文件的方法需要用到io和requests两个模块 , 将这个两个模块在python程序之中导入之后 。首先需要做的就是设置一下访问这个链接的请求头信息 , 这样就可以绕过绝大多数的网络请求验证 。
【Python怎么下载链接里的PDF?Python如何下载PDF文件】2.然后调用requests的get()方法去访问这个链接并将请求头信息也带过去 , 因为这个链接本质上就是一个保存了pdf文件的网页 , 所以会将这个pdf文件的数据给抓取回来 。
3.数据抓取回来之后调用io模块将它转为二进制字节流形式保存起来 , 之后将文件名和文件的保存路径设置好就调用文件的写入方法将二进制字节流转码后写入到新的pdf文件中并保存 。这样就完成了一个pdf文件的下载 , 代码示例如下:
import ioimport requestsdef download_pdf(save_path,pdf_name,pdf_url): send_headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36", "Connection": "keep-alive", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "Accept-Language": "zh-CN,zh;q=0.8"} response = requests.get(pdf_url, headers=send_headers) bytes_io = io.BytesIO(response.content) with open(save_path + "%s.PDF" % pdf_name, mode='wb') as f: f.write(bytes_io.getvalue()) print('%s.PDF,下载成功!' % (pdf_name))if __name__ == '__main__': save_path = 'D:/Program/项目/年报/' pdf_name='报告' pdf_url="http://static.cninfo.com.cn/finalpage/3892.PDF"download_pdf(save_path, pdf_name, pdf_url)以上就是关于“Python怎么下载链接里的PDF?Python如何下载PDF文件”的全部内容了 , 希望对你有所帮助 。
推荐阅读
- Python怎么卸载残留文件?Python残留文件如何删除
- Python怎么定义数组?Python定义数组要用什么模块
- Python安装慢怎么办?Python安装包很慢如何解决
- 什么是python的关键字?python有哪些关键字?
- Python之中的xor是什么意思?Python运算符xor详解
- Python怎么连接数字和字符串?Python字符串数字连接方法
- Python设置环境变量有什么用?Python怎么设置环境变量
- 如何获取Python打开图片的大小?Python怎么得到图片分辨率
- 安装anaconda后怎么安装第三方模块?这篇文章必看
- Java可以转Python吗?Java转Python有多难