python怎么爬虫lxml库解析xpath网页
这篇文章主要介绍“python怎么爬虫lxml库解析xpath网页”,在日常操作中,相信很多人在python怎么爬虫lxml库解析xpath网页问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么爬虫lxml库解析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/h2/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.requestfrom lxml import etreeimport urllib.parseurl ='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 + datarequest = 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网页”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341