L07_lxml 和 xpath

Xpath简介

基本概念

XPath(XML Path Language)是一种XML的查询语言,他能在XML树状结构中寻找节点。

XPath 用于在 XML 文档中通过元素和属性进行导航xml是一种标记语法的文本格式,xpath可以方便的定位xml中的元素和其中的属性值。

lxml是python中的一个第三方模块,它包含了将html文本转成xml对象,和对对象执行xpath的功能

节点的关系 (举例)

xml_content = '''

<bookstore>

<book>

      <title lang='eng'>Harry Potter</title>

      <author>JK.Rowing</author>

      <year>2005</year>

      <price>29<price>

</book>

</bookstore>

'''

· 父(Parent) book元素是title、author、year、price元素的父

· 子(Children) title、author、year、price都是book元素的子

· 同胞(Sibling) title、author、year、price都是同胞

· 先辈(Ancestor) title元素的先辈是 book元素和bookstore元素 


Xpath-helper工具使用

工具安装


解压xpath-helper.rar


Chrome 自定义更多-->更多工具-->扩展程序


打开任意网页,ctrl+shift+x,就可打开关闭插件

前提是:勾选开发者模式


lxml模块的快速入门

在Python中,安装lxml库来使用XPath 技术。

lxml 是 一个HTML/XML的解析器,主要的功能是如何解析和提取HTML/XML数据利用etree.HTML,将字符串转化为Element对象

lxml python 官方文档:http://lxml.de/index.html

可使用 pip 安装:pip install lxml

 lxml 可以自动修正 html 代码


例题如下:

需求是:把打印出来的结果保存到一个字典当中 例如 {'href':'link1.html','title':'first item'}.... 并把这些数据写入到一个csv文件当中


执行结果文件


lxml模块案例演示


豆瓣top250: https://movie.douban.com/top250?start=0&filter=


导入模块部分,网页request函数
使用Xpath寻找需要的数据并对每部电影形成一个字典,添加到列表并返回列表
存储函数+主程序调用各函数


执行结果文件

使用excel导入csv文件步骤:






数据放置位置,选择左上角点


在Excel中成功导入csv数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容