python spider 爬虫 之 解析 xpath 、jsonpath、BeautifulSoup (-)

news/2024/7/19 12:23:56 标签: python, 爬虫, beautifulsoup

Xpath 插件下载及安装

下载地址:https://chrome.zzzmh.cn/info/hgimnogjllphhhkhlmebbmlgjoejdpjl
安装xpath
在这里插入图片描述
如果下载的xpath后缀是crx 格式的, 直接改成zip格式,然后直接拖拽到上面的界面中便可,
查看是否安装成功, ctrl+ shift +X 出现下面界面
在这里插入图片描述
如果没有出现,请重启谷歌浏览器

安装lxml

要安装在pycharm解释器对应的位置,查看pycharm解释器的位置
方法1,pycharm右下角 在这里插入图片描述
方法2.pycharm 菜单 File 》》 settings
在这里插入图片描述
知道python 解释器安装的位置。
在这里插入图片描述

通过cmd命令进入对应位置
在这里插入图片描述
4.9.2 版本的lxml版本,没有etree,可以安装制定版本
pip install lxml==4.2.5
安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
| 或运算, 针对元素 非属性

在这里插入图片描述

python">from lxml import etree

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

# 解析服务端文件
html_tree = etree.HTML(response.read().decode('UTF-8'))
# xpath 路径
html_tree.xpath(xpath路径)
# 查找id为l1的标签的class的属性值
html_tree.xpath('//ul/li[@id="l1"]/@class')
# 查找所有有id数学的li标签 text() 获取标签的内容
html_tree.xpath('//ul/li[@id="l1"]/text()')

在这里插入图片描述

获取百度上面的 高考上百度,智能报志愿

在这里插入图片描述

python">#  获取百度上面的   高考上百度,智能报志愿

from urllib import request
from lxml import etree
url = "https://www.baidu.com"

headers = {
    'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
# 请求对象定制
req = request.Request(headers=headers, url=url)
# 获取网页源码
res = request.urlopen(req)
content = res.read().decode('utf-8')
# 解析服务器响应的文件 etree.HTML()    解析本地用etree.parse()
tree = etree.HTML(content)
# xpath  返回list 列表
result = tree.xpath('//span[@class="undertips-link-text"]/text()')
print(result[0])

可以结合 urllib.request.urlretrieve 下载 照片 等


http://www.niftyadmin.cn/n/468884.html

相关文章

Python入门教程+项目实战-14.1节-程序实战-函数的参数用法

目录 14.2.1 位置参数与关键字参数 14.2.2 函数的参数默认值 14.2.3 函数的引用类型参数 14.2.4 函数的可变参数 14.2.5 知识要点 14.2.6 系统学习python 14.2.1 位置参数与关键字参数 位置参数与参数的位置相关,这里的位置是指定义函数时的从左到右的参数排…

数学模型在水环境评价、防洪评价、排污口论证、水质、水量、水生态、水动力等方面的应用

目录 专题一、一维水动力模型模拟一河道水流的应用 专题二、一维复杂河网模型构建及建筑物设置 专题三、一维水质模型在环境影响评价中的应用 专题四、平面二维水动力模型的构建河验证 专题五、平面二维水动力模型在防洪影响评价中的应用 专题六、平面二维水动力水质模型…

十大公认音质好的骨传导耳机,几款音质排行靠前的骨传导耳机

骨传导耳机是通过头部骨迷路传递声音,而不是直接通过耳膜的振动来传递声音。与传统的入耳式耳机相比,骨传导耳机不会堵耳朵,在跑步、骑车等运动时可以更好的接收外界环境音,保护听力,提升安全性。此外,骨传…

.NetCore消息总线 MessageBus

文章目录 MessageBus愿景安装包订阅消息Subscribdemo 发布消息demo发布消息订阅消息 MessageBus 一个基于.net的消息总线 愿景 降低程序(特别是cs程序)各个类之间的耦合度,在上位机开发中常常会遇到某一个page(form&#xff09…

Python基础八

目录 一、Python条件控制语句 1.执行过程 2.if 语句 if中常用的操作运算符: if 嵌套 3.match...case语句 二、Python循环控制语句 1.while循环 while无限循环 while 循环使用 else 语句 2.for 循环语句 for...in...循环 for循环使用else语句 for...in range()…

学生选课系统

学生选课系统 演示视频 技术: 基于ssmjsp前学生选课系统的设计与实现 运行环境: JAVA版本:JDK1.8 IDE类型:IDEA、Eclipse都可运行 数据库类型:MySql(8.x版本都可) tomcat版本:无限…

第 351 场LeetCode周赛

A 美丽下标对的数目 模拟 class Solution { public:int countBeautifulPairs(vector<int> &nums) {int n nums.size();int res 0;for (int i 0; i < n; i)for (int j i 1; j < n; j)if (gcd(to_string(nums[i])[0] - 0, to_string(nums[j]).back() - 0) …

Nginx 优化配置及详细注释~转

Nginx 优化配置及详细注释 转https://www.cnblogs.com/taiyonghai/p/5610112.html Nginx 的nginx.conf文件&#xff0c;是调优后的&#xff0c;具体影响已经写清楚注释&#xff0c;可以拿来用&#xff0c;有一些设置无效&#xff0c;我备注上了&#xff0c;不知道是不是版本的…