优草派  >   Python

Python怎么下载链接里的PDF?Python如何下载PDF文件

罗西汉            来源:优草派

python爬虫可以使用模块去访问一个网站并且抓取到这个网站的数据,那么就有小伙伴想要知道python如何去将url链接里面的pdf文件给下载下来。这一篇文章所要来介绍的内容就是python下载链接里pdf文件的详细教程和代码示例,往下看看吧。

Python怎么下载链接里的PDF?Python如何下载PDF文件

带有pdf文件的链接本质上还是一个可以在浏览器里面所打开的网址,不过将这个网址打开之后弹出来的是一个下载请求而已,那只要是链接就可以通过python的requests库去访问它。

1.这个下载链接里pdf文件的方法需要用到io和requests两个模块,将这个两个模块在python程序之中导入之后。首先需要做的就是设置一下访问这个链接的请求头信息,这样就可以绕过绝大多数的网络请求验证。

2.然后调用requests的get()方法去访问这个链接并将请求头信息也带过去,因为这个链接本质上就是一个保存了pdf文件的网页,所以会将这个pdf文件的数据给抓取回来。

3.数据抓取回来之后调用io模块将它转为二进制字节流形式保存起来,之后将文件名和文件的保存路径设置好就调用文件的写入方法将二进制字节流转码后写入到新的pdf文件中并保存。这样就完成了一个pdf文件的下载,代码示例如下:

import io
import requests
def 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文件”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行