【安全合规】python爬虫从0到1 -xpath网页解析(lxml库)

简介: 而我们仅仅只是需要该网页中的部分内容

文章目录

前言

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


(一)xpath是什么

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

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


首先我们需要在chrome浏览器中安装xpath插件。

可以到谷歌应用商店搜索下载。image.png

(二)xpath的基本语法

  1. 路径查询。image.png
  2. 谓词查询image.png
  3. 属性查询image.png
  4. 模糊查询image.png
  5. 内容查询image.png

(三) lxml

lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。

在使用前我们需要在pycharm里安装lxml库。

在终端输入指令即可:image.png

(四)lxml库的使用

  1. 导入lxml.etree
from lxml import etree
  1. 解析本地文件
tree = etree.parse(xxx.html) #解析本地文件
  1. 解析服务器响应文件
tree = etree.HTML(content)  #解析网页文件
  1. 返回结果
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)
相关文章
|
7天前
|
数据采集 存储 数据挖掘
Python网络爬虫实战:抓取并分析网页数据
使用Python的`requests`和`BeautifulSoup`,本文演示了一个简单的网络爬虫,抓取天气网站数据并进行分析。步骤包括发送HTTP请求获取HTML,解析HTML提取温度和湿度信息,以及计算平均温度。注意事项涉及遵守robots.txt、控制请求频率及处理动态内容。此基础爬虫展示了数据自动收集和初步分析的基础流程。【6月更文挑战第14天】
74 9
|
2天前
|
数据采集 存储 JSON
Python网络爬虫教程概览
【6月更文挑战第21天】Python网络爬虫教程概览:安装requests和BeautifulSoup库抓取网页;使用HTTP GET请求获取HTML,解析标题;利用CSS选择器提取数据;处理异步内容可选Selenium;遵循爬虫策略,处理异常,尊重法律与网站规定。
7 1
|
5天前
|
XML 数据库 数据格式
Python网络数据抓取(9):XPath
Python网络数据抓取(9):XPath
16 0
|
9天前
|
XML 数据格式 Python
Python使用xpath对解析内容进行数据提取
在前面的文章当中,已经教大家如何去获取我们需要的数据原文内容,今天就介绍一个用于提取所需数据的方法之一xpath。在后续会讲解bs4(beautifulsoup),re正则表达式。
|
3天前
|
数据采集 前端开发 JavaScript
Python爬虫技术:动态JavaScript加载音频的解析
Python爬虫技术:动态JavaScript加载音频的解析
|
9天前
|
XML JavaScript 关系型数据库
Python XML 解析
Python XML 解析
|
23天前
|
XML JavaScript API
Python XML 解析
Python XML 解析
|
1月前
|
XML JavaScript API
「Python系列」Python XML解析
在Python中,解析XML文件通常使用内置的`xml.etree.ElementTree`模块,它提供了一个轻量级、高效的方式来解析XML文档。此外,还有其他的第三方库,如`lxml`和`xml.dom`,它们提供了更多的功能和灵活性。
19 0
|
9月前
|
XML JavaScript 关系型数据库
|
1月前
|
XML 安全 API
Python读写XML文件:深入解析与技术实现
Python读写XML文件:深入解析与技术实现
86 0