今天给大家介绍python如何爬取虎牙小姐姐并制作心形照片墙,

有兴趣的小伙伴们一起来看看吧!

点击进去

卧槽,这颜值.....

i了i了

需求分析

我们的目标有5个,分别是小姐姐的

房间名称、封面照片、昵称、头像、直播间当前人数

网页分析

浏览器快捷键F12打开开发者模式,可以观察到当前页面120个小姐姐信息都在右边列表里面。

但是大家可以看看我标红处,这是一个非标准格式的json数据集,

所以要想获取到小姐姐的信息

先得获取到标准的数据集

发送请求

    url = f'https://www.huya.com/cache.php?m=LiveList&do=getLiveListByPage&gameId=2168&tagAll=0&callback=getLiveListJsonpCallback&page={page}'headers = {'cookie': '__yamid_tt1=0.17768755672559844; __yamid_new=C9662ED452B00001997340851CC8140B; game_did=j7Os0i0Txedw1cLUtP0vmKnalM1x65kO3rE; SoundValue=0.50; alphaValue=0.80; guid=0a42cb71a121c360e701bcfbbdfb20c9; udb_guiddata=b45f59af594a4e83cde65858; udb_anouid=1461170529732; isInLiveRoom=true; Hm_lvt_51700b6c722f5cf39906a596ea41f=1623400798,1624888823,1624928362; udb_passdata=3; __yasmid=0.17768755672559844; _yasids=__rootsid%3DC96BDFA246600001458617807F641C12; Hm_lpvt_51700b6c722f5bb4cf39906a596ea41f=1624928418; huya_web_rep_cnt=137','referer': 'https://www.huya.com/g/2168','user-agent': str(UserAgent().random)}try:resp = requests.get(url, headers = headers)print(resp.text)

去除非必要信息,构造标准json数据集

    text = resp.text[25:-1]            # 去除text格式前后无效字符json_text = json.loads(text)       # 转为标准json格式数据集print(json_text)

接下来我们就可以获取小姐姐信息啦

      room_name = item['roomName']        # 房间名称cover_link = item['screenshot']     # 封面照片nick = item['nick']                 # 昵称prof_phot = item['avatar180']       # 头像view_num = item['totalCount']       # 直播间当前人数print(room_name, cover_link, nick, prof_phot, view_num)

多页数据获取

小姐姐们直播大多集中在晚上,所以晚上爬取的数据有成千个,白天也就几百个,

不管你想获取多少,一个for循环就搞定啦

   # 获取10页虎牙小姐姐for page in range(1, 10+1)url = f'https://www.huya.com/cache.php?m=LiveList&do=getLiveListByPage&gameId=2168&tagAll=0&callback=getLiveListJsonpCallback&page={page}'

存入Excel

这里我们使用的是openpyxl来存储在Excel中

  # 创建ws = op.Workbook()wb = ws.create_sheet(index=0)wb.cell(row=1, column=1, value='房间名称')wb.cell(row=1, column=2, value='封面照片')wb.cell(row=1, column=3, value='昵称')wb.cell(row=1, column=4, value='头像')wb.cell(row=1, column=5, value='直播间当前人数')# ----------------------------------------# 存储wb.cell(row=count, column=1, value=room_name)wb.cell(row=count, column=2, value=cover_link)wb.cell(row=count, column=3, value=nick)wb.cell(row=count, column=4, value=prof_phot)wb.cell(row=count, column=5, value=view_num)ws.save('虎牙小姐姐.xlsx')

下载图片

重点来了,我要下载小姐姐美照了

    for num, (pic_img, pic_name) in enumerate(save_pic):r = requests.get(pic_img)pic = r.contenttry:with open('./pictures/{}.jpg'.format(pic_name), 'wb') as fin:print(f'正在爬取第{count}张图片')fin.write(pic)print('{}.jpg----下载成功'.format(pic_name))except:print('下载失败!')

然后就是这样

还有这样

图片可视化

这么多好看的小姐姐我要给他们将摆它们成一个心形,这样才能表达我满满的爱意

# 设置心性图片矩阵HEART = [[0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0],[0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0],[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],[0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0],[0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0],[0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0],[0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0]]# 定义相关参数SIZE = 100  # 每张图片的尺寸,越大越清晰N = 1  # 每个点位上放置1*1张图片# 计算相关参数width = np.shape(HEART)[1] * N * SIZE  # 照片墙宽度height = np.shape(HEART)[0] * N * SIZE  # 照片墙高度n_img = np.sum(HEART) * (N ** 2)  # 照片墙需要的照片数filenames = random.sample(os.listdir(save_path), n_img)  # 随机选取n_img张照片filenames = [save_path + f for f in filenames]print('宝宝开始集合!')# 绘制爱心墙img_bg = Image.new('RGB', (width, height))  # 设置照片墙背景i = 0for y in range(np.shape(HEART)[0]):for x in range(np.shape(HEART)[1]):if HEART[y][x] == 1:  # 如果需要填充pos_x = x * N * SIZE  # 填充起始X坐标位置pos_y = y * N * SIZE  # 填充起始Y坐标位置for yy in range(N):for xx in range(N):img = Image.open(filenames[i])img = img.resize((SIZE, SIZE), Image.ANTIALIAS)img_bg.paste(img, (pos_x + xx * SIZE, pos_y + yy * SIZE))i += 1# 保存图片img_bg.save('love.jpg')print('宝宝集合完毕!')

python实战|爬取1000位小姐姐私房照制作照片墙,刷新你三观的颜值!相关推荐

  1. 爬虫实战--爬取1000位小姐姐照片,刷新你三观颜值!

    爬取的网站链接:http://www.mmonly.cc/mmtp/ 主页网址唯一图库直接点到末页,一共有1274页. 右键点击一个图片链接,选择审查元素 这里的img是就封面,如果只抓取封面的话,到 ...

  2. Python爬虫 | 爬取高质量小姐姐照片

    Python爬虫 | 爬取高质量小姐姐照片 1.数据来源分析 2.获取author_id_list和img_id 3.制作detial 4.制作detial_list 5.数据保存 6.批量获取 7. ...

  3. 第一个爬虫项目-爬取唯美小姐姐网站

    爬取唯美小姐姐网站 链接: 源代码文件下载地址 展示 源代码 import requests import re import os import time# 伪装 用于可以伪装成浏览器. heade ...

  4. 用python爬小说_今天分享一个用Python来爬取小说的小脚本!(附源码)

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章天气预报数据分析与统计之美 ,作者:❦大头雪糕❦ Python GUI制作小说下载器教学讲 ...

  5. python3APP爬虫--爬取王者荣耀小姐姐cosplay照片(附源码)

    文章目录 一.絮叨 1.接上 2.启下 二.代码 三.查看数据 四.总结 一.絮叨 1.接上 自己挖的坑,自己填.上一篇python3APP爬虫–爬取王者荣耀英雄图片(附源码)爬取了王者荣耀英雄图片, ...

  6. python爬取天气预报数据并保存为txt格式_今天分享一个用Python来爬取小说的小脚本!(附源码)...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章天气预报数据分析与统计之美 ,作者:❦大头雪糕❦ Python GUI制作小说下载器教学讲 ...

  7. python实战| 爬取虎牙高质量小姐姐私房照!

    今天给大家介绍python如何爬取虎牙小姐姐并制作心形照片墙, 有兴趣的小伙伴们一起来看看吧! 点击进去,这颜值..... i了i了 需求分析 我们的目标有5个,分别是小姐姐的 房间名称.封面照片.昵 ...

  8. 美国网红python图片_爬取网红小姐姐图片(简单入门)

    简单爬虫 安装第三方库 请求页面 解析网页 保存图片 安装第三方库 安装第三方请求库(requests) pip install requests 请求页面 请求成功了 存在特殊情况:请求失败 原因八 ...

  9. python爬虫(八、爬取图片社的小姐姐图片并下载)

    爬取网页 Ⅰ.先抓取下这个网页,套模板就好了\color{Red}Ⅰ.先抓取下这个网页,套模板就好了Ⅰ.先抓取下这个网页,套模板就好了 def ask(url):head = {"User- ...

最新文章

  1. python使用configparser读取ini格式的配置文件
  2. linux管理子进程c,Linux 进程管理 CGroup
  3. 016_CSS选择器列表
  4. swoole安装全纪录
  5. 计算机access2级选择题真题,计算机二级《ACCESS》选择题练习及答案
  6. 资深专家都知道的顶级 Docker 命令!
  7. NYOJ 73 比大小
  8. linux用date指令,Linux中date指令的使用
  9. android旋转角度,android 旋转角度总结
  10. mac编译安装apache+php+mysql开发环境
  11. c# dynamic 类型调用静态方法实例
  12. (2)Spring框架----IOC基础快速入门
  13. SpringBoot线程池获取service实例空指针
  14. HENU 1062 luerの切割(2018哈理工程序设计原题)
  15. Deferred Decal
  16. 光盘都无法识别解决方法
  17. Seventh season twenty-first episode,Monica and Chandler both did not know how to write their vows???
  18. 函数最值题目及答案_二次函数的最值问题举例(附练习答案)
  19. python字符串按首字母排序,Python按字母順序排序字符串,首先是小寫
  20. 项目管理手记(七)--DRP系统的文化输出与营销 1

热门文章

  1. Elasticsearch 学习
  2. 2012年节假日安排公布
  3. 没有找到站点和本地项目上传到云服务器
  4. MySQL基础篇 | 聚合(分组)函数 、分组查询
  5. 自学Python之心得体会(一)
  6. android不root,为什么安卓手机不再需要Root了?真相竟如此简单
  7. 天津九博科技有限公司——感恩十年
  8. Windows启动MYSQL的两种方式
  9. 手机游戏降低游戏延迟的软件_如何修复玩手游时候延迟非常高?延迟很高怎么办?...
  10. 大数据分析该如何进行