我有一个文件充满句子包装在格式良好的XML(xmllint和tidylib这样说)。 所以这个xml看起来像这样:xml解析终止莫名其妙
<a id="100" attr1="text" attr1="text" attr1="text">
<tagname id="1">
This is my sentence.
</tagname>
</a>
<a id="101" attr1="text" attr1="text" attr1="text">
<tagname id="1">
This is my sentence.
</tagname>
</a>
等等。
我用下面的代码(从ID 1在这种情况下,以85)提取与属性句子
a1 = open(r"file.xml",'r')
a = a1.readlines()
a1.close()
soup = BeautifulSoup(str(a))
for i in range(1,85):
a = soup.find('a', {'id': i})
achild = a.find('tagname')
tagnametext = achild.contents
print tagnametext
一切打印很好,直到句子84,在该收到错误: achild = a.find('tagname') AttributeError:'NoneType'对象没有属性'find'
每一组......都是用for循环生成的,所以xml都是一样的。 我用不同数量的句子尝试过不同的文件。发生错误的ID也会发生变化。 这是美丽的限制吗? 它不能扫描一定数量的行?
这是什么ID号84是什么样子? – TerryA