python帮忙写一段执行代码时先弹窗让用户批量输入链接,然后把批量导入的链接导出对应的pdf文档并保存到本地
时间: 2023-03-24 15:04:55 浏览: 72
你好,我可以回答这个问题。以下是一段 Python 代码,可以实现弹窗让用户批量输入链接,然后将批量导入的链接导出对应的 PDF 文档并保存到本地:
```python
import PySimpleGUI as sg
import requests
from bs4 import BeautifulSoup
from fpdf import FPDF
# 创建 PDF 对象
pdf = FPDF()
# 创建 GUI 窗口
layout = [[sg.Text('请输入链接:')],
[sg.Multiline(size=(50, 10), key='-LINKS-')],
[sg.Button('生成 PDF'), sg.Button('退出')]]
window = sg.Window('批量生成 PDF', layout)
# 事件循环
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED or event == '退出':
break
elif event == '生成 PDF':
# 获取链接列表
links = values['-LINKS-'].split('\n')
# 遍历链接列表,生成 PDF 文档
for link in links:
# 获取网页内容
response = requests.get(link)
soup = BeautifulSoup(response.content, 'html.parser')
# 获取标题和正文
title = soup.find('title').text.strip()
content = soup.find('body').text.strip()
# 添加页面
pdf.add_page()
pdf.set_font('Arial', 'B', 16)
pdf.cell(, 10, title, , 1)
pdf.set_font('Arial', '', 12)
pdf.multi_cell(, 10, content)
# 保存 PDF 文档
pdf.output('output.pdf')
# 提示保存成功
sg.popup('PDF 文档已保存到本地!')
# 关闭窗口
window.close()
```
希望这个代码对你有所帮助!
阅读全文