这是网页的布局:
<h2>Featured Ads</h2>
<a href=""></a>
<h2>Ads</h2>
<a href=""></a>
class
中没有任何内容我可以用来区分它们的常规广告。仅返回 <a href>
的有效方法是什么?出现在 <h2>Ads</h2>
之后?
更新:
这是最终的代码
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")
关于python - 如何获取出现在特定 <h2> 之后的 <a href>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33336881/