Python 小技巧:使用 scrapy.selector 从 XML 中提取信息
来源:互联网 发布:键盘布局 知乎 编辑:程序博客网 时间:2024/06/08 01:07
一、引言
曾几何时,我还记得老大曾经给我这么一个任务:
从一个 100 来行的 xml 文件中将所有 testxml 行中的 item5 信息提取出来
这个 xml 文件的结构大概如下图所示(敏感信息我已经替换成了其他字符)。
当时的我还过于稚嫩,刚接触 Python 未能使用 Python 解决这个问题。正好现在学习了 Scrapy 爬虫框架,想到里面的 lxml 和 css 的 selector 编写方式,正好可以用来解析 xml 文件,也正好可以完成这个任务,遂想要把之前那个任务再完成一遍。
二、代码展现
使用了 Scrapy 的 selector 之后,这个问题变得简单多了,使用 xpath 或者 css 均可,代码如下:
from scrapy.selector import Selector# 1. 读取 xml 文件信息xml = ''with open('test.xml') as f: xml = f.read()# 2. 使用 scrapy.selector.Selector 解析 xmlsel = Selector(text=xml)# 3. 解析需要的数据到 record.txt 中with open('record.txt', 'w') as f: for line in sel.xpath('//testitem'): f.write('item1 = ' + line.xpath('./@item1').extract_first() + ' item5 = ' + line.xpath('./@item5').extract_first() + '\r\n')
运行之后,生成的 record.txt 文件内容如下:
三、总结
使用 scrapy.selector 强大的解析功能,也可以在其他方面大大提高我们的工作效率呢。
ps: 想要获取本博客实验代码的同学,可以点击这里
wangying2016/collectDataFromXML
阅读全文
0 0
- Python 小技巧:使用 scrapy.selector 从 XML 中提取信息
- Python自动化(八)使用Scrapy shell提取网页信息
- python编程技巧之从字典中提取子集
- 从一个XML树提取相关信息
- scrapy.Selector的使用探索
- 从MP3中提取歌曲信息
- 从MP3中提取歌曲信息
- 从MP3中提取歌曲信息
- 从MP3中提取歌曲信息(C#)
- 从MP3中提取歌曲信息(C#)
- .net从MP3中提取歌曲信息
- 从MP3中提取歌曲信息
- 从MP3中提取歌曲信息
- 从MP3中提取歌曲信息(C#)
- 从字符串串中提取信息
- 从资源中提取版本信息
- 从MP3中提取歌曲信息(C#)
- 通过 JDBC 从数据库中提取信息
- Java log4j详细教程
- redis启动时遇到的问题 Creating Server TCP listening socket *:6379: bind: Address already in use
- 基于MUI框架的使用HTML5+实现的二维码扫描功能并且其结果在webview中的信息的传递
- Git 使用规范流程
- VMware联网方式详解
- Python 小技巧:使用 scrapy.selector 从 XML 中提取信息
- android机型适配终极篇
- C#232课的主要内容
- entos6.5默认python2.6升级到python2.7,并安装django
- Mozilla 、微软、谷歌、W3C、三星将一起构建 Web 的统一文档
- Leetcode算法学习日志-563 Binary Tree Tilt
- CListCtrl 和 CListBox的设置选中问题
- 分区
- 关于小程序:出现脚本错误或者未正确调用 Page()