使用Python的Word()类将网页内容转换为Word文档
发布时间:2023-12-28 22:27:57
使用Python的docx库中的Word()类可以将网页内容转换为Word文档。以下是一个例子,该例子演示了如何从网页中提取文本和图片,并将其保存为Word文档。
首先,确保已经安装了docx库。可以使用以下命令安装docx库:
pip install python-docx
接下来,导入所需的库和模块:
import requests from bs4 import BeautifulSoup from docx import Document from docx.shared import Inches
然后,定义一个函数来从网页中提取文本和图片:
def extract_content(url):
# 发送请求获取网页内容
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# 创建一个Word文档
doc = Document()
# 提取标题
title = soup.title.string
doc.add_heading(title, level=1)
# 提取段落
paragraphs = soup.find_all('p')
for p in paragraphs:
doc.add_paragraph(p.get_text())
# 提取图片
images = soup.find_all('img')
for img in images:
img_url = img['src']
response = requests.get(img_url)
img_data = response.content
doc.add_picture(BytesIO(img_data), width=Inches(4))
# 保存文档
doc.save("web_content.docx")
print("转换完成!")
最后,调用函数并传入要提取内容的网页URL:
url = "http://www.example.com" extract_content(url)
在上面的例子中,我们首先获取网页的内容,然后使用BeautifulSoup库解析网页。接下来,我们创建一个新的Word文档,并将标题、段落和图片添加到文档中。最后,将文档保存在当前目录中,并输出一条消息表示转换完成。
请注意,此例子仅提供了基本的示例,可以根据需要对代码进行进一步的修改和优化,以适应不同的网页结构和内容提取要求。
