我正在抓取一个html文档,其中包含同一个类的两个“钩子”,如下所示:
<div class="multiRow">
<!--ModuleId 372329FileName @swMultiRowsContainer-->
<some more content>
</div>
<div class="multiRow">
<!--ModuleId 372330FileName @multiRowsContainer-->
<some more content>
</div>
当我这样做时:
mr = ct[0].find_all('div', {'class': 'multiRow'})
我只从第一个获得内容 有没有办法访问第二个内容?
谢谢!
答案 0 :(得分:4)
编辑Adam Smith的评论。
请参阅上面的评论,代码如下:
from bs4 import BeautifulSoup as soup
a = "<div class=\"multiRow\"><!--ModuleId 372329FileName @swMultiRowsContainer-->Bye</div> <div class=\"multiRow\"><!--ModuleId 372330FileName @multiRowsContainer-->Hi</div>"
print soup(a).find_all("div",{"class":"multiRow"})[1]
返回:
<div class="multiRow"><!--ModuleId 372330FileName @multiRowsContainer-->Hi</div>
答案 1 :(得分:0)
亚当·史密斯的评论的编码示例。我认为这很清楚。
ct= soup.findAll("div", {"class" : "multiRow"})
ct= ct[1]
print(ct)
答案 2 :(得分:0)
因为您只要求第一个内容,请检查您的代码
ct[0].find_all
ct[0]
只会抓取第一个内容,而不是整个内容。解决这个问题。