有个有趣的问题。你知道吗
注:已将lxml和bs4升级至最新版本,版本相同。你知道吗
我正在解析英文维基百科。我已经使用wikiextractor.py
将我的转储文件分解成几个xml文档,每个文档包含大约100篇文章,并分成<doc>
标记。在每一篇文章中都有锚定标签,我试图将其捕获并存储在关系字段中。你知道吗
然而,我有一个奇怪的问题:
collection = BeautifulSoup(file, 'lxml')
entry = collection.find_all('doc')[0].find_all('a')
#this returns ALL anchor tags in the entire xml file
#but...
entry = collection.find_all('doc')[1].find_all('a')
#returns only the anchor tags for that specific entry.
xml的格式是一致的(附在gisthere)
对元素0
调用entry['title']
返回"The Offspring"
(正确),但对元素0
调用entry.text
返回整个文件。你知道吗
我是不是遗漏了一些xml头之类的东西?你知道吗
使用完整文件,如果您在xml中搜索
<div style="float:left;">
,您将看到没有导致问题的结束标记。你知道吗使用错误的行:
删除的错误行:
对于损坏的html,可以使用html.parser语法分析器bs4更加宽容:
或者使用lxml.html.soupparser组合lxml和bs4:
相关问题 更多 >
编程相关推荐