首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在bs4.element.Tag中查找链接

在bs4.element.Tag中查找链接
EN

Stack Overflow用户
提问于 2019-03-05 08:18:54
回答 1查看 1.3K关注 0票数 2

我用以下代码提取了我想要的链接:

代码语言:javascript
复制
link_soup = soup.find_all('ul', 'pagination')

但是现在如果我使用link_soup[0].find('a')['href']我就不能使用link_soup[0].find_all('a')['href']

它只显示第一个链接,这不是我想要的。我该如何获取列表中返回的所有链接?

下面是代码片段:

代码语言:javascript
复制
<ul class="pagination">
<li><a href="link">&lt;&lt;</a></li>
<li><a href="link">&lt;</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"> &gt;</a></li>
<li><a href="link"> &gt;&gt;</a></li>
</ul>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-05 08:43:57

首先,您需要使用find查找parent标签,然后使用find_all.Hope查找所有child,这很有帮助

代码语言:javascript
复制
from bs4 import BeautifulSoup
html="""<html><ul class="pagination">
<li><a href="link">&lt;&lt;</a></li>
<li><a href="link">&lt;</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"> &gt;</a></li>
<li><a href="link"> &gt;&gt;</a></li>
</ul></html>"""

soup=BeautifulSoup(html,"html.parser")
ul=soup.find('ul')
for a in ul.find_all('a'):
  print(a['href'])

输出:

代码语言:javascript
复制
link
link
link
link
link
link
link
link
link
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54993596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档