下面是我的代码。

import urllib
from BeautifulSoup import *
html=urllib.urlopen('http://yellowpages.sulekha.com/coffee-shops-bars-restaurants_delhi')
soup=BeautifulSoup(html)
tags=soup.findAll("li",{ "class" : "list-item" })

print tags


我希望找到所有具有类“ list-item”的“ li”标签。当我执行上面的代码时,它返回一个空列表,但是当我键入为

tags=soup.findall("li","list-item")


它会返回带有所有必需的“ li”标签的正确列表。谁能告诉我为什么会这样吗?我正在使用python 2.7和beautifulsoup3。

最佳答案

我去看看您要抓取的网站并搜索了list-item。然后我看到了下面的东西

<li class="list-item " itemtype="http://schema.org/LocalBusiness" itemscope="">


我看到该类是"list-item "而不是"list-item"。当我在代码中添加额外的空间时,它将返回包含所有列表项的列表。

10-04 22:22
查看更多