爬取虎牙直播图片的分析

文章目录

  • 爬取虎牙直播图片的分析
  • 一、直接放源码
  • 二、代码分析
  • 总结

一、直接放源码

import requests
from lxml import etree
url='https://www.huya.com/g/4079'
r=requests.get(url)
data=etree.HTML(r.text)girls=data.xpath('//img[@class="pic"]')  #匹配
for girl in girls:img_url=girl.xpath('./@data-original')[0]name=girl.xpath('./@alt')img=requests.get(img_url)with open('./image/%s.jpg' %name,'wb') as jpg:jpg.write(img.content)print("<%s> 下载成功" %name)

注:image是在该py文件外部创建的文件夹,可以从这段代码看出来:

with open('./image/%s.jpg' %name,'wb') as jpg:

二、代码分析

首先在虎牙官网找到需要爬取的主播图片的具体网址,即:

<img class="pic" data-original="https://anchorpost.msstatic.com/cdnimage/anchorpost/1029/e0/bba5da111110676c3a1e05b2795558_4079_1631157512.jpg?imageview/4/0/w/338/h/190/blur/1" src="https://anchorpost.msstatic.com/cdnimage/anchorpost/1029/e0/bba5da111110676c3a1e05b2795558_4079_1631157512.jpg?imageview/4/0/w/338/h/190/blur/1/format/webp" data-default-img="338x190" alt="千凰-星瑶仙境的直播" title="千凰-星瑶仙境的直播">

由于代码中使用了xpath,我们先分析一下xpath的语法:
代码中使用了“//”即可以在子孙节点中查找,那么“girls=data.xpath(’//img[@class=“pic”]’) #匹配
就可以直接定位到上文红框的代码处。
需要注意的是,每个图片都是套在li标签中的,所以生成的girls是一个存放了很多组数据的数组.

接下来对每一组数据,获取图片地址和图片名:

for girl in girls:img_url=girl.xpath('./@data-original')[0]name=girl.xpath('./@alt')

因为是同级的标签,所以用的是 ./

最后是对图片的处理:

    with open('./image/%s.jpg' %name,'wb') as jpg:jpg.write(img.content)print("<%s> 下载成功" %name)

在同级文件夹的image中写入图片,wb表示二进制形式,然后用%s占位来显示每一个图片名称。

总结

主要就是用到etree和lxml两个库,在安装的时候笔者花了不少功夫,如果有问题可以询问我,尽量及时回复。

爬取虎牙直播图片的代码分析相关推荐

  1. 【爬虫实战】python爬取虎牙直播间封面美女图片

    Python爬虫爬取虎牙直播间封面美女图片 本文目录 Python爬虫爬取虎牙直播间封面美女图片 写作缘起 上代码 效果展示 思路分析 写作缘起 这篇文章主要是介绍如何使用python爬虫来爬取虎牙直 ...

  2. jsoup爬取虎牙直播的信息

    jsoup爬取虎牙直播的信息,实时得到主播名字,直播间链接,推荐位,标题,人气的数据 主要代码如下: package main;import java.util.ArrayList;import or ...

  3. python从网址爬图片协程_Python爬虫多任务协程爬取虎牙MM图片

    查看: 4420|回复: 241 [作品展示] Python爬虫多任务协程爬取虎牙MM图片 电梯直达 发表于 2019-4-17 21:35:47 | 只看该作者 |倒序浏览 |阅读模式 马上注册,结 ...

  4. 爬取虎牙游戏主播人气分析实战

    爬取虎牙游戏主播人气分析实战: 在写的时候遇得了几个坑,然后又填上了: 第一个是: 开头我想爬取主播人气:但是找不到 div 只找到 span 遇到下一个</span>就结束了 无奈只能找 ...

  5. python爬虫真假网址,python爬取福利网站图片完整代码,懂得人都懂

    网址需要自己替换懂的人都懂512*2,主要学习简单的爬虫,别乱用,否则后果自负! [Python] 纯文本查看 复制代码 import requests,bs4,re,os,threadingclas ...

  6. python最新官网图片_python爬取福利网站图片完整代码

    存起来 自己学习... import requests,bs4,re,os,threading class MeiNvTu: def __init__(self): self.url_main='ht ...

  7. Python Selenium简单爬取虎牙直播弹幕(仅学习)

    目录 前言 一.爬虫思路 二.使用步骤 1.引入库 2.通过selenium进入直播间 3.分析HTML 4.实现伪监听 总结 前言 学习python的第二周,在此记录学习进程: 这次有了需求,由于要 ...

  8. 通过对json数据解析爬取虎牙直播数据并存入csv文件

    学习了Python语言程序设计和Python网络爬虫与信息提取,需要找些网站来练练手,于是在网上找了些别人爬取的网站,最终选择了虎牙直播平台进行爬取,并为后续数据分析存储数据. 首先打开虎牙直播平台, ...

  9. python爬虫--使用selenium--实战爬取虎牙直播平台

    今天我们对虎牙平台的lol板块的主播信息进行爬取,主要爬取主播名称,以及观看人数. 下面我们先来分析一下网页源吧: 这张图片下面的翻页列表是动态的,随着上线的主播越来越多,翻页的列表也会越来越大. 通 ...

最新文章

  1. OpenCV中resize函数五种插值算法的实现过程
  2. UIWebView保存网页中的图片(转载)
  3. OC--有这么一个 整数 123456789,如何将这个整数的每一位数,从末位开始依次放入数组中,并遍历 倒序输出字符串...
  4. 基于SSM实现社区医院管理系统
  5. HDU——2064汉诺塔III
  6. Spring注释详解
  7. 基于 Kubernetes 实践弹性的 CI/CD 系统
  8. php js 循环对象属性,js 遍历对象的属性的代码_javascript技巧
  9. C语言丨定积分的近似计算
  10. 阿里云CentOS服务器搭建静态网站(零基础)
  11. 【STM32H7的DSP教程】第3章 Matlab简易使用之基础操作
  12. eds能谱图分析实例_如何使用EDS对材料进行定性定量分析?
  13. unity 纹理压缩格式‘_游戏制作行业为什么使用TGA格式的贴图而不使用PNG格式?...
  14. Layui多文件上传,java后台(servlet实现)
  15. day1 -- ELMO语言模型
  16. 初中计算机实践研究计划,《初中信息技术学科学生作品有效评价的实践研究》课题研究计划...
  17. 刚开始做微商如何引流 ?一开始做微商没有客源怎么办
  18. 解决谷歌浏览器自动填充变色问题
  19. ElasticKibana 安装部署
  20. 马尔科夫决策过程(Markov Decision Process)

热门文章

  1. 修复iOS模拟器无法启动
  2. 一起学python-一起学Python:列表介绍
  3. Vision引擎中环境 - 水体介绍
  4. lisp源码 微盘,AutoLISP - 源码下载|Windows编程|其他小程序|源代码 - 源码中国
  5. 题解 guP3956 棋盘
  6. java基础巩固-宇宙第一AiYWM:为了维持生计,四大基础之计网_Part_1-1(计算机网络体系_七层模型五层模型TCP/IP四层模型、TCPUDPIP的故事【TCP三握四挥】)整起
  7. wex导入mysql_MariaDB远程连接配置
  8. AVPlayerLayer与AVPlayer媒体播放器
  9. Diffie-Hellman密钥是如何交换的
  10. MATLAB弦截法求解非线性方程