gpt4 book ai didi

python - 使用 lxml 解析 HTML 数据

转载 作者:行者123 更新时间:2023-11-28 20:10:11 24 4
gpt4 key购买 nike

我是编码初学者,我的一个 friend 告诉我使用 BeautifulSoup 而不是 htmlparser。在遇到一些问题后,我得到了使用 lxml 而不是 BeaytifulSoup 的提示,因为它好 10 倍。

我希望有人能给我提示如何抓取我正在寻找的文本。

我想要的是找到一个包含以下行和数据的表:

<tr>
<td><a href="website1.com">website1</a></td>
<td>info1</td>
<td>info2</td>
<td><a href="spam1.com">spam1</a></td>
</tr>
<tr>
<td><a href="website2.com">website2</a></td>
<td>info1</td>
<td>info2</td>
<td><a href="spam2.com">spam2</a></td>
</tr>

如何使用 lxml 抓取信息 1 和 2 的网站,没有垃圾邮件,并获得以下结果?

[['url' 'info1', 'info2'], ['url', 'info1', 'info2']]

最佳答案

import lxml.html as lh

tree = lh.fromstring(your_html)

result = []
for row in tree.xpath("tr"):
url, info1, info2 = row.xpath("td")[:3]
result.append([url.xpath("a")[0].attrib['href'],
info1.text_content(),
info2.text_content()])

结果:

[['website1.com', 'info1', 'info2'], ['website2.com', 'info1', 'info2']]

关于python - 使用 lxml 解析 HTML 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8635903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com