添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索。 菜鸟教程

开发者工具(F12)关于XPath的使用

元素定位可以用浏览器自带的开发者工具(F12)再按Ctrl+F的搜索框中输入Xpath表达式来定位;

在这里插入图片描述
不熟练xpath表达式的也可右键点击选中的标签复制该标签的Xpath;
在这里插入图片描述

XPath Helper

也可以使用工具 XPath Helper 。可帮助你更好的提取HTML中的数据;

下载地址: https://github.com/eliasdorneles/xpath_helper

下载后,在Google浏览器的拓展程序中安装;
在这里插入图片描述
安装后,可使用打开和关闭的快捷键 Ctrl +Shift + x;
左边框可输入xpath表达式;右边框会展示提取的信息;
在这里插入图片描述

webdriver

webdriver中可用find_element_by_xpath方法定位;
例子:

driver.find_element_by_xpath("//input[@palaceholder='请输入密码']")   #用属性定位
driver.find_elemnet_by_xpath("//*[text()='接口日志']")     #用标签值定位

requests

requests可获取页面的信息,再通过lxml的etree.HTML()用来解析字符串格式的HTML文档对象,将传进去的字符串转变成_Element对象。

安装lxml:

pip install lxml

提取电影名称的例子:
在这里插入图片描述

import requests
from lxml import etree
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36n/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36 XBLife/3.0'
r = requests.get(url='https://movie.douban.com/top250', headers=headers)
#字符串转换成HTML的格式
_element = etree.HTML(r.content)
# 通过xpath表达式获取标签中的电影名称的列表
movie_list = _element.xpath('//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[1]/a/span[1]/text()')
print(type(movie_list))
print('电影名称: ', movie_list[0])

打印结果:

<class ‘list’>
电影名称: 肖申克的救赎

本文会介绍requests和webdriver的方式获取到HTML信息后,再利用xpath去提取想要的信息;XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索菜鸟教程元素定位可以用浏览器自带的开发者工具(F12)再按Ctrl+F的搜索框中输入Xpath表达式来定位;不熟练xpath表达式的也可右键点击选中的标签复制该标签的Xpath;也可以使用工具XPth Helper。可
有些时候我在们需要的用正则提取html某一个部分的文字内容,如图: 获取dd部分的html文档,我们要通过它的一个属性去确定他的位置才可以拿到他这个部分我们可以看到他的这个属性class=’row clearfix ‘,然后用xpath获取到这部分: name = tree.xpath("//dd[@class='row clearfix ']") from lxml import html import requests url = 'http://navi.cnki.net/knavi/JournalDetail/GetArticleList?year=2018&issue=04
python爬虫:XPath语法和使用示例 XPath(XML Path Language)是一门在XML文档查找信息的语言,可以用来在XML文档对元素和属性进行遍历。 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码! QQ群:101677771 XPath使用路径表达式来
<div class="mnr-c _yE"> <div class="_kk _wI">In the news</div> <li class="card-section _df g _mZd"> <div class="_K2 _SYd"...