网络爬虫 --DOM处理XML

xml有一下3个基本点:1,标签开始和结束,2,属性和其值,3,文本内容

例题1.通过xml找到根的名字
一个名为book.xml的文件

<?xml version="1.0"?>
<bookstore>
    <book>
        <title>Learn Python</title>
        <price>100</price>
    </book>
    <book>
        <title>Learn XML</title>
        <price>80</price>
    </book>
</bookstore>

通过下面的程序找出根名字

from xml.dom import minidom   #导入xml

doc = minidom.parse(r'/media/sf_Share/LSPE/r_0.11/book.xml')  #路径
root = doc.documentElement   #找根节点元素(这是分析XML的第一步骤)
print(type(root))  #根类型
print(root.nodeName)   #根名字


》》》<class 'xml.dom.minidom.Element'>
》》》bookstore

#通过标签找title
books = root.getElementsByTagName('book') 通过标签寻找,标签名为book,有两个,是一个list
for book in books:
    titles = book.getElementsByTagName('title')#找标签为title
    prices = book.getElementsByTagName('price')
    title = titles[0].childNodes[0].nodeValue #输出标签对应的子节点的值
    price = prices[0].childNodes[0].nodeValue
    print(title,price)

>>> Learn Python 100
>>> Learn XML 80

上面getElementsByTagName是根下的一个函数,要知道根有多少其他函数,可以通过print(dir(root))查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值