【发布时间】:2017-10-13 06:49:10
【问题描述】:
这是网页 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&type=%E4&name=%E9"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>apple</h4></a>
<a id="parts_img02" href="/Result?s=12&type=%E4&name=%E4"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>banana</h4></a>
<a id="parts_img03" href="/Result?s=10&type=%E4&name=%E8"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>cherry</h4></a>
<a id="parts_img07" href="/Result?s=14&type=%E4&name=%E8"><h4 style=""><i class="fa f-c" aria-hidden="true"></i>melon</h4></a>
我想提取我想要的网址,比如以 /Result 开头的网址? 我刚刚了解到您可以在美丽的汤中使用soup.find_all 和soup.select。
soup.find_all:
icon = soup.find_all(id = re.compile("parts_img"))
其中一个结果将成功打印:
<a href="/Result?s=9&type=%E4&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&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 html web-scraping beautifulsoup