Xpath安装及使用

简介: Xpath安装及使用

1、xpath

1.1、xpath环境

浏览器下载xpath插件

chrome插件下载

提取码:5iex

python安装lxml库

pip install lxml -i https://pypi.douban.com/simple

1.2、xpath使用

1.etree.parse() 解析本地文件

html_tree = etree.parse(‘xxx.html’)


2.etree.HTML() 服务器响应文件

html_tree = etree.HTML(response.read().decode(‘utf-8’))


3.html_tree.xpath(xpath路径)


4.路径获取

鼠标右键查看网页源代码

快捷键 Ctrl + Shift + x 打开xpath工具

在Query框输入路径,在Result中显示定位的值


1.3、xpath基本语法

1.路径查询

//:查询所有子孙节点,不考虑层级关系

/:找直接子节点

2.谓词查询

//div[@id]

//div[@id=“maincontent”]

3.属性查询

//@class

4.模糊查询

//div[contains(@id,“he”)]

//div[start-with(@id,“he”)]

5.内容查询

//div/h1/text()

6.逻辑运算

//div[@id=“head” and @class=“s_down”]

//title | //price

1.4、应用实例:爬取站长素材图片

import urllib.request
from lxml import etree
def create_request(page):
   if (page == 1):
      url = 'https://sc.chinaz.com/tupian/meinvtupian.html'
   else:
      url = 'https://sc.chinaz.com/tupian/meinvtupian_' + str(page) + '.html'
   headers = {
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
   }
   request = urllib.request.Request(url=url,headers=headers)
   return request
def get_content(request):
   response = urllib.request.urlopen(request)
   content = response.read().decode('utf-8')
   return content
def down_load(content):
   # 解析网页源码
   tree = etree.HTML(content)
   name_list = tree.xpath('//div[@id="container"]//a/img/@alt')
   src_list = tree.xpath('//div[@id="container"]//a/img/@src')
   # 下载图片到本地
   for i in range(len(name_list)):
      name = name_list[i]
       src = src_list[i]
       url = 'https:' + src
       urllib.request.urlretrieve(url=url,filename='./images/'+name+'.jpg')
if __name__ == '__main__':
   start_page = int(input("请输入起始页码:"))
   end_page = int(input("请输入结束页码:"))
   for page in range(start_page, end_page + 1):
        request = create_request(page)
        content = get_content(request)
        down_load(content)

2、jsonpath

文章推荐:https://blog.csdn.net/luxideyao/article/details/77802389

3、bs4

无

相关文章
|
运维 安全 定位技术
PTP/GPTP主时钟服务器的应用​
在数字化时代,高精度时间同步对金融、工业自动化和电力系统等行业至关重要。"同步天下"旗下SYN2413型PTP时钟服务器(旗舰版)基于先进PTP技术,实现亚微秒级同步精度,支持多源时间参考和灵活网络架构,配备丰富接口。实际应用中,它帮助金融平台提升交易稳定性、优化汽车制造车间协同工作降低次品率,并提高智能电网故障处理效率,展现卓越性能与专业实力,助力行业数字化转型与创新。
|
5月前
|
数据采集 存储 数据可视化
Python 爬虫:拍卖网站列表页与详情页数据联动爬取
Python 爬虫:拍卖网站列表页与详情页数据联动爬取
|
机器学习/深度学习 编解码 算法
【图像处理】图像的边缘检测(Matlab代码实现)
【图像处理】图像的边缘检测(Matlab代码实现)
514 1
|
机器学习/深度学习 人工智能 编解码
Text to Bark:让狗狗听懂人话!全球首个AI"狗语"生成器,137种狗狗口音任君挑选
ElevenLabs推出的Text to Bark是全球首个能将文本转换为逼真狗吠声的AI模型,支持多种犬种选择并适配智能家居设备,其核心技术基于深度神经网络训练。
3092 15
Text to Bark:让狗狗听懂人话!全球首个AI"狗语"生成器,137种狗狗口音任君挑选
|
人工智能 供应链 搜索推荐
AI+电商API:智能推荐、动态定价与自动化运营的未来
在电商竞争日益激烈的今天,AI与电商API的深度融合正重塑行业格局。通过智能推荐、动态定价与自动化运营,AI+电商API助力企业精准洞察用户需求、优化价格策略、提升运营效率,推动个性化、高效能的智慧电商发展,为企业打开未来增长新空间。
|
安全 小程序 数据建模
SSL证书概述、类型、价格、作用及应用等10大常见问题解答
在互联网+时代,随着数字化进程加速,网络威胁日益严峻。SSL证书作为遵循SSL协议的数字证书,能实现HTTPS加密,验证网站服务器身份,确保数据传输安全性和完整性,有效防范中间人攻击和钓鱼网站。本文将介绍关于SSL证书的10大常见问题,帮助您更好地了解和使用SSL证书,确保网站安全。
|
监控 架构师 Java
JVM进阶调优系列(6)一文详解JVM参数与大厂实战调优模板推荐
本文详述了JVM参数的分类及使用方法,包括标准参数、非标准参数和不稳定参数的定义及其应用场景。特别介绍了JVM调优中的关键参数,如堆内存、垃圾回收器和GC日志等配置,并提供了大厂生产环境中常用的调优模板,帮助开发者优化Java应用程序的性能。
|
机器学习/深度学习 存储 人工智能
算法金 | 一个强大的算法模型,GP !!
高斯过程是一种非参数机器学习方法,利用高斯分布描述数据,并通过核函数衡量相似性。它在小样本和不确定性估计上有优势,常用于回归、分类和优化。高斯过程基于函数分布,通过核函数(如线性、RBF、多项式)捕捉数据关系。与传统方法相比,它在处理不确定性和非线性问题时更具灵活性。虽然计算复杂度高、内存需求大,但通过稀疏高斯过程等方法可改善。高斯过程还可扩展到非平稳和多任务场景。本文通过代码示例展示了高斯过程在战斗胜率预测中的应用。
764 11
算法金 | 一个强大的算法模型,GP !!
|
机器学习/深度学习 存储 运维
ICML 2024:清华提出时间序列大模型:面向通用时序分析的生成式Transformer
【8月更文挑战第7天】在2024年ICML大会上,清华大学团队推出“时间序列大模型(LTSM)”——Timer,一种处理大规模时间序列数据的生成式Transformer。该模型通过预训练学习通用特征,支持多种任务如预测与异常检测。Timer采用统一的数据格式S3处理异构序列,并在数据稀缺场景下展现出色性能。尽管如此,模型泛化能力与计算效率仍有待优化。论文详情参见:https://arxiv.org/abs/2402.02368。
3737 4
|
机器学习/深度学习 人工智能 算法
AI代码生成器——Tabnine
【2月更文挑战第17天】AI代码生成器——Tabnine
848 9
AI代码生成器——Tabnine

热门文章

最新文章