[英]How to find all anchor tags inside a div using Beautifulsoup in Python
[英]How to find tags inside tags using Python?
我想知道如何在另一个标签中找到一个标签。
数据源是这样的:
<ul class="DB_su a1" style="display: none;">
<li><a href="link">text</a></li>
<li><a href="link2">text2</a></li>
<li><a href="link3">text3</a></li>
<li><a href="link4">text4</a></li>
<li><a href="link5">text5</a></li>
<li><a href="link6">text6</a></li>
</ul>
<ul class="DB_su a2" style="display: none;">
<li><a href="link">text</a></li>
<li><a href="link2">text2</a></li>
<li><a href="link3">text3</a></li>
<li><a href="link4">text4</a></li>
<li><a href="link5">text5</a></li>
<li><a href="link6">text6</a></li>
</ul>
<ul class="DB_su a3" style="display: none;">
<li><a href="link">text</a></li>
<li><a href="link2">text2</a></li>
<li><a href="link3">text3</a></li>
<li><a href="link4">text4</a></li>
<li><a href="link5">text5</a></li>
<li><a href="link6">text6</a></li>
</ul>
...
这是我参考HTML源代码制作的Python代码。
for flink in range(11):
count = str(flink + 1)
ss = soup.find('ul', class_='DB_su a' + count)
dd = ss.findAllNext('a')
print(dd)
这导致了比所需数据更多的结果。 不仅收集了标签内的数据,而且收集了所有接下来的标签。
我想得到这个href
标签:
[link, link2, link3, link4, link5, link6]
在您的“for flink in range(11)”中,尝试添加如下内容:
from bs4 import BeautifulSoup
import re
html = """
<ul class="DB_su a1" style="display: none;">
<li><a href="link">text</a></li>
<li><a href="link2">text2</a></li>
<li><a href="link3">text3</a></li>
<li><a href="link4">text4</a></li>
<li><a href="link5">text5</a></li>
<li><a href="link6">text6</a></li>
</ul>
<ul class="DB_su a2" style="display: none;">
<li><a href="link">text</a></li>
<li><a href="link2">text2</a></li>
<li><a href="link3">text3</a></li>
<li><a href="link4">text4</a></li>
<li><a href="link5">text5</a></li>
<li><a href="link6">text6</a></li>
</ul>
<ul class="DB_su a3" style="display: none;">
<li><a href="link">text</a></li>
<li><a href="link2">text2</a></li>
<li><a href="link3">text3</a></li>
<li><a href="link4">text4</a></li>
<li><a href="link5">text5</a></li>
<li><a href="link6">text6</a></li>
</ul>
"""
soup = BeautifulSoup(html,'html.parser')
for n in soup.find_all('ul', attrs={'class': 'DB_su a3'}):
for x in n.find_all('a'):
print (x.get('href'))
结果:
link
link2
link3
link4
link5
link6
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.