使用 Python 将基于 pdf 的网页下载为 pdf

Posted

技术标签:

【中文标题】使用 Python 将基于 pdf 的网页下载为 pdf【英文标题】:Downloading a pdf based webpage as pdf using Python 【发布时间】:2019-09-11 06:27:59 【问题描述】:

Here 提供了一种将网页下载为 pdf 的方法,该方法有效。

但是,我感兴趣的网站本身也显示一个pdf,所以这个方法不起作用。例如,this 页面。这些网址有什么特定的吗?

当我使用上面分享的帖子时,我收到以下错误:

OSError: wkhtmltopdf reported an error:
Loading pages (1/6)
Error: Failed loading page http://curia.europa.eu/juris/showPdf.jsf;jsessionid=CAE85693A88870E357F61ED4344FD7E9?text=&docid=62809&pageIndex=0&doclang=EN&mode=lst&dir=&occ=first&part=1&cid=2878455 (sometimes it will work just to ignore this error with --load-error-handling ignore)
Exit with code 1, due to unknown error.

【问题讨论】:

【参考方案1】:

requests 包的或多或少的基本用法将在这里帮助您。 (这只是对结果进行分块有点花哨。)

import requests
outpath = './out.pdf'
url = r"""http://curia.europa.eu/juris/showPdf.jsf;jsessionid=03B8AD93D8D1B1FBB33A15FDA3774709?text=&docid=62809&pageIndex=0&doclang=EN&mode=lst&dir=&occ=first&part=1&cid=2874259"""
r = requests.get(url, stream=True)
if r.status_code == 200:
    with open(outpath, 'wb') as f:
        for chunk in r.iter_content(1024):
            f.write(chunk)

有关请求的更多乐趣,请参阅:https://2.python-requests.org//en/master/

【讨论】:

是的,而且运行速度非常快!我在一分钟内迭代了 200 多页。谢谢!

以上是关于使用 Python 将基于 pdf 的网页下载为 pdf的主要内容,如果未能解决你的问题,请参考以下文章

网页中pdf如何下载

如何将网页保存为PDF文件

在 chrome 中自动打印/保存网页为 pdf - python 2.7

360浏览器打印网页输出为pdf文件怎么设置

方法:python-pdfkit 将网页(JS生成)转换为PDF

Python抓取网页并保存为PDF