下载图片的程序

import requests
from lxml import etree

class TianJiPlc:
def init(self):
self.url_home_page=“https://wap.yesky.com/pic/”
self.headers={‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36’}

def requests_get(self,url):req=requests.get(url=url,headers=self.headers)		return req.textdef requests_get_plc(self,plc_url):for url in plc_url:req_plc=requests.get(url=url,headers=self.headers)return req_plc.content	def lxml_etre(self,html_text,xpath):html=etree.HTML(html_text)list_html=html.xpath(xpath)return list_htmldef url_url(self,url_):list_url=[]http="https:"for i in url_:url_urls=http+ilist_url.append(url_urls)return list_url			def dict_name(self,list_name,list_html):dict_type=dict(zip(list_name,list_html))return dict_typedef plc_files(self,plc_url_list,content):for plc_url in plc_url_list:name_plc=plc_url.split('/')[-1]with open(f"/storage/emulated/0/爬虫相册/{name_plc}","wb") as f:f.write(content)print("下载完成:",len(plc_url_list))	def one_url(self):req=self.requests_get(self.url_home_page)#print(req)nu='//div/div/ul/li//a/@href'list_nu=set(self.lxml_etre(req,nu))list_plc=self.url_url(list_nu)return list_plc

tianji=TianJiPlc()
one=tianji.one_url()
print(one,len(one))

for i in one:
two=tianji.requests_get(i)
src=’//div/ul/li/img/@data-src’
src_list=tianji.lxml_etre(two,src)
print(src_list)

cont=tianji.requests_get_plc(src_list)
tianji.plc_files(src_list,cont)
hre='//ul[@class="swiper-slide"]/li/a/img/@src'
list_hre=tianji.lxml_etre(two,hre)co=tianji.requests_get_plc(list_hre)
tianji.plc_files(list_hre,co)		

在这里插入图片描述

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

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

相关文章

笔记本电脑win7 Wireless-AC 7265连不上wifi6

1.背景介绍 旧路由器连接人数有限,老旧,信号不稳定更换了新路由器,如 TL-XDR5430易展版用户电脑连不上新的WIFI网络了,比较着急 核心问题:有效解决笔记本连接wifi上网问题,方法不限 2.环境信息 Windows…

设计模式——建造者模式03

工厂模式注重直接生产一个对象,而建造者模式 注重一个复杂对象是如何组成的(过程),在生产每个组件时,满足单一原则,实现了业务拆分。 设计模式,一定要敲代码理解 组件抽象 public interface …

C++ 注册Nacos

下载源码: git clone GitHub - nacos-group/nacos-sdk-cpp: C client for Nacos 编译源码 cd nacos-sdk-cpp cmake . make 生成库文件 在nacos-sdk-cpp 下 注册nacos 将include 和libnacos-cli.so libnacos-cli-static.a 放入你的工程 如果Nacos服务地址:…

AI Kimi:帮助教师做好试卷命题

原文:https://www.toutiao.com/article/7353661304307778083/?log_fromcfd0a50014034_1712243146922 最近,Kimichat工具很火。这款软件不仅仅是一个聊天和阅读工具,还是一个强大的教学辅助工具。作为一位教师,尝试使用Kimichat&…

HTML:框架

案例&#xff1a; <frameset cols"5%,*" ><frame src"left_frame.html"><frame src"right_frame.html"> </frameset> 一、<frameset>标签 <frameset>标签&#xff1a;称为框架标记&#xff0c;将一个HTML…

JAVA毕业设计132—基于Java+Springboot+Vue的自习室座位预约小程序管理系统(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的自习室座位预约小程序管理系统(源代码数据库)132 一、系统介绍 本项目前后端分离带小程序&#xff0c;分为管理员、用户两种角色 1、用户&#xff1a; 注…

分享webgl魔幻星球

界面截图 webgl 是在网页上绘制和渲染三维图形的技术&#xff0c;可以让用户与其进行交互。divcss、canvas 2d 专注于二维图形。 对公司而言&#xff0c;webgl 可以解决他们在三维模型的显示和交互上的问题&#xff1b;对开发者而言&#xff0c;webgl 可以让我们是实现更多、更…

UE4 C++获取Niagara变量值

UE4 获取Niagara变量值 Niagara有一堆Get方法&#xff0c;但是是基于数据的&#xff0c;单独的Set方法是有的&#xff0c;因此&#xff0c;我们这参考Set源码去Get 源代码如下&#xff1a; 我们的实现&#xff08;当然要返回其他类型值&#xff0c;修改一下对应传参就行了…

在线考试|基于Springboot的在线考试管理系统设计与实现(源码+数据库+文档)

在线考试管理系统目录 目录 基于Springboot的在线考试管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、前台&#xff1a; 2、后台 管理员功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主…

[问题记录] oracle问题汇总记录

plsql问题 1、oracle-initialization error could not locate OCI.dll 下载plsql客户端后&#xff0c;登录显示如图所示的错误 解决方法&#xff0c;点击下方链接&#xff0c;下载64位客户端 Instant Client for Microsoft Windows (x64) 64-bit (oracle.com) 2、显示中文乱…

MongoDB 启动异常

Failed to start up WiredTiger under any compatibility version. 解决方案: 删除WiredTiger.lock 和 mongod.lock两个文件&#xff0c;在重新启动。回重新生成新的文件。

72小时内报告!美国发布关键基础设施网络攻击通报新规草案

美国网络安全和基础设施安全局(CISA)本周四发布了关键基础设施企业如何向政府报告网络攻击的规定草案。 新规基于拜登2022年3月15日签署的美国《关键基础设施网络事件报告法案》(简称CIRCIA)。这是美国联邦政府首次提出一套跨关键基础设施部门的全面网络安全规则。CISA正在就规…