python爬虫之xpath的基本使用

一、简介

  XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。

  参照

二、安装

pip3 install lxml

 

三、使用

  1、导入

from lxml import etree

  2、基本使用

from lxml import etree

wb_data = """
        <div>
            <ul>
                 <li class="item-0"><a href="link1.html">first item</a></li>
                 <li class="item-1"><a href="link2.html">second item</a></li>
                 <li class="item-inactive"><a href="link3.html">third item</a></li>
                 <li class="item-1"><a href="link4.html">fourth item</a></li>
                 <li class="item-0"><a href="link5.html">fifth item</a>
             </ul>
         </div>
        """
html = etree.HTML(wb_data)
print(html)
result = etree.tostring(html)
print(result.decode("utf-8"))

  从下面的结果来看,我们打印机html其实就是一个python对象,etree.tostring(html)则是不全里html的基本写法,补全了缺胳膊少腿的标签。

<Element html at 0x39e58f0>
<html><body><div>
            <ul>
                 <li class="item-0"><a href="link1.html">first item</a></li>
                 <li class="item-1"><a href="link2.html">second item</a></li>
                 <li class="item-inactive"><a href="link3.html">third item</a></li>
                 <li class="item-1"><a href="link4.html">fourth item</a></li>
                 <li class="item-0"><a href="link5.html">fifth item</a>
             </li></ul>
         </div>
        </body></html>

  3、获取某个标签的内容(基本使用),注意,获取a标签的所有内容,a后面就不用再加正斜杠,否则报错。

  写法一

html = etree.HTML(wb_data)
html_data = html.xpath(‘/html/body/div/ul/li/a‘)
print(html)
for i in html_data:
    print(i.text)

<Element html at 0x12fe4b8>
first item
second item
third item
fourth item
fifth item

  写法二(直接在需要查找内容的标签后面加一个/text()就行)

html = etree.HTML(wb_data)
html_data = html.xpath(‘/html/body/div/ul/li/a/text()‘)
print(html)
for i in html_data:
    print(i)

<Element html at 0x138e4b8>
first item
second item
third item
fourth item
fifth item

  

时间: 2024-10-09 23:12:17

python爬虫之xpath的基本使用的相关文章

Python爬虫:Xpath语法笔记

一.选取节点 常用的路劲表达式: 表达式 描述 实例   nodename 选取nodename节点的所有子节点 xpath(‘//div’) 选取了div节点的所有子节点 / 从根节点选取 xpath(‘/div’) 从根节点上选取div节点 // 选取所有的当前节点,不考虑他们的位置 xpath(‘//div’) 选取所有的div节点 . 选取当前节点 xpath(‘./div’) 选取当前节点下的div节点 .. 选取当前节点的父节点 xpath(‘..’) 回到上一个节点 @ 选取属性

Python爬虫之XPath

基本语法  表达式  描述  node 选取此结点的所有子节点,tag或*选择任意的tag /  从根节点选取,选择直接子节点,不包含更小的后代(例如孙.重孙)  // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置,包含所有后代   .  选取当前节点  ..  选取当前节点的父节点  @  选取属性 @属性 在DOM树,以路劲的方式查询节点 通过@符号来选取属性 <a rel="nofollow" class="external text" hr

Python爬虫基础——XPath语法的学习与lxml模块的使用

XPath与正则都是用于数据的提取,二者的区别是: 正则:功能相对强大,写起来相对复杂: XPath:语法简单,可以满足绝大部分的需求: 所以,如果你可以根据自己的需要进行选择. 一.首先,我们需要为Google浏览器配置XPath插件: 请自行学习,效果如下: 二.XPath的语法: 注意: XPath的索引从1开始. 三.XPath的案例: 一级分类: //h3[@class="classify_c_h3"]/a/text() 二级分类: //div[@class="cl

python爬虫xpath的语法

python爬虫xpath的语法 有朋友问我正则,,okey,其实我的正则也不好,但是python下xpath是相对较简单的 简单了解一下xpath: XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上. 因此,对 XPath 的理解是很多高级 XML 应用的基础. 这个是w3c上关于xpath的介绍,可以看出xp

Python爬虫利器三之Xpath语法与lxml库的用法

前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法.如果大家对 BeautifulSoup 使用不太习惯的话,可以尝试下 Xpath. 参考文档: lxml python 官方文档 XPath语法参考 w3school 安装 pip install lxml 利用 pip 安装即可 XPath语法 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在

小白学 Python 爬虫(19):Xpath 基操

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

Python爬虫系列之 xpath:html解析神器

通过前面的文章,我们已经知道了如何获取网页和下载文件,但是前面我们获取的网页都是未经处理的,冗余的信息太多,无法进行分析和利用 这一节我们就来学习怎么从网页中筛选自己需要的信息,顺便给大家推荐一个资源很全的python学习免非解答.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,这里有资深程序员分享以前学习心得,学习笔记,还有一线企业的工作经验,且给大家精心整理一份python零基础到项目实战的资料,每天给大家讲解python最新的技术,前景,学习需要留言的小细节 说到信息筛选我们立马就

[Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

目录(?)[+] 前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时继续介绍Selenium+Python官网Locating Elements部分内容.        希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        

教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

欢迎加入Python学习交流群:535993938  禁止闲聊 ! 名额有限 ! 非喜勿进 ! 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrapy吸引人的地方在于