生活这么无聊,保存点小姐姐的图片来点调料吧

简介: 生活这么无聊,保存点小姐姐的图片来点调料吧

文章目录

1. 简介

使用的技术栈 : python3, re, BeautifulSoup

目标网站: https://www.umei.net/p/gaoqing/cn/

在21年6-11摸鱼时间补充一份【多线程版本】,学习愉快!!

免责声明:仅用于学习,请勿商用!!!!

2. 开始行动

2.1 步骤

  1. 获取html
  2. 数据清洗(获取图片标签)
  3. 获取图片标签里面的src
  4. 发起请求并保存图片

2.2 实现代码

import requests
import re
from bs4 import BeautifulSoup
url = 'https://www.umei.net/p/gaoqing/cn/'
r = requests.get(url)
# with open('./meinv.html','wb+') as f:
#     f.write(r.content)
if(r.status_code == 200 ):
    imgs = []
    soup = BeautifulSoup(r.content, 'html5lib')
    img_list = soup.select('.TypeBigPics img ')
    for i in img_list:
        # print(i)
        res = re.search('src="(.*?)"', str(i) , re.M | re.I)
        imgs.append( str (res.group(1)) )
    for i,k in enumerate (imgs):
        # print(i,type(k))
        ans = requests.get(k)
        if (ans.status_code == 200):
            with open(str (i) +'.jpg', 'wb+') as f:
                f.write(ans.content)

2.3 成果

2.4 成果分析

  • 虽然成功拿到了图片,但是图片的清晰度不够,可进一步优化

2.5 优化

  • 优化分析

通过分析可知:我们可以通过点击图片外面的a标签获取到图片大图

2.6 代码优化

import requests
import re
from bs4 import BeautifulSoup
url = 'https://www.umei.net/p/gaoqing/cn/'
r = requests.get(url)
# with open('./meinv.html','wb+') as f:
#     f.write(r.content)
if(r.status_code == 200 ):
    imgs = []
    soup = BeautifulSoup(r.content, 'html5lib')
    # 获取img外面的a标签
    aList = soup.select('.TypeBigPics')
    for item in aList:
        obj = re.search('.*?\/cn\/(.*?)".*', str(item), re.M | re.I )
        imgs.append( str( obj.group(1)) )
    ans_imgs = []
    for i,k in enumerate(imgs):
        # print(str(url + k))
        ans = requests.get(str(url+k))
        if(ans.status_code==200):
            soup1 = BeautifulSoup(ans.content, 'html5lib')
            imgBody = soup1.select('.ImageBody img')
            # print(imgBody)
            # 获取大图的src
            obj = re.search('.*?src="(.*?)"', str(imgBody), re.M | re.I )
            ans_imgs.append(  obj.group(1))
    # print(ans_imgs)
    # 保存大图
    for i,k in enumerate(ans_imgs):
        b = requests.get(str(k))
        if(b.status_code==200):
            with open('./'+str(i)+'.jpg','wb+') as f:
                f.write(b.content)

2.7 成果

相关文章
|
数据采集 分布式计算 搜索推荐
使用Python实现网页中图片的批量下载和水印添加保存
使用Python实现网页中图片的批量下载和水印添加保存
|
7月前
|
存储 Python
python实现图片与视频转换:将视频保存为图片,将批量图片保存为视频
python实现图片与视频转换:将视频保存为图片,将批量图片保存为视频
|
Python
生活这么无聊,保存点小姐姐图片作为调料吧(多线程版本)
生活这么无聊,保存点小姐姐图片作为调料吧(多线程版本)
|
存储 人工智能 前端开发
前端合成海报并保存到本地
前端合成海报并保存到本地
98 0
|
搜索推荐 Python Windows
图片太大传输和保存不方便?一招解决你的烦恼!
在日常工作中,“拍照”是我们必不可不少的一件事情。写简报、总结都离不开图片。
151 0
|
存储 计算机视觉 索引
使用Matlab修改压缩Gif动态图片制作微信表情
电脑里存了很多有意思的Gif动态图片,闲暇想把这些动图全导入微信表情,可是这些动图很多大小超过了微信表情大小1MB的限制,要制作成表情只能压缩图像文件大小。网上有很多小的图像处理软件和图像处理网站,尝试了很多,效果都并不是很好。于是决定自己动手来处理图像文件,让文件满足自己的要求。
|
机器学习/深度学习 编解码 人工智能
Photoshop把AI论文demo打包实现了:照片上色、改年龄、换表情只需要点点鼠标
我们见过很多神经网络上色、换表情、修改年龄的研究和应用,但它们往往只存在于 GitHub 上,距离「人人能用」还有一段距离。但最近,推出 Photoshop 的 Adobe 这次终于有所表示了:你们论文里的效果,我们打包实现了。
389 0
Photoshop把AI论文demo打包实现了:照片上色、改年龄、换表情只需要点点鼠标