Python利用beautifulsoup4库对xml进行解析

前言


Python的beautifulsoup4库是我们在爬虫中经常用到的解析HTML页面的库,同样的它提供了对于xml解析的功能。
我这里利用其提供的对xml解析的功能写了一个示例,如有不足,欢迎指正。


正文


这是我自己写的示例


bookstore.xml

<?xml version="1.0" encoding="utf-8"?>
<bookstore>
	<book>
		<category>经典</category>
		<title lang="zh">论语</title>
		<author>孔子及其弟子</author>
		<year>2012</year>
		<date>6</date>
		<price>38.99</price>
	</book>
	<book>
		<category>诗歌</category>
		<title lang="zh">离骚</title>
		<author>屈原</author>
		<year>2003</year>
		<date>10</date>
		<price>20.00</price>
	</book>
	<book>
		<category>名著</category>
		<title lang="zh">西游记</title>
		<author>吴承恩</author>
		<year>2008</year>
		<date>8</date>
		<price>60.00</price>
	</book>
	<book>
		<category>童话</category>
		<title lang="zh">格林童话</title>
		<author>格林兄弟</author>
		<year>2014</year>
		<date>9</date>
		<price>23.45</price>
	</book>
	<book>
		<category>经典</category>
		<title lang="zh">韩非子</title>
		<author>韩非</author>
		<year>2015</year>
		<date>2</date>
		<price>35.50</price>
	</book>
	<book>
		<category>名著</category>
		<title>三国演义</title>
		<author>罗贯中</author>
		<year>2019</year>
		<date>6</date>
		<price>65.00</price>
	</book>
</bookstore>

python代码

from bs4 import BeautifulSoup as Bp

with open('bookstore.xml', 'r', encoding='utf-8') as rfile:
    data = rfile.read()

soup = Bp(data, 'xml')

book_data = soup.find_all('book')

for item in book_data:
    print('******Book Information******')
    print('图书类别: ', item.category.text)
    print('书名: ', item.title.text)
    print('作者: ', item.author.text)
    print('出版日期: ', item.year.text + '年' + item.date.text + '月')
    print('价格: ', item.price.text)

执行结果

******Book Information******
图书类别:  经典
书名:  论语
作者:  孔子及其弟子
出版日期:  20126月
价格:  38.99
******Book Information******
图书类别:  诗歌
书名:  离骚
作者:  屈原
出版日期:  200310月
价格:  20.00
******Book Information******
图书类别:  名著
书名:  西游记
作者:  吴承恩
出版日期:  20088月
价格:  60.00
******Book Information******
图书类别:  童话
书名:  格林童话
作者:  格林兄弟
出版日期:  20149月
价格:  23.45
******Book Information******
图书类别:  经典
书名:  韩非子
作者:  韩非
出版日期:  20152月
价格:  35.50
******Book Information******
图书类别:  名著
书名:  三国演义
作者:  罗贯中
出版日期:  20196月
价格:  65.00
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值