首页 > 其他分享 >爬虫-xpath解析

爬虫-xpath解析

时间:2024-04-17 13:14:18浏览次数:27  
标签:xpath 定位 etree 对象 text 爬虫 源码 解析

你好

一、xpath解析原理

  1. 实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中
  2. 调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获
  3. 使用lxml模块

1.1实例化一个etree对象

  1. 将本地的html文档中的源码数据加载到etree对象中: etree.parse(filePath)
  2. 可以将从互联网上获取的源码数据加载到该对象中 etree.HTML('page_text')
  3. xpath('xpath表达式)

1.2xpath表达式

  • /: 表示的是从根节点开始定位。表示的是一个层级
  • //:表示的是多个层级。可以表示从任意位置开始定位。
  • 属性定位: //div[@class='song'] tag[@attrName="attrValue"]
  • 索引定位: //div[@class="song"]/p[3] 索引是从1开始的。
  • 取文本:
    • /text()获取直系文本
    • //text()获取下属所有文本
  • 取属性:
    • /@属性名

爬虫中通用处理中文乱码的解决方案 zhongwen = zhongwen.encode('iso-8859-1').decode( 'gbk')

正则表达式 : https://www.runoob.com/python/python-reg-expressions.html

点一下送地狱火

标签:xpath,定位,etree,对象,text,爬虫,源码,解析
From: https://www.cnblogs.com/kabaiye/p/18140365

相关文章

  • python爬虫使用selenium
    由于selenium更各版本用法不一,本文使用的环境是selenium4.13,python3.11.0,不同环境可能失效忽略这一行安装pipinstallselenium安装驱动chrome浏览器谷歌驱动官网下载地址如果你的谷歌是最新版(在设置-关于Chrome查看版本),直接前往最新版下载地址你还可以访问这个json文件......
  • gevent实现协程爬虫
    这里只供基础的爬虫需求,协程是什么和gevent进阶用法就不赘述了下载pipinstallgevent基本流程1.打补丁打补丁的意思是使用gevent的monkey类将python的一些标准库函数的阻塞调用都改成协作式的,这部分不懂可以不用管,在你的代码上固定下面两行就好。fromgeventimportmonke......
  • 【爆款推荐】初中中考阅读理解难题一网打尽!句子结构深度解析+答案揭秘,助你轻松冲刺高
    PDF格式公众号回复关键字:ZKYDT003原文1HowmanychildrendoesSumnerhave?解析Howmanychildren多少孩子,SumnerhaveSumner有,标题问Sumner有几个孩子?文本信息IstoppedbecauseIhadneverseen'ournormal'insuchaplace,"themotherofthreechildr......
  • XPath和CSS选择器的进阶
    记录一下关于selenium下xpath的进阶技术XPath轴(axes)和CSS选择器的伪类(pseudo-classes)与伪元素(pseudo-elements)是高级定位技术,可以在复杂的HTML结构中帮助你更精确地定位元素。1.XPath轴(Axes)XPath轴提供了一种方式来选择与当前节点有特定关系的节点。以下是一些常用的XPath轴:......
  • React前端技术深度解析与实践
    React作为当今最热门的前端技术之一,以其组件化、高效性和灵活性等特点赢得了广大开发者的青睐。本文将深入探讨React前端技术的核心原理、实践技巧以及未来的发展趋势,帮助读者更好地理解和应用React。一、React的核心原理React的核心原理是组件化开发。组件是React应用的基本构......
  • React的核心原理:组件化开发深度解析
    React的核心原理:组件化开发深度解析React,作为当今最流行的前端框架之一,其成功的背后离不开其核心原理——组件化开发。组件化开发不仅简化了前端开发的复杂性,还提高了代码的可重用性和可维护性。本文将深入探讨React组件化开发的原理、优势以及实践中的注意事项。一、组件化开发......
  • 在Linux中,如何配置DNS服务器和解析服务?
    在Linux中,配置DNS服务器和解析服务通常涉及安装和配置DNS服务器软件,如BIND(BerkeleyInternetNameDomain),或使用操作系统自带的DNS服务。以下是配置DNS服务器的基本步骤:1.安装BIND安装BIND软件包:根据你的Linux发行版,使用包管理器安装BIND。sudoapt-getinstallbind9#......
  • csharp selenium HtmlAgilityPack 爬虫 网页解析 微信公众号
    Wechat.Crawler/App/App.csproj<ProjectSdk="Microsoft.NET.Sdk"><ItemGroup><ProjectReferenceInclude="..\Blog\Blog.csproj"/></ItemGroup><ItemGroup><NoneUpdate="nlog.config&......
  • 深度探索:Secure Hash Algorithm(SHA)全景解析
    title:深度探索:SecureHashAlgorithm(SHA)全景解析date:2024/4/1518:33:17updated:2024/4/1518:33:17tags:SHA安全抗碰撞性算法版本实现细节性能优化发展历史应用案例密码学中的哈希函数一、哈希函数的定义哈希函数是一种数学函数,它接受任意长度的输入数据(......
  • PandasTA 源码解析(二十三)
    .\pandas-ta\tests\__init__.py#导入必要的模块importnumpyasnpimportmatplotlib.pyplotasplt#生成一组随机数据x=np.random.randn(1000)#创建一个频率直方图plt.hist(x,bins=30,edgecolor='black')#设置图表标题plt.title('HistogramofRandomData')......