python xpath提取HTML中的数据

本文会介绍requests和webdriver的方式利用xpath去提取想要的信息;

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’>
电影名称: 肖申克的救赎

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值