gpt4 book ai didi

python - 尝试使用 soup.select 和 soup.find_all 提取网址

转载 作者:行者123 更新时间:2023-11-30 22:28:07 26 4
gpt4 key购买 nike

这是网页 HTML 源代码的一部分:

<a href="http://www.abcde.com"> <img style="width:100%" src="/FileUploads/B/763846f.jpg" alt="search" title="search" /></a>
<a id="parts_img01" href="/Result?s=9&amp;type=%E4&amp;name=%E9"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>apple</h4></a>
<a id="parts_img02" href="/Result?s=12&amp;type=%E4&amp;name=%E4"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>banana</h4></a>
<a id="parts_img03" href="/Result?s=10&amp;type=%E4&amp;name=%E8"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>cherry</h4></a>
<a id="parts_img07" href="/Result?s=14&amp;type=%E4&amp;name=%E8"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>melon</h4></a>

我想提取我想要的网址,比如以/Result 开头的网址?我刚刚了解到您可以在 beautiful soup 中使用 soup.find_all 和 soup.select 。

汤.find_all:

icon = soup.find_all(id = re.compile("parts_img"))

结果之一将成功打印:

<a href="/Result?s=9&amp;type=%E4&amp;name=%E9" id="parts_img01"><h4 style=""><i aria-hidden="true" class="fa f-c"></i>apple</h4></a>

汤.选择:

for item in soup.select(".fa f-c"):
print(item['href'])

这不起作用......

有没有办法可以直接从html中提取url?我只想打印:

/Result?s=9&amp;type=%E4&amp;name=%E9
/Result?s=12&amp;type=%E4&amp;name=%E4
/Result?s=10&amp;type=%E4&amp;name=%E8
/Result?s=14&amp;type=%E4&amp;name=%E8

最佳答案

要在不使用正则表达式的情况下获得相同的输出:

html = """
<a href="http://www.abcde.com"> <img style="width:100%" src="/FileUploads/B/763846f.jpg" alt="search" title="search" /></a>
<a id="parts_img01" href="/Result?s=9&amp;type=%E4&amp;name=%E9"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>apple</h4></a>
<a id="parts_img02" href="/Result?s=12&amp;type=%E4&amp;name=%E4"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>banana</h4></a>
<a id="parts_img03" href="/Result?s=10&amp;type=%E4&amp;name=%E8"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>cherry</h4></a>
<a id="parts_img07" href="/Result?s=14&amp;type=%E4&amp;name=%E8"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>melon</h4></a>
"""
from bs4 import BeautifulSoup

soup = BeautifulSoup(html, "lxml")
for link in soup.select("[id^='parts_img']"):
print(link['href'])

结果:

/Result?s=9&type=%E4&name=%E9
/Result?s=12&type=%E4&name=%E4
/Result?s=10&type=%E4&name=%E8
/Result?s=14&type=%E4&name=%E8

关于python - 尝试使用 soup.select 和 soup.find_all 提取网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46724032/

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