使用beautiful soup解析xml

Posted life is tough,so are you

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用beautiful soup解析xml相关的知识,希望对你有一定的参考价值。

比如解析name

authornamelist = soup.find_all(\'contrib\')
    for x in authornamelist:
        print x.surname.text
        print x.surname.next_sibling.next_sibling.text
     

surname.next_sibling实际上是换行符,所有用换行符的next_sibling

直接print x.given-names.text  无法解析given-names这种格式的

 

参考文献

.next_sibling 和 .previous_sibling

在文档树中,使用 .next_sibling 和 .previous_sibling 属性来查询兄弟节点:

sibling_soup.b.next_sibling
# <c>text2</c>

sibling_soup.c.previous_sibling
# <b>text1</b>

<b>标签有 .next_sibling 属性,但是没有 .previous_sibling 属性,因为<b>标签在同级节点中是第一个.同理,<c>标签有 .previous_sibling 属性,却没有.next_sibling 属性:

print(sibling_soup.b.previous_sibling)
# None
print(sibling_soup.c.next_sibling)
# None

例子中的字符串“text1”和“text2”不是兄弟节点,因为它们的父节点不同:

sibling_soup.b.string
# u\'text1\'

print(sibling_soup.b.string.next_sibling)
# None

 


以上是关于使用beautiful soup解析xml的主要内容,如果未能解决你的问题,请参考以下文章

beautiful soup的用法

Beautiful Soup的使用

python爬虫之Beautiful Soup库,基本使用以及提取页面信息

python爬虫之Beautiful Soup库,基本使用以及提取页面信息

python爬虫之Beautiful Soup库,基本使用以及提取页面信息

python之Beautiful Soup的基本用法