问题描述
您应该发布您的示例文档,因为代码可以正常工作:
>>> import BeautifulSoup
>>> soup = BeautifulSoup.BeautifulSoup('<html><body><div id="articlebody"> ... </div></body></html')
>>> soup.find("div", {"id": "articlebody"})
<div id="articlebody"> ... </div>
<div>
在s 中查找s<div>
也可以:
>>> soup = BeautifulSoup.BeautifulSoup('<html><body><div><div id="articlebody"> ... </div></div></body></html')
>>> soup.find("div", {"id": "articlebody"})
<div id="articlebody"> ... </div>
解决方法
soup.find("tagName",{ "id" : "articlebody" })
为什么这不返回<div id="articlebody"> ... </div>
标签和中间的东西?它什么也不返回。我知道它的存在是因为我正盯着它看
soup.prettify()
soup.find("div",{ "id" : "articlebody" })
也不起作用。
( 编辑: 我发现 BeautifulSoup 没有正确解析我的页面,这可能意味着我试图解析的页面没有正确格式化为 SGML 或其他格式)