首页 > 编程语言 >python爬取斗鱼主播图片

python爬取斗鱼主播图片

时间:2022-11-16 12:05:33浏览次数:61  
标签:img get python li 爬取 url requests response 主播


      今天闲来无事,爬取一下斗鱼女主播的图片,之前学习scrapy的时候写过一个找不到了,今天使用requests和bs4重新写了一份,闲话不多说,直奔主题。

首先用Chrome浏览器访问斗鱼官网:
当然是选择颜值辣:


然后鼠标放在第一张图片上,检查元素:
发现图片的url在这里:
​​​​​​
我们会发现data-original和src内容是一样的,那就选择哪个就可以喽,我们打开这个url试一下:
​​

OK,就是这个了,然后对这个标签在的位置进行分析,发现:
​​
所有图片都在这个div标签下,那就好办了,开始写代码:
首先:

import requests
from bs4 import BeautifulSoup


headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/62.0.3202.89 Safari/537.36'
}

导入requests和bs4库,顺带带上了headers。

然后是进行筛选,获取到所有图片的url


def get_img_url():

url = 'https://www.douyu.com/directory/game/yz'
response = requests.get(url, headers=headers)

soup = BeautifulSoup(response.text, 'html.parser')

girl_list = soup.select('div[class="items items01 item-data clearfix"]')
for girl in girl_list:

li_list = girl.select('li')
for li in li_list:
yield li.img['data-original']

复制过来为啥缩进都没有了,好奇怪,各位可以自行缩进,逻辑不难,应该都能看懂。



最后是主函数,对图片进行保存:


if __name__ == '__main__':

img_url = get_img_url()
for num, img in enumerate(img_url):

img_response = requests.get(img)
# response = requests.get('https://rpic.douyucdn.cn/live-cover/appCovers/2017/12/05/1977639_20171205204858_big.jpg')
Image = img_response.content

Image_path = './pictures/%s.png' % num

fp = open(Image_path, 'wb')

fp.write(Image)

fp.close()

还是没有缩进,for以下的内容都是for循环内的。。。

到此,大功告成,成果如下


还有一个问题没实现,就是当前页只有这么多主播照片,第二页还有呢,各位可以自行加上翻页,这样就可以将所有颜值的主播照片都怕去了下来


。。


标签:img,get,python,li,爬取,url,requests,response,主播
From: https://blog.51cto.com/u_15858333/5855714

相关文章

  • python爬取智联招聘信息_F_hawk189_新浪博客
    分享今天写的一个爬取智联招聘信息的爬虫,使用了requests和re模块,没有写注释,但是代码都比较简单,不是太难,这是爬取的信息:​​​​​​以下是源码部分:复制过来又没......
  • python中同时迭代对个iterable对象_F_hawk189_新浪博客
    题外话:最近因为课程需要开始深入了解Python语言。因为以前一直用的Java、C++等强类型的静态语言,现在突然使用Python确实感受到了很大的不同。直观感觉就是,在Python中总是......
  • PYTHON_取数
    分模块积累,此模块为【取数】,技巧多,偏灵活。1. 有n个小朋友围在一起玩游戏,游戏规则是这样的:每一轮每个小朋友都自由地从1-99中选择一个数,主持人每一轮都会报一个1-9......
  • Python代码片段
    1记录函数执行耗时1deftimeToRunWithParams(level,param_idx_lst):2definner(func):3defwrapper(*args,**kwargs):4s_date=......
  • Python stylecloud制作酷炫的词云图
    这周参加一个创新培训,结束后有个答辩需要制作ppt,为了更好的展示内容,想到用词云图。本文分享一下如何基于Python的stylecloud制作酷炫的词云图。stylecloud是wordcloud优化改......
  • Python面向对象---类的基本使用
    ​✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • Python绘制精美可视化数据分析图表(一)-Matplotlib
    前言数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程.这一过程也是质量管理体系的支持过程.在实......
  • Python基础之注释、变量、Debug调试、数据类型
    一、注释注释的作⽤⽤⼈类熟悉的语⾔对代码进⾏解释说明,⽅便后期维护。注释分为两类:单⾏注释和多⾏注释。1、单⾏注释只能注释⼀⾏内容,语法如下:#注释内容2、多⾏注释可以......
  • 【排序算法】python 十大经典排序算法(全网最详)
    排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排......
  • python学习 爬取亚马逊网页,失败后。修改HTTP报文头部后成功!
    通过修改HTTP报文头部,来成功获取网页内容!  pythonimportrequestsr=requests.get("https://www.amazon.cn/gp/product/B01M8L5Z3Y")r.status_coder.encoding  >>>......