python脚本将网页转为pdf
时间: 2024-09-12 20:17:07 浏览: 43
Python将txt文件转成pdf文件
在Python中,有一些库可以用来将网页转换成PDF文件,其中最常用的是`pdfkit`和`selenium`结合`weasyprint`。以下是基本步骤:
1. **安装所需库**:
首先需要安装`pip`包管理器,然后安装相应的库:
```
pip install pdfkit weasyprint selenium pillow
```
2. **使用`pdfkit`和`requests`下载HTML内容**:
如果你只需要静态的HTML内容,可以使用`requests`库获取网页源码,然后传递给`pdfkit.from_url`函数生成PDF:
```python
import requests
from pdfkit import from_url
url = 'https://example.com'
html_content = requests.get(url).text
output_path = 'output.pdf'
from_url(url, output_path)
```
3. **利用`selenium`+`weasyprint`处理动态内容**:
对于有交互元素或动态加载内容的网页,可以使用selenium浏览器驱动模拟用户行为,再通过`weasyprint`渲染到PDF:
```python
from selenium import webdriver
from weasyprint import HTML
driver = webdriver.Firefox() # 或者其他浏览器,如Chrome
driver.get(url)
html_content = driver.page_source
driver.quit()
pdf = HTML(string=html_content).write_pdf()
with open('output.pdf', 'wb') as f:
f.write(pdf)
```
4. **关闭页面资源**:
确保在完成操作后关闭所有打开的文件和浏览器窗口。
阅读全文