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

无法使用BeautifulSoup或LXML解析HTML并提取内容,寻求技术帮助

别发愁啦,我帮你搞定这个HTML解析的问题!针对你给出的这段HTML结构,不管用BeautifulSoup还是lxml都能轻松提取到你想要的内容,下面给你具体的实现步骤:

使用BeautifulSoup提取内容

首先确保你已经安装了BeautifulSoup库(如果没装的话,用pip install beautifulsoup4安装就行),然后用下面的代码来提取内容:

from bs4 import BeautifulSoup

# 把你的HTML内容放这里
html_content = """
<li class="context-card"> <div class="episode" data-id="t1"> <span class="av-play">Title to scrape</span> </div> </li> 
<li class="context-card"> <div class="episode" data-id="t2"> <span class="av-play">Title2 to scrape</span> </div> </li> 
<li class="context-card"> <div class="episode" data-id="t3"> <span class="av-play">Title3 to scrape</span> </div> </li>
"""

# 初始化解析对象
soup = BeautifulSoup(html_content, 'html.parser')

# 遍历每个卡片,提取data-id和标题
for card in soup.find_all('li', class_='context-card'):
    episode_div = card.find('div', class_='episode')
    # 获取data-id属性值
    data_id = episode_div.get('data-id')
    # 提取标题文本,strip()去掉多余空格
    title = episode_div.find('span', class_='av-play').get_text(strip=True)
    print(f"Data ID: {data_id}, 标题: {title}")

这段代码会逐个遍历每个context-card标签,把对应的data-id和标题文本都提取出来,输出结果一目了然。

使用lxml提取内容

如果你更习惯用lxml,先安装库(pip install lxml),然后试试这段代码:

from lxml import etree

# 你的HTML内容
html_content = """
<li class="context-card"> <div class="episode" data-id="t1"> <span class="av-play">Title to scrape</span> </div> </li> 
<li class="context-card"> <div class="episode" data-id="t2"> <span class="av-play">Title2 to scrape</span> </div> </li> 
<li class="context-card"> <div class="episode" data-id="t3"> <span class="av-play">Title3 to scrape</span> </div> </li>
"""

# 解析HTML
tree = etree.HTML(html_content)

# 用XPath定位元素,提取内容
results = tree.xpath('//li[@class="context-card"]/div[@class="episode"]')
for result in results:
    data_id = result.get('data-id')
    # 提取span里的文本,strip()清理空格
    title = result.xpath('.//span[@class="av-play"]/text()')[0].strip()
    print(f"Data ID: {data_id}, 标题: {title}")

这里用XPath语法直接定位到目标元素,逻辑和BeautifulSoup类似,同样能精准提取你需要的内容。

如果你的实际HTML还有更复杂的嵌套,只需要微调选择器或者XPath路径就可以啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:13:11