编程语言
首页 > 编程语言> > Python:批量保存好看的图片到本地,爱了吗?

Python:批量保存好看的图片到本地,爱了吗?

作者:互联网

我们在摸鱼冲浪时,看到一些十分中(hao)意(kan)的图(mei)片(nv),总是忍不住流连忘返,甚至还想都保存下来,但是一张一张的保存又太麻烦了,那这时候就得用到咱们的python啦~
在这里插入图片描述

知识点:

1、系统分析目标网页
2、html标签数据解析方法
3、海量图片数据一键保存

软件:

需要安装的模块:

键盘按 win+r 输入cmd打开命令提示符窗口,输入 pip install requests 安装,两个模块安装方法是一样的。

本文思路

1. 分析网站 (思路分析)

数据所在地址 kanxiaojiejie 大家自己完善一下地址,包括后面代码里的。

2、爬虫流程

发送请求 - 获取数据 - 解析数据 - 保存数据

代码展示

模块导入

import requests     
import parsel       

发送请求

def get_response(html_url):

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'
    }
    # 为什么这里要 requests.get()  post() 请求会更安全...
    response = requests.get(url=html_url, headers=headers)
    return response

保存数据


    img_data = requests.get(img_url).content
    img_name = img_url.split('/')[-1]
    print("正在下载: " + img_name)
    with open("img\\" + img_name, mode='wb') as f:
        f.write(img_data)

解析数据
获取图片url地址以及标题 提取数据

def parse_1(html_data):

    selector = parsel.Selector(html_data)
    link_list = selector.css('.entry-title a::attr(href)').getall()
    return link_list

主函数

def run(url):
    data_html = get_response(url).text
    link_list = parse_1(data_html)
    for link in link_list:
        data_html_1 = get_response(link).text
        img_list = parse_2(data_html_1)
        for img in img_list:
            save(img)

调用主函数运行

for page in range(1, 112):
    url = f'kanxiaojiejie/page/{page}'
    run(url)

最后的照片我就不展示了,毕竟每个人都有一点自己的小私藏嘛嘿嘿~
在这里插入图片描述

标签:批量,img,get,Python,list,url,html,data,好看
来源: https://blog.csdn.net/m0_67575344/article/details/123600958