python爬虫lxml库解析xpath网页过程示例

 更新时间:2022年05月10日 09:08:15   作者:苏凉.py  
这篇文章主要为大家介绍了python爬虫lxml库解析xpath网页的过程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

在我们抓取网页内容的时候,通常是抓取一整个页面的内容,而我们仅仅只是需要该网页中的部分内容,那该如何去提取呢?本章就带你学习xpath插件的使用。去对网页的内容进行提取。

(一)xpath是什么

xpath是一门在XML文档中查找信息的语言,xpath可用来在XML 文档中对元素和属性进行遍历,主流的浏览器都支持xpath,因为html页面在DOM中表示为XHTML文档。

xpath语言是基于XML文档的树结构,并提供了浏览树的能力,通过多样的标准来选择节点。从而找到我们想要的数据。

首先我们需要在chrome浏览器中安装xpath插件。
可以到谷歌应用商店搜索下载。

安装好之后重启浏览器按下快捷键Ctrl +Shift+X网页上会出现黑色的框就表示成功啦!

(二)xpath的基本语法 路径查询。

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

谓词查询

//div[@id]
//div[@id=“maincontent”]

属性查询

//@class

模糊查询

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

内容查询

//div/h1/text()

(三) lxml库

lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。
在使用前我们需要在pycharm里安装lxml库。
在终端输入指令即可:

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

注意:必须安装在我们当前所使用的环境下

(四)lxml库的使用 导入lxml.etree

from lxml import etree

解析本地文件

tree = etree.parse(xxx.html) #解析本地文件

解析服务器响应文件

tree = etree.HTML(content) #解析网页文件

返回结果

result = tree.xpath('//div/div/@aria-label')[0]

注:xpath返回的结果类型为列表,当结果有许多值时我们可以使用下标来取我们想要的值。

(五)实例演示

import urllib.request
from lxml import etree
import urllib.parse
url ='https://www.baidu.com/s?'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
}
cre_data = {
    'wd' : '这里写关键词'
}
data = urllib.parse.urlencode(cre_data)
url = url + data
request = urllib.request.Request(url = url , headers = headers )
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
print(content)
# tree = etree.parse(xxx.html) #解析本地文件
tree = etree.HTML(content)  #解析网页文件
result = tree.xpath('//div/div/@aria-label')[0]
print(result)

以上就是python爬虫lxml库解析xpath网页过程示例的详细内容,更多关于python爬虫lxml库解析xpath网页的资料请关注脚本之家其它相关文章!

相关文章

  • Python爬虫定时计划任务的几种常见方法(推荐)

    Python爬虫定时计划任务的几种常见方法(推荐)

    这篇文章主要介绍了Python爬虫定时计划任务的几种常见方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Python调用工具包实现发送邮件服务

    Python调用工具包实现发送邮件服务

    这篇文章主要为大家详细介绍了Python图画调用工具包实现发送邮件服务的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-05-05
  • Python发送http请求解析返回json的实例

    Python发送http请求解析返回json的实例

    下面小编就为大家分享一篇Python发送http请求解析返回json的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • django最快程序开发流程详解

    django最快程序开发流程详解

    这篇文章主要介绍了django最快程序开发流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 关于Python Tkinter Button控件command传参问题的解决方式

    关于Python Tkinter Button控件command传参问题的解决方式

    这篇文章主要介绍了关于Python Tkinter Button控件command传参问题的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • pytorch中Parameter函数用法示例

    pytorch中Parameter函数用法示例

    这篇文章主要为大家介绍了pytorch中Parameter函数用法,并用详细的代码示例进行演示详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-01-01
  • python 输出所有大小写字母的方法

    python 输出所有大小写字母的方法

    今天小编就为大家分享一篇python 输出所有大小写字母的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python+KgCaptcha实现验证码的开发详解

    Python+KgCaptcha实现验证码的开发详解

    验证码通常是为了区分用户是人还是计算机,也可以防止解开密码等恶意行为,而客户端上多数会用在关键操作上。现在验证码的种类样式也特别多,本文主要介绍了如何用Python和KgCaptcha做出验证码功能,需要的可以参考一下
    2023-04-04
  • Python制作微信好友背景墙教程(附完整代码)

    Python制作微信好友背景墙教程(附完整代码)

    这篇文章主要介绍了Python制作微信好友背景墙教程(附完整代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python中的变量与内存用法

    python中的变量与内存用法

    这篇文章主要介绍了python变量与内存用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论