Python的xpath数据解析案例分析
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇"Python的xpath数据解析案例分析"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看
千家信息网最后更新 2026年11月04日Python的xpath数据解析案例分析
这篇"Python的xpath数据解析案例分析"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Python的xpath数据解析案例分析"文章吧。
xpath基本概念
xpath解析:最常用且最便捷高效的一种解析方式。通用性强。
xpath解析原理
1.实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中
2.调用etree对象中的xpath方法结合xpath表达式实现标签的定位和内容的捕获。
环境安装
pip install lxml
如何实例化一个etree对象
from lxml import etree
1.将本地的html文件中的远吗数据加载到etree对象中:
etree.parse(filePath)
2.可以将从互联网上获取的原码数据加载到该对象中:
etree.HTML('page_text')xpath(‘xpath表达式’)
1./:表示的是从根节点开始定位。表示一个层级
2.//:表示多个层级。可以表示从任意位置开始定位
3.属性定位://div[@class='song'] tag[@attrName='attrValue']
4.索引定位://div[@class='song']/p[3] 索引从1开始的
5.取文本:
/text()获取的是标签中直系的文本内容
//text()标签中非直系的文本内容(所有文本内容)
6.取属性:/@attrName ==>img/src
xpath爬取58二手房实例
完整代码
from lxml import etreeimport requestsif __name__ == '__main__': headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36' } url = 'https://xa.58.com/ershoufang/' page_text = requests.get(url=url,headers=headers).text tree = etree.HTML(page_text) div_list = tree.xpath('//section[@class="list"]/div') fp = open('./58同城二手房.txt','w',encoding='utf-8') for div in div_list: title = div.xpath('.//div[@class="property-content-title"]/h4/text()')[0] print(title) fp.write(title+'\n'+'\n')xpath图片解析下载实例
完整代码
import requests,osfrom lxml import etreeif __name__ == '__main__': headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36' } url = 'https://pic.netbian.com/4kmeinv/' page_text = requests.get(url=url,headers=headers).text tree = etree.HTML(page_text) li_list = tree.xpath('//div[@class="slist"]/ul/li/a') if not os.path.exists('./piclibs'): os.mkdir('./piclibs') for li in li_list: detail_url ='https://pic.netbian.com' + li.xpath('./img/@src')[0] detail_name = li.xpath('./img/@alt')[0]+'.jpg' detail_name = detail_name.encode('iso-8859-1').decode('GBK') detail_path = './piclibs/' + detail_name detail_data = requests.get(url=detail_url, headers=headers).content with open(detail_path,'wb') as fp: fp.write(detail_data) print(detail_name,'seccess!!')xpath爬取全国城市名称实例
完整代码
import requestsfrom lxml import etreeif __name__ == '__main__': url = 'https://www.aqistudy.cn/historydata/' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36', } page_text = requests.get(url=url,headers=headers).content.decode('utf-8') tree = etree.HTML(page_text) #热门城市 //div[@class="bottom"]/ul/li #全部城市 //div[@class="bottom"]/ul/div[2]/li a_list = tree.xpath('//div[@class="bottom"]/ul/li | //div[@class="bottom"]/ul/div[2]/li') fp = open('./citys.txt','w',encoding='utf-8') i = 0 for a in a_list: city_name = a.xpath('.//a/text()')[0] fp.write(city_name+'\t') i=i+1 if i == 6: i = 0 fp.write('\n') print('爬取成功')xpath爬取简历模板实例
完整代码
import requests,osfrom lxml import etreeif __name__ == '__main__': url = 'https://sc.chinaz.com/jianli/free.html' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36', } page_text = requests.get(url=url,headers=headers).content.decode('utf-8') tree = etree.HTML(page_text) a_list = tree.xpath('//div[@class="box col3 ws_block"]/a') if not os.path.exists('./简历模板'): os.mkdir('./简历模板') for a in a_list: detail_url = 'https:'+a.xpath('./@href')[0] detail_page_text = requests.get(url=detail_url,headers=headers).content.decode('utf-8') detail_tree = etree.HTML(detail_page_text) detail_a_list = detail_tree.xpath('//div[@class="clearfix mt20 downlist"]/ul/li[1]/a') for a in detail_a_list: download_name = detail_tree.xpath('//div[@class="ppt_tit clearfix"]/h2/text()')[0] download_url = a.xpath('./@href')[0] download_data = requests.get(url=download_url,headers=headers).content download_path = './简历模板/'+download_name+'.rar' with open(download_path,'wb') as fp: fp.write(download_data) print(download_name,'success!!')以上就是关于"Python的xpath数据解析案例分析"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
内容
数据
实例
对象
定位
代码
文本
模板
简历
案例
案例分析
分析
城市
标签
二手房
层级
属性
文章
知识
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网政务服务
疫情对互联网科技公司影响
互联网科技未来
与互联网科技公司
互联网络科技有限公司
互联网与新科技
智慧科技互联网
互联网科技大会案例
老年人脱离互联网科技的作文
广州慧亚互联网科技怎么样
小米互联网科技园设置
移动互联网科技股
广州恒生互联网科技有限
杭州壁岐互联网科技有限公司
长沙互联网科技
沐思想互联网科技有限公司
中天科技中国工业互联网
科技互联网专业工作会议发言稿
伍佰万互联网科技是干嘛的
前海云享互联网科技
百单网互联网科技有限公司
互联网科技图片
重庆互联网络科技
上海挚品互联网科技
万达互联网科技
阿里巴巴算科技企业还是互联网
燊美集互联网科技有限公司
卡尔迅互联网科技有限公司
唐山双旺合互联网科技产业园
北京品多多互联网科技有限公司