我用以下代码提取了我想要的链接:
link_soup = soup.find_all('ul', 'pagination')
但是现在如果我使用link_soup[0].find('a')['href']
我就不能使用link_soup[0].find_all('a')['href']
了
它只显示第一个链接,这不是我想要的。我该如何获取列表中返回的所有链接?
下面是代码片段:
<ul class="pagination">
<li><a href="link"><<</a></li>
<li><a href="link"><</a></li>
<li class="hidden-xs"><a href="link">1</a></li>
<li class="hidden-xs active"><a href="link">2</a></li>
<li class="hidden-xs"><a href="link">3</a></li>
<li class="hidden-xs"><a href="link">4</a></li>
<li class="hidden-xs"><a href="link">5</a></li>
<li><a href="link"> ></a></li>
<li><a href="link"> >></a></li>
</ul>
发布于 2019-03-05 08:43:57
首先,您需要使用find
查找parent
标签,然后使用find_all
.Hope查找所有child
,这很有帮助
from bs4 import BeautifulSoup
html="""<html><ul class="pagination">
<li><a href="link"><<</a></li>
<li><a href="link"><</a></li>
<li class="hidden-xs"><a href="link">1</a></li>
<li class="hidden-xs active"><a href="link">2</a></li>
<li class="hidden-xs"><a href="link">3</a></li>
<li class="hidden-xs"><a href="link">4</a></li>
<li class="hidden-xs"><a href="link">5</a></li>
<li><a href="link"> ></a></li>
<li><a href="link"> >></a></li>
</ul></html>"""
soup=BeautifulSoup(html,"html.parser")
ul=soup.find('ul')
for a in ul.find_all('a'):
print(a['href'])
输出:
link
link
link
link
link
link
link
link
link
https://stackoverflow.com/questions/54993596
复制相似问题