我将使用谷歌 API,他们提供返回 JSON 或 ATOM 的选项。ATOM 类似于 XML 语法,我希望使用 BeautifulSoup 来解析它。
我可以轻松地将其转换为 BeautifulSoup 对象,但我很难找到元素。以 ATOM 文档的一段作为示例:
我可以轻松地将其转换为 BeautifulSoup 对象,但我很难找到元素。以 ATOM 文档的一段作为示例:
from bs4 import BeautifulSoup
feed = """
<cse:DataObject type="cse_thumbnail">
<cse:Attribute name="width" value="160"/>
<cse:Attribute name="height" value="160"/>
<cse:Attribute name="src" value="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRAUAShHrU8LK9MLEMEcfg-rtYgLzaxUP-j30lNJJdP1P6FBdVIziH4LTY"/>
</cse:DataObject>
"""
soup = BeautifulSoup(feed)
print soup.find_all("cse:Attribute", {"value":"160"})
返回的是一个空列表,我做错了什么吗?
<cse:p...>
,那么find_all("cse:p", {"value":"160"})
就能够返回这些标签。 - har07cse:p
- 之所以有效是因为标签名全部小写。更多细节请参见我的回答。 - Zero Piraeus