You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用BeautifulSoup将每篇文章导出至独立Word文件?

将抓取的文章逐个导出为独立Word文件的解决方案
  • 首先安装生成Word文件所需的依赖库:

    pip install python-docx requests beautifulsoup4
    
  • 修改后的完整代码,包含Word生成、文件名处理和异常容错:

    import requests
    from bs4 import BeautifulSoup
    import time
    from docx import Document
    import re
    
    # 清理文件名中的非法字符
    def sanitize_filename(filename):
        return re.sub(r'[\\/*?:"<>|]', '', filename)
    
    # 遍历所有目标页面
    for i in range(1, 199):
        URL = "https://trumpwhitehouse.archives.gov/remarks/page/"
        r = requests.get(URL + str(i))
        soup = BeautifulSoup(r.content, 'lxml')
    
        # 提取当前页面的所有文章链接
        links = []
        for news in soup.findAll('h2', class_='briefing-statement__title'):
            links.append(news.a['href'])
    
        # 逐个处理文章链接,生成独立Word文件
        for link in links:
            try:
                page = requests.get(link)
                page.raise_for_status()  # 捕获HTTP请求错误
                sp = BeautifulSoup(page.text, "lxml")
                
                # 获取文章标题作为文件名
                title = sp.find("h1", class_="page-title").get_text(strip=True)
                safe_title = sanitize_filename(title)
                
                # 提取文章正文段落
                article_paras = sp.find("div", class_="page-content").find_all("p")
                
                # 创建Word文档并写入内容
                doc = Document()
                doc.add_heading(title, level=1)
                for para in article_paras:
                    para_text = para.get_text(strip=True)
                    if para_text:  # 跳过空段落
                        doc.add_paragraph(para_text)
                
                # 保存文档
                doc.save(f"{safe_title}.docx")
                print(f"已生成文件:{safe_title}.docx")
                
                time.sleep(1)  # 单篇文章处理后短暂休眠
            except Exception as e:
                print(f"处理链接 {link} 失败:{str(e)}")
                continue
    
        time.sleep(3)  # 每页处理后休眠
    
  • 核心改动说明:

    • 引入python-docx库实现Word文档的创建与保存
    • 新增文件名清理函数,避免标题中的特殊字符导致保存失败
    • 以文章标题作为文件名,保证文件的辨识度
    • 添加异常捕获逻辑,单个链接出错不会中断整个爬取流程
    • 过滤空段落,优化生成的Word文档内容质量
    • 细化休眠策略,降低被反爬机制拦截的风险

内容的提问来源于stack exchange,提问作者usman Abbasi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 13:41:13