今天给大家介绍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实战| 爬取虎牙高质量小姐姐私房照!相关推荐

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

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

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

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

  3. Python爬虫:运用多线程、IP代理模块爬取百度图片上小姐姐的图片

    Python爬虫:运用多线程.IP代理模块爬取百度图片上小姐姐的图片 1.爬取输入类型的图片数量(用于给用户提示) 使用过百度图片的读者会发现,在搜索栏上输入关键词之后,会显示出搜索的结果,小编想大多 ...

  4. Python爬取不羞涩网小姐姐图片——BeautifulSoup应用

    引言 今年提倡原地过年,相信很多朋友都没有回家过年,像我就被迫留在深圳过年了,无聊之余只能去看看电影爬爬山.今天给大家带来一个打发无聊时光的案例,用Python爬取不羞涩网小姐姐图片,并保存到本地,老 ...

  5. python爬虫爬取微信公众号小程序信息

    python爬虫爬取微信公众号小程序信息 爬取内容 某汽车维修信息提供的维修店名称,地点以及电话(手机)号码 爬取步骤 啥也别管,先抓包看看,在这里,博主使用的抓包软件是charles 抓包:将网络传 ...

  6. python指定爬取虎牙图片(简单详细)

    关于 看了很久的斗鱼主播图片,我的欲望也欲来不满,望着他隔壁家的虎牙,我的心开始动摇,最后,我忍不住点开了看,发现了新鲜的图片,人就是如此,祖传手艺岂可落下,于是我开始爬取虎牙的图片- 想看斗鱼的指定 ...

  7. 太刺激了!用python30行代码抓取虎牙上万个小姐姐跳舞视频,不说了,鼻血上来了···

    关注我,每天分享软件测试技术干货.面试经验,想要领取测试资料.进入软件测试学习交流群的可以直接加群644956177~~ 很多小伙伴在平时看视频的时候,都喜欢看小姐姐的舞蹈视频.今天,小编就和大家一起 ...

  8. Python爬虫实战:爬取YY上漂亮小姐姐视频

    目录 1.目标 2.确定数据所在的url 3.发送网络请求 4.数据解析 5.数据保存 6.爬取其他页数据 1.目标 本次目标是爬取YY(https://www.yy.com/)主页分类中小视频板块, ...

  9. 三分钟教会你用Python爬取到喜欢的小姐姐图片

    使用Python爬取小姐姐图片 首先上网站链接 唯vb.net教程 美女生 爬取图片主要分为一下几步: 1.打开一个你喜欢c#教程的小姐姐的网站 E.g xiaojiejie web 2.下载并安装p ...

最新文章

  1. python输入一组数字存到列表_Python如何使用输入传递多个值并将它们存储在一个列表中(简单版本),python,怎么,input,传入,储存,到...
  2. CVPR 2021奖项出炉:最佳论文花落马普所,何恺明获提名,首届黄煦涛纪念奖颁布...
  3. opencv-api houshlinesp
  4. 推理集 —— 特殊的空间
  5. 记自己的第一个完整的java web项目
  6. virtualbox虚拟机linux共享文件夹,Virtualbox下linux虚拟机共享文件夹挂载
  7. arduino连接ps2手柄控制智能小车实践记录-续
  8. 【土壤分类】基于支持向量机实现土壤分类附matlab代码
  9. Python 网络爬虫:Scrapy框架下爬虫的简单思路
  10. hbase metric 监控项
  11. ffmpeg过滤器系列:序章,什么是ffmpeg过滤器?ffmpeg过滤器可以用来做什么
  12. 流利阅读 2019.1.8 Taylor Swift used facial recognition software to detect stalkers at LA concert
  13. Unity Fleck Map 参数说明
  14. 一款手机电脑都能用的进销存财务软件
  15. json bosn
  16. 数学分析教程 番外篇(2):微分方程 学习感受
  17. win10进入系统后只有鼠标箭头,桌面全黑(文件系统错误-2018374635)
  18. 全景图的获取以及HTML页面显示全景图
  19. MySQL高并发生成唯一订单号的方法
  20. 用户增长体系——用户分群分析

热门文章

  1. ElasticSearch 全文搜索引擎
  2. Teams Bot App Manifest 文件解析
  3. c语言的职业兴趣测试,职业生涯规划计算机
  4. 气候变化对深圳的影响
  5. 大数据剖析:想与北上争雄,深圳到底还差在哪儿?
  6. 安卓游戏应用如何在linux上流畅运行
  7. JavaScript:实现给定一个句子,返回出现次数最多的单词算法(附完整源码)
  8. JSP使用EL表达式实现if,else
  9. 在PPT中怎么对图片进行排版?使用SmartArt一键教你搞定!
  10. 如果Mac苹果电脑关机关不了怎么办?