lsp篇批量爬取你喜欢的虎牙直播美女图片

13 篇文章 1 订阅
4 篇文章 0 订阅

1、目的

高效爬取图片,联系基本的xpath,以及简单函数,文件存储等。

2、逻辑实现

运用requests 发起get请求url 得到response_html
再解析数据
data = etree.HTML(response_html.text)
from lxml import etree
再用xpath定位想要的地址
匹配规则
以虎牙直播为例
按f12 点击元素选择器element
在这里插入图片描述
选着图片获得图片位置,上图的img标签中的src data-original 属性为图片地址。
gilrs = data.xpath(’//img[@calss=“pic”]#获得整个页面的girl定位
选择每一个直播图片地址
for girl in girls:#一个直播
选择图片
img_src = girl.xpath(’./@data-original ‘)[0]
img_src是一个列表
img_src = img_src.split(’?’)[0]#选择?左边字符
image = requests.get(url=img_src)
文件名字选择直播名字,选择的直播之前字符
pic_name = girl.xpath(’./@alt’)[0].split(‘的直播’)[0]
文件写入,我的code 与data为同一个文件夹中,用的…/data/+文件名
with open(’…/data/’+pic_name+’.jpg’,‘wb’) as jpg:
jpg.write(image.content)
time.sleep(1)
print( pic_name,’–’,img_src,‘downloading…’)

3、代码

import requests
import time

from lxml import etree
url = 'https://www.huya.com/g/4079'
res = requests.get(url=url)
data = etree.HTML(res.text)
girls = data.xpath('//img[@class="pic"]')
for girl in girls:
    pic_name = girl.xpath('./@alt')[0].split('的直播')[0]
    img_src = girl.xpath('./@data-original')[0]
    img_src = img_src.split('?')[0]
    image = requests.get(url=img_src)
    with open('../data/'+pic_name+'.jpg','wb') as jpg:
        jpg.write(image.content)
    time.sleep(1)
    print( pic_name,'--',img_src,'downloading..........')

4、结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、感悟

因为这里数据量比较少,而且访问不多,所以写的比较简单,没有写入请求头,也没有加入代理IP,如果需要爬取大量数据图片,写一个IP池,或者请求头等等。
requests.get(url=url,headers = headers,proxies=proxies)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值