如何获得出现在特定 <h2> 之后的 <a href>?
How to get <a href>'s that appear after a specific <h2>?
这是网页的布局:
<h2>Featured Ads</h2>
<a href=""></a>
<h2>Ads</h2>
<a href=""></a>
常规广告的 class
中没有任何东西可以用来区分它们。仅 return 出现在 <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
元素和 find the next a
sibling:
h2 = soup.find("h2", text="Ads")
a = h2.find_next_sibling("a")
这是网页的布局:
<h2>Featured Ads</h2>
<a href=""></a>
<h2>Ads</h2>
<a href=""></a>
常规广告的 class
中没有任何东西可以用来区分它们。仅 return 出现在 <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
元素和 find the next a
sibling:
h2 = soup.find("h2", text="Ads")
a = h2.find_next_sibling("a")