python - 有没有办法将两个不同的 Python 文件复合到一个 Docx 文档中提取?
问题描述
我有两个不同的 Python 文件。他们每个人都会从网站上抓取一些数据,然后将数据打印到 docx 文件中。但是,我想将它们复合并将所有数据打印到一个 docx 文件中。例如:
来自文件 1 的标题 来自文件 1 的数据 来自文件 1 的数据
来自文件 2 的标题 来自文件 2 的数据 来自文件 2 的数据
它们应该在同一个文档中,但我真的想不通..我是一个完全的初学者,你能告诉我怎么做吗?我真的很感激。提前感谢您的所有帮助。
以下是代码:
代码1:
from bs4 import BeautifulSoup
from docx import Document
from docx.shared import Pt
import requests
user_agent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.``3945.88 Safari/537.37"
url = "https://www.brookings.edu/events/"
data = requests.get(url, headers={"User-Agent": user_agent})
soup = BeautifulSoup(data.text, "lxml")
document = Document()
heading = document.add_heading().add_run("Brookings Institute")
heading.font.name = "Cambria"
heading.font.size = Pt(14)
events = soup.find_all("article", class_ = "archive-view archive-event event-standard-view past")
for event in events:
event_name = event.find("h4", class_ = "title")
link = event.find("a", class_ = "event-content")
try:
print(event_name.text)
document.add_paragraph(event_name.text, style='List Bullet')
print(link['href'])
document.add_paragraph(link['href'])
except:
continue
document.save('demo.docx')
代码2:
from bs4 import BeautifulSoup
from docx import Document
from docx.shared import Pt
import requests
url = 'https://www.newamerica.org/api/event/?time_period=past&page_size=12&page=1&story_image_rendition=small'
r = requests.get(url)
data = r.json()
document = Document()
heading = document.add_heading().add_run("New America")
heading.font.name = "Cambria"
heading.font.size = Pt(14)
for i in data['results']:
title = i['title']
link = i['url']
try:
print(f'Title: {title}\nURL: {link}\n\n')
document.add_paragraph({title}, style='List Bullet')
document.add_paragraph({link}, style='List Bullet')
except:
continue
document.save('demo.docx')
解决方案
重构:
伪代码:
Imports
Create document
Get info from site 1
Put info from site 1 in document
Get info from site 2
Put info from site 2 in document
Write document
推荐阅读
- c# - Unity 与 ARKit - 启动屏幕显示真的很长时间?
- cuda - 带有 CUDA_CUB 的 dot_product
- jquery - 您是否应该在 Angular 2 项目中使用 jquery
- python - 如何找到包/功能?
- c# - 如何将“Location.X”与变量绑定?
- javascript - 如何从php获取数据到jquery
- .net - 通过 VSTS 迁移 .NET Core EF
- javascript - v 1.7.2 和 v 2.3.1 之间的“containsPoint”差异
- dart - 在地图 dart2 中搜索,与 list.indexOf 相同?
- jquery - 如何获取 data-id Laravel 的值