问题描述
这是网页的布局:
<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']
1楼
找到h2
元素并 :
h2 = soup.find("h2", text="Ads")
a = h2.find_next_sibling("a")