下面是我的代码。
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"
。当我在代码中添加额外的空间时,它将返回包含所有列表项的列表。