当前位置: 代码迷 >> python >> 如何获得特定后出现的

  详细解决方案
热度:106   发布时间:2023-06-16 10:19:04.0

这是网页的布局:

<h2>Featured Ads</h2>
<a href=""></a>

<h2>Ads</h2>
<a href=""></a>

在常规广告class ,没有什么可用来区分它们的。 什么是仅返回在<h2>Ads</h2>之后出现的<a href>的有效方法?

更新:

这是最终代码

h2 = soup.find("h2", text="Ads")
articles = h2.find_next_siblings("article")

for article in articles:
    for div in article.find_all('div', {'class': 'address'}):
        for link in div.find_all('a', href=True):
            print (link['href'])

更新2:必须重构...

articles = soup.find("h2", text="Ads").find_next_siblings("article")
for article in articles:
    ad_url = article.find('a', href=True)['href']

找到h2元素并 :

h2 = soup.find("h2", text="Ads")
a = h2.find_next_sibling("a")
  相关解决方案