下面是我的代码。`
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”
。当我向您的代码添加额外的空间时,它会返回包含所有列表项的列表。
关于python - 当我通过字典通过类过滤器搜索标签时,无法在 beautifulsoup 中找到标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38812918/