我想使用BeautifulSoup将xml(谷歌联系人)转换为csv。我有一个完美的脚本,但它现在停止工作而不对源进行任何更改。也许BeautifulSoup改变了?
因此,xml文件包含以下条目:
<entry ns1:etag=""RcDVSLt7I2AQEQAM."">
<category scheme="http://schemas.google.com/g/..." />
<title>Pepe Estropajo</title>
</edited>
<name>
<fullName>Pepe</fullName>
<givenName>...</givenName>
<familyName>Estropajo</familyName>
</name>
</entry>
我想提取数据。所以我做了:
for entry in soup.findAll('entry'):
name = entry.title
....
问题是名称是无。为什么它找不到标题? 我要求脚本打印名称,并打印出来:
<entry ns1:etag='"Rng-cDVSLyt7I2A9Wh5QEEUNQAM."'></entry>
里面没有任何孩子。
我做错了什么?
答案 0 :(得分:0)
这样的事情会起作用吗?
>>> entries = """<entry ns1:etag=""RcDVSLt7I2AQEQAM."">
... <category scheme="http://schemas.google.com/g/..." />
... <title>Pepe Estropajo</title>
... </edited>
... <name>
... <fullName>Pepe</fullName>
... <givenName>...</givenName>
... <familyName>Estropajo</familyName>
... </name>
... </entry>"""
>>>
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(entries)
>>>
>>> for entry in soup.findAll('entry'):
... print entry.find('title').getText()
...
Pepe Estropajo