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

如何用Python和Pandas逐行解析并导出网页圣经内容?

解决方案

首先确保你已经安装所需依赖:

pip install requests beautifulsoup4 pandas

下面是修改后的完整代码,可单独提取章节标题、每节经文并按要求导出CSV:

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 目标URL
url = "https://www.bibliaonline.com.br/ara/mt/1"

# 获取页面内容
response = requests.get(url)
response.encoding = 'utf-8'  # 确保编码正确,避免乱码
soup = BeautifulSoup(response.text, 'html.parser')

# 提取章节标题(若页面结构变动,需右键检查元素调整标签/类名)
chapter_title = soup.find('h2', class_='chapter-title').get_text(strip=True)

# 提取所有经文条目
verses = soup.find_all('p', class_='verse')

# 构造数据列表:标题单独一行,每节经文各一行
data = []
# 添加章节标题记录
data.append({"内容": chapter_title, "类型": "章节标题"})
# 添加每节经文记录
for verse in verses:
    verse_text = verse.get_text(strip=True)
    data.append({"内容": verse_text, "类型": "经文"})

# 转成DataFrame并导出CSV
df = pd.DataFrame(data)
df.to_csv("biblia_mateus_capitulo1.csv", index=False, encoding='utf-8-sig')
print("导出完成,文件已保存为 biblia_mateus_capitulo1.csv")

关键修改说明:

  • 拆分记录:不再把所有内容合并,而是将章节标题、每节经文分别作为独立条目存入列表,确保CSV每行对应一条记录
  • 编码处理:用utf-8-sig编码导出,避免中文乱码问题
  • 类型标记:新增"类型"字段,方便区分标题和经文(可根据需求删除)

注意事项:

  • 如果网站有反爬限制,需给requests.get添加请求头,示例:
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"}
    response = requests.get(url, headers=headers)
    
  • 若页面结构更新,需重新检查元素的标签或类名,调整find/find_all的参数

内容的提问来源于stack exchange,提问作者Heitor Rocha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:31:18