python-xpath语法-爬取彼岸图4k高清动漫壁纸

安装

pip install lxml

导入

from lxml import etree

xpath使用路径表达式提取html文档中的元素或元素集,然后元素通过沿路径path或步steps来选取数据

XPath常用语法格式

表达式描述
div选取div元素的所有子元素
/div选取根元素div
ul//li选取ul元素下的所有li子元素
//@class选取所有具有class属性的元素
ul/li/[1]选取ul元素下的第一个li子元素
//div[@id=‘t2’]选取id属性为t2的所有div元素
//li[@class=‘box’]选取class属性为box的li子元素
/div/ui/li[@class=‘top’]选取根元素div下ul元素下的class属性为top的li子元素
//li/a/@href获取li元素下所有a元素的href值
//li/a/text()获取li元素下所有a元素的文本内容

使用xpath匹配数据实践

爬取彼岸图4k高清动漫壁纸 https://pic.netbian.com/4kdongman/

爬取第一页的图片

import requests
from lxml import etree
import osurl = 'https://pic.netbian.com/4kdongman/index.html'
r = requests.get(url)
r.encoding='gbk'
html = etree.HTML(r.text)# <Element html at 0x11647c63ec8>
img_urls = html.xpath("//div[@class='slist']/ul/li/a/@href")# ['/tupian/32274.html', '/tupian/32257.html', ...
for img_url in img_urls:# 第二层urlimg_url = 'https://pic.netbian.com' + img_urlrr = requests.get(url=img_url)rr.encoding='gbk'img_html = etree.HTML(rr.text)img_name = img_html.xpath("//a[@id='img']/img/@title")[0]# 高清图片的srcimg_src = 'https://pic.netbian.com' + img_html.xpath("//a[@id='img']/img/@src")[0]rimg = requests.get(url = img_src)# 可以改文件夹的名字folder_name = 'dongman'if not os.path.exists(folder_name):os.mkdir(folder_name)# 保存图片with open(f'{folder_name}/{img_name}.jpg','wb') as f:f.write(rimg.content)print(img_name)

在这里插入图片描述
批量爬取多页图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/109697.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法专题突破】滑动窗口 - 水果成篮(13)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后&#xff1a; 1. 题目解析 题目链接&#xff1a;904. 水果成篮 - 力扣&#xff08;Leetcode&#xff09; 题目有很长一段话&#xff0c;但是我们读一遍题目可以提炼转化出题目的要求 &#xff1a; 其实就是找出一个最长…

数据中心液冷服务器详情说明

目录 前言 何为液冷服务器&#xff1f; 为什么需要液冷&#xff1f; 1.数据中心降低PUE的需求 2.政策导向 3.芯片热功率已经达到风冷散热极限 4.液冷比热远大于空气 液冷VS风冷&#xff0c;区别在哪&#xff1f; 1.液冷服务器跟风冷服务器的区别 2.液冷数据中心跟风冷…

Java“牵手”速卖通商品列表页数据采集+速卖通商品价格数据排序,速卖通API接口申请指南

速卖通是阿里巴巴旗下的面向国际市场打造的跨境电商平台&#xff0c;被称为国际版淘宝&#xff0c;速卖通面向海外买家客户&#xff0c;通过支付宝国际账户进行担保交易&#xff0c;并使用国际物流渠道运输发货&#xff0c;是全球第三大英文在线购物网站。 速卖通商品列表数据…

《论文阅读》通过动态融入常识知识来提高同理心对话的生成

《论文阅读》通过动态融入常识知识来提高同理心对话的生成 前言简介模型架构Contextual ProbingContextual Unification Workspace代码实现Knowledge-Aware Decoder实验结果前言 你是否也对于理解论文存在困惑? 你是否也像我之前搜索论文解读,得到只是中文翻译的解读后感到…

基于SSM的客户管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

【SpringMVC】之自定义注解

文章目录 一、Java注解1.1 简介1.2 分类1.2.1 JDK基本注解1.2.2 JDK元注解1.3 自定义注解 二、使用自定义注解2.1 **案例一&#xff08;获取类与方法上的注解值&#xff09;**2.2 **案例二&#xff08;获取类属性上的注解属性值&#xff09;**2.3 **案例三&#xff08;获取参数…

创建UI账号密码登录界面

头文件 #ifndef MYWND_H #define MYWND_H#include <QPushButton> #include <QMainWindow>class MyWnd : public QMainWindow {Q_OBJECTpublic:MyWnd(QWidget *parent nullptr);~MyWnd(); }; #endif // MYWND_H 源文件 #include "mywnd.h" #include &…

揭秘 ChunJun:如何实现 e2esession 日志隔离

本文将从 e2e 的基本介绍&#xff0c;e2e 的使用与扩展&#xff0c;session 日志隔离三个维度为大家带来 ChunJun e2e & session 日志隔离的分享。 大量具体代码和演示请看视频教程⬇️ 视频课程&#xff1a; https://www.bilibili.com/video/BV1ru411P7oZ/?spm_id_from3…

2023/09/07 c++qt day2

#include <iostream>using namespace std; //封装一个学生类 struct stu { private://存放学生的成绩int stu_score[256];//记录学生个数int stu_num; public://用于设置学生个数void setNum(){cout<<"请输入学生的个数"<<" ";cin>&g…

前端vue点击图片上传(带封装方法)

第一种 直接用&#xff0c;图片路径自己换一下 <template><view class"uPImg"><view class"Img">上传照片 :</view><view class"shangchuan"><view class"sc2" v-for"(item, index) in imgLi…

为什么要选择期权?开通期权有何益处?

相较于期货&#xff0c;期权的交易方式更为灵活多样&#xff0c;对标的期货市场也有较高的要求。据了解&#xff0c;在国际成熟的期权市场上&#xff0c;流动性和价格波动性是判断期货品种是否适合开展期权交易的两大关键因素&#xff0c;下文介绍为什么要选择期权&#xff1f;…

Redis 删除策略

文章目录 Redis 删除策略一、过期数据二、数据删除策略1、定时删除2、惰性删除3、定期删除4、删除策略对比 三、逐出算法 Redis 删除策略 一、过期数据 Redis是一种内存级数据库&#xff0c;所有数据均存放在内存中&#xff0c;内存中的数据可以通过TTL指令获取其状态 XX &a…