Python:批量保存好看的图片到本地,爱了吗?
2022/3/19 22:30:24
本文主要是介绍Python:批量保存好看的图片到本地,爱了吗?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
我们在摸鱼冲浪时,看到一些十分中(hao)意(kan)的图(mei)片(nv),总是忍不住流连忘返,甚至还想都保存下来,但是一张一张的保存又太麻烦了,那这时候就得用到咱们的python啦~
知识点:
1、系统分析目标网页
2、html标签数据解析方法
3、海量图片数据一键保存
软件:
- python 3.8
- pycharm 2021专业版
没有软件的小伙伴可以在官网下载,也可以在点击此链接进群领取
需要安装的模块:
- requests # 第三方 模块
- parsel # 解析数据
键盘按 win+r 输入cmd打开命令提示符窗口,输入 pip install requests 安装,两个模块安装方法是一样的。
本文思路
1. 分析网站 (思路分析)
- ①确定爬取内容
数据所在地址 kanxiaojiejie 大家自己完善一下地址,包括后面代码里的。
- ②通过查看网页源代码分析数据内容
2、爬虫流程
发送请求 - 获取数据 - 解析数据 - 保存数据
- 向目标网站发送网络请求 kanxiaojiejie
- 获取数据 (网页源代码)
- 解析数据(提取数据) 相册详情页地址 标题
- 向详情页发送网络请求
- 获取数据 (网页源代码)
- 解析数据 (提取数据图片链接)
- 向图片链接发送请求
- 保存数据
代码展示
模块导入
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)
最后的照片我就不展示了,毕竟每个人都有一点自己的小私藏嘛嘿嘿~
这篇关于Python:批量保存好看的图片到本地,爱了吗?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python