使用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

				
时间: 2024-10-09 16:51:30

使用beautiful soup解析xml的相关文章

用Beautiful Soup解析html源码

#xiaodeng #python3 #用Beautiful Soup解析html源码 html_doc = """ <html> <head> <title>The Dormouse's story</title> </head> <body> <b>测试</b> <p class="title"> <b>The Dormouse's

beautiful soup解析有空格的class

用Python写一个爬虫,用BeautifulSoup解析html.其中一个地方需要抓取下面两类标签: <dd class="ab " >blabla1</dd><dd class="ab cd" >blabla2</dd> 第一类class的值的末尾有一个空格.第二类class的值中间有一个空格,而且开头部分和第一类相同. 在css中,class的值不应该有空格,所以第一类会忽略空格,第二类会被当做多值属性.参考官方

Beautiful Soup 解析html表格示例

from bs4 import BeautifulSoup import urllib.request doc = urllib.request.urlopen('http://www.bkzy.org/Index/Declaration?intPageNo=1') doc = doc.read().decode('utf-8') soup = BeautifulSoup(doc, "html.parser") school = 0 pro_code = 1 pro_name = 2

(最全)Xpath、Beautiful Soup、Pyquery三种解析库解析html 功能概括

一.Xpath 解析 ? xpath:是一种在XMl.html文档中查找信息的语言,利用了lxml库对HTML解析获取数据. Xpath常用规则:   nodename :选取此节点的所有子节点   // :从当前节点选取子孙节点   / :从当前节点选取子节点   . : 选取当前节点   .. : 选取当前节点父节点  @ : 选取属性 1.初始化html etree.parse()是初始化html构造一个XPath解析对象: etree.tostring()是修复html文件中代码,把缺的

第四部分 解析库的使用(XPath、Beautiful Soup、PyQuery)

在网页节点中,可以定义id.class或其他属性.节点间有层次关系,网页中要通过XPath或CSS选择器定位一个或多个节点.在页面解析时,可利用XPath或CSS选择器提取某个节点,再调用相应方法获取它的正文内容或者属性,就可提取到想要的信息.在python中常用的解析库有lxml.Beautiful Soup.pyquery等.使用这些库可以很大程度上提高效率. 一 使用XPath解析库 XPath,全称XML Path Language,即XML路径语言,是一门在XML文档中查找信息的语言.

Beautiful Soup 4.2.0 文档

Beautiful Soup 4.2.0 文档 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间. 这篇文档介绍了BeautifulSoup4中所有主要特性,并且有小例子.让我来向你展示它适合做什么,如何工作,怎样使用,如何达到你想要的效果,和处理异常情况. 文档中出现的例子在Python2.7和Python3.2中的执行结果相

Beautiful Soup

Beautiful Soup 4.2.0 文档 - Beautiful Soup 4.2.0 documentation Navigation index Beautiful Soup 4.2.0 documentation ? Beautiful Soup 4.2.0 文档? Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.

Windows平台安装Beautiful Soup

Windows平台安装Beautiful Soup 2013-04-01 09:31:23|  分类: Python|举报|字号 订阅 Beautiful Soup是一个Python的一个库,主要为一些短周期项目比如屏幕抓取而设计.有三个特性使得它非常强大: 1.Beautiful Soup提供了一些简单的方法和Python术语,用于检索和修改语法树:一个用于解析文档并提取相关信息的工具包.这样你写一个应用不需要写很多代码. 2.Beautiful Soup自动将输入文档转换为Unicode编码

mac 安装Beautiful Soup

Beautiful Soup是一个Python的一个库,主要为一些短周期项目比如屏幕抓取而设计.有三个特性使得它非常强大: 1.Beautiful Soup提供了一些简单的方法和Python术语,用于检索和修改语法树:一个用于解析文档并提取相关信息的工具包.这样你写一个应用不需要写很多代码. 2.Beautiful Soup自动将输入文档转换为Unicode编码,并将输出文档转化为UTF-8编码.你不需要考虑编码,除非输入文档没有指出其编码并且Beautiful Soup无法自动检测到,这时你需