python etree 截取部分 取其xpath:.//
import requests as r
from lxml import etree
import re,os,random,time
url='http://xxx.com/xx'
res=r.get(url)
html=etree.HTML(res.text)
title=html.xpath('//title/text()')
lis=html.xpath('//ul[@class="viewlist_ul"]/li[@name="lazyloadcpc"]')
print('共得到车个数:',len(lis))
cars=[]
for li in lis:
name=li.xpath('.//h4[@class="card-name"]/text()')[0] #【从当前节点取数据要用】 .//
zonghe=li.xpath('.//p[@class="cards-unit"]/text()')[0]
zh=re.findall(r'(.*?)/(.*?)/(.*?)/(.*)',zonghe)
licheng=zh[0][0].replace('万公里','')
year=zh[0][1]
address=zh[0][2]
shangjia=zh[0][3]
price=li.xpath('.//span[@class="pirce"]//text()')
price=price[-1] if price[-2]=='抢购价' else price[-2] #如果内部有抢购价则价格取-1,否则取-2
price2=li.xpath('.//div[@class="cards-price-box"]/s/text()')[0]
tag=li.xpath('.//div[@class="cards-price-box"]/span[@class="tags"]/i/text()')
tag=tag[0] if tag else '' #如果tag存在内容则=tag[0],否则=''
cars.append({'车名':name,'里程':licheng,'年份':year,'地址':address,'商家':shangjia,
'价格':price,'原价':price2,'其它':tag
})
print(cars)
分类:
python爬虫
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现