【发布时间】:2018-04-01 06:18:54
【问题描述】:
HTML:
<li class="dropdown menu-large">
<a href="/nephrology?cat=879" class="dropdown-toggle" data-toggle="dropdown" title="A">A<b class="caret"></b></a>
<ul class="dropdown-menu megamenu row">
<li class="col-sm-3 col-lg-2">
<ul>
<li class="dropdown-header">
<a href="javascript:void(0);" style="cursor:default;" title="A1">A1</a>
</li>
<li class="divider"></li>
<li><a href="/nephrology?p=3061" title="Apple">Apple</a></li>
<li><a href="/nephrology?p=3062" title="Alien">Alien</a></li>
<li><a href="/nephrology?p=3064" title="AI">AI</a></li>
<li><a href="/nephrology?p=3063" title="April">April</a></li>
</ul>
</li>
</ul>
</li>
<li class="dropdown menu-large">
<a href="/nephrology?cat=874" class="dropdown-toggle" data-toggle="dropdown" title="B">B<b class="caret"></b></a>
<ul class="dropdown-menu megamenu row">
<li class="col-sm-3 col-lg-2">
<ul>
<li class="dropdown-header">
<a href="javascript:void(0);" style="cursor:default;" title="B1">B1</a>
</li>
<li class="divider"></li>
<li><a href="/nephrology?p=3072" title="Banana">Banana</a></li>
<li><a href="/nephrology?p=3048" title="Babe">Babe</a></li>
<li><a href="/nephrology?p=3036" title="Bamboo">Bamboo</a></li>
<li><a href="/nephrology?p=2771" title="Berry">Berry</a></li>
</ul>
</li>
</ul>
</li>
我想抓取 Apple、Alien、AI 和 April 的网址,但不知道该怎么做。我下面的代码只抓取了 A 的 url,即"/nephrology?cat=879"。如何让它刮掉类'类"divider"中的url?因为当我尝试只使用 "divider" 类时,它也会提取 Banana 和其他 url。但我不需要它们。提前致谢!
我的代码:
for item in soup.find_all(attrs={'class':'dropdown menu-large'}):
for link in item.find_all('a', {'title' : 'A'}):
href=link.get('href') #it gets "/nephrology?cat=879"
【问题讨论】:
-
您的预期结果是否也包括
Banana,Babe,Bamboo? -
@Shahin nope :)
标签: python html web-scraping beautifulsoup