欢迎访问宙启技术站
智能推送

使用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文档,并将标题、段落和图片添加到文档中。最后,将文档保存在当前目录中,并输出一条消息表示转换完成。

请注意,此例子仅提供了基本的示例,可以根据需要对代码进行进一步的修改和优化,以适应不同的网页结构和内容提取要求。