Py学习  »  Python

如何使用Python在标记中查找标记

Gyoungman Choi • 4 年前 • 88 次点击  

首先,我不擅长英语。

可能有一句话会导致一些误解。 希望你能理解。拜托。

我想知道如何在一个标签中找到标签。 我想找到的数据是这样的

<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)

这会产生比所需数据更多的结果。 不仅收集了标签内的数据,还收集了接下来的所有标签。

我是Python新手,所以我很不成熟。

我希望你能帮助我掌握专业人士的技能。

我想带一个标签。

[link, link2, link3, link4, link5, link6]
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52794
 
88 次点击  
文章 [ 1 ]  |  最新文章 4 年前
GiovaniSalazar
Reply   •   1 楼
GiovaniSalazar    4 年前

在“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