IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Python图片网站进行本地下载 -> 正文阅读

[网络协议]Python图片网站进行本地下载

图片路由: https://wallhaven.cc/random

?1. 首先对图片页面进行分析,

2. 进行判断分页情况下的路由拼接

3.可以添加一些headers、Cookie等反爬技术

4.用xpath找到第一层小图片节点,

5.进行获取路由的判断和异常捕获

6.再次进行请求解析路由,获取当前路由下大图片的图片链接。

7.对获取的链接进行下载本地

8.代码编写如下:

from lxml import etree
import requests


n = 0
for page in range(1,11):
    url = f'https://wallhaven.cc/random?seed=zNGmWy&page={page}'
    # 添加的请求头,防止访问不到页面
    headers = {
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
        "Cookie":'ZHID=76F5D24EEAD18CB4512234D2C997A025; platform=H5; PassportCaptchaId=c44d5f12972f57fb28b25f0aecd08d1f; AST=1636638274498ee9eb5f23e; ver=2018; zh_visitTime=1636631076146; zhffr=0; sajssdk_2015_cross_new_user=1; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2217d0ed05d762ec-030bb163da3afe-57b1a33-1049088-17d0ed05d771a4%22%2C%22%24device_id%22%3A%2217d0ed05d762ec-030bb163da3afe-57b1a33-1049088-17d0ed05d771a4%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_referrer%22%3A%22%22%2C%22%24latest_referrer_host%22%3A%22%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%7D%7D; v_user=%7Chttp%3A%2F%2Fbook.zongheng.com%2Fstore%2Fc0%2Fc0%2Fb0%2Fu0%2Fp1%2Fv0%2Fs9%2Ft0%2Fu0%2Fi1%2FALL.html%7C57062943; Hm_lvt_c202865d524849216eea846069349eb9=1636631076; __zhct=a304fc7a5ef7343d85830ae98acc80cb.131660699915374; logon=NTM0MzI4MjE%3D%7CMA%3D%3D%7C%7C5Lmm5Y%2BLNTk1MjgwOTY%3D%7CdHJ1ZQ%3D%3D%7CLTEzOTUwMDcxODU%3D%7CAE100885193A0ED46043D53610652EB8; __logon__=NTM0MzI4MjE%3D%7CMA%3D%3D%7C%7C5Lmm5Y%2BLNTk1MjgwOTY%3D%7CdHJ1ZQ%3D%3D%7CLTEzOTUwMDcxODU%3D%7CAE100885193A0ED46043D53610652EB8; loginphone=15139489082; Hm_lpvt_c202865d524849216eea846069349eb9=1636635436; Hm_up_c202865d524849216eea846069349eb9=%7B%22uid_%22%3A%7B%22value%22%3A%2253432821%22%2C%22scope%22%3A1%7D%7D; visit_list=53432821'
    }
    # 请求图片带页码的路由
    response = requests.get(url,headers=headers)
    html_str = response.content.decode()
    # 运用xpath 进行解析路由
    root = etree.HTML(html_str)
    li_node_list = root.xpath('//section[@class="thumb-listing-page"]/ul/li')
    # 打印当前页数的 图片数量
    print(len(li_node_list))
    for li_node in li_node_list:
        # 获取到里面的 高清大图 路由
        url2 = li_node.xpath('.//figure/a/@href')[0]
        if url2:
            # 进行异常处理
            try:
                response2 = requests.get(url2,headers=headers)
                html_str2 = response2.content.decode()
                root2 = etree.HTML(html_str2)
                # 获取到当前路由下 图片的节点
                src_node = root2.xpath('.//section[@id="showcase"]//img/@src')[0]
                n += 1
                # 将图片 进行存储到 当前文件夹路径
                with open(f"./壁纸大图{n}.jpg",'wb') as f:
                    photo = rq.get(src_node).content
                    f.write(photo)
                print(src_node,f"./壁纸大图{n}.jpg   下载成功")
            # 出现异常时 打印异常 跳出此次异常
            except Exception as e:
                print("当前出现异常,错误为:",e)
                continue

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 16:19:48  更:2021-12-14 16:20:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:26:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码