gpt4 book ai didi

python - 使用 Beautiful Soup 提取特定列表项

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

我正在使用 Python 和 Beautiful Soup 开发一个网络爬虫项目。请查看我遇到问题的 HTML 代码部分。由于所有 <li> <ul> 中的项目<div> 具有相同的类名和 <span> ,如何提取电话号码,即第二个值 <span>在第三个 <li>元素?

我可以提取 <ul>使用 ad_soup.find("ul",{"class":"Menu"}) 标记及其内容,但我不知道之后如何进行。任何帮助将不胜感激。

<ul class="Menu">
<li>
<div class="item">
<span class="name">Name:</span>
<span class="value">....</span>
</div>
</li>
<li>
<div class="item">
<span class="name">Location:</span>
<span class="value">....</span>
</div>
</li>
<li>
<div class="item">
<span class="name">Phone:</span>
<span class="value">....</span>
</div>
</li>
</ul>

最佳答案

如果您知道电话始终是第三元素,以下内容应该有所帮助:

(ad_soup.find("ul",{"class":"Menu"}).
find_all("li")[2].find("span", {"class": "value"}))

如果您不知道电话始终是第三个元素,您可以遍历所有 li 并选择需要的一个:

[li.find("span", {"class": "value"}) 
for li in ad_soup.find("ul",{"class": "Menu"}).find_all("li")
if li.find("span", {"class": "name"}).string == "Phone:"]

关于python - 使用 Beautiful Soup 提取特定列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45322045/

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