原文链接: scrapy 斗鱼 主播信息爬取

上一篇: scrapy 妹子图网站 全站图片爬取

下一篇: TensorFlow models 的slim 模块 使用预训练模型进行识别

api

http://capi.douyucdn.cn/api/v1/getVerticalRoom?limit=20&offect=0

创建项目

scrapy startproject douyu

创建爬虫

scrapy genspider  demo   capi.douyucdn.cn

项目结构

设置,由于api接口是手机端的,所以要设置agent

# 图片存放目录
IMAGES_STORE = 'd:/data/douyu/'#  agent 设为手机端
USER_AGENT = 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.18 NetType/WIFI Language/en'# 禁用robot
ROBOTSTXT_OBEY = False# 开启 pipe
ITEM_PIPELINES = {'douyu.pipelines.DouyuPipeline': 300,
}

爬虫文件 demo.py

import scrapy
import jsonclass DemoSpider(scrapy.Spider):name = 'demo'allowed_domains = ['capi.douyucdn.cn']start_urls = ['http://capi.douyucdn.cn/api/v1/getVerticalRoom?limit=20&offect=0']offset = 0def parse(self, response):data_list = json.loads(response.body)['data']if not len(data_list):returnfor data in data_list:item = {'nickname': data['nickname'],'vertical_src': data['vertical_src'],}yield itemself.offset += 20if self.offset > 1000:returnurl = f"http://capi.douyucdn.cn/api/v1/getVerticalRoom?limit=20&offect={self.offset}"print(url)yield scrapy.Request(url, callback=self.parse)

pipe文件 专用来下载图片,并且修改图片名称

# -*- coding: utf-8 -*-from scrapy.pipelines.images import ImagesPipeline
from scrapy import Request# 继承一个专用的图片处理类
class DouyuPipeline(ImagesPipeline):def get_media_requests(self, item, info):url = item['vertical_src']# print(url, '--------------------get')# yield Request(url)yield Request(url, meta={'item': item})def item_completed(self, results, item, info):# [(True, {'url': 'https://rpic.douyucdn.cn/asrpic/180809/95741_2313.jpg',# 'path': 'images/龍骑士丶我是传奇.jpg',# 'checksum': '4980363396792b4d8279b1a568713ea1'})]# 分别表示,下载成功,下载url,保存路径,和md5码# 查看下载了多少图片print(results, '---------')def file_path(self, request, response=None, info=None):item = request.meta['item']  # 通过上面的meta传递过来itemname = item['nickname']down_file_name = f"images/{name}.jpg"return down_file_name

运行

scrapy crawl demo --nolog

效果

scrapy 斗鱼 主播信息爬取相关推荐

  1. 使用selenium,xpath,线程池爬取斗鱼主播信息

    使用xpath,线程池爬取斗鱼主播信息: 主要爬取主播昵称,直播内容分类,房间名称,房间号以及人气,共爬取了大概110多页数据,大概15000条,保存在txt文本中, import timefrom ...

  2. 用pyspider爬斗鱼主播信息

    之前用request+bs4+Mongodb爬斗鱼主播信息,需要自己写很长一大段, 现在用pyspider试试.开始安装pyspider. python3.7还不支持,3.6版本直接pip insta ...

  3. 斗鱼美女主播封面爬取 python request urlretrieve jsonpath 爬虫

    斗鱼美女主播封面爬取 python request urlretrieve jsonpath 爬虫 输出结果 

  4. 基于scrapy下的租房信息爬取与数据展示工具的设计与实现

    环境:python 3.6.0 Anaconda custom 64bit 4.3.0 Pycharm x64 专业版 2018.1.2 Web strom x64 专业版 2018.1.3 scra ...

  5. 经典爬虫学习(四)-selsenium实现斗鱼直播房间信息爬取

    本案例中通过两种不同的selenium作用实现了对斗鱼直播平台的房间信息进行多页爬取. selenium实现信息爬取以及页面跳转功能 selenium实现页面跳转功能,lxml解析库实现数据爬取功能 ...

  6. Scrapy项目 - 数据简析 - 实现斗鱼直播网站信息爬取的爬虫设计

    一.数据分析截图(weka数据分析截图 2-3个图,作业文字描述) 本次将所爬取的数据信息,如:房间数,直播类别和人气,导入Weka 3.7工具进行数据分析.有关本次的数据分析详情详见下图所示:   ...

  7. Python爬虫获取斗鱼主播信息

    感谢参考原文-http://bjbsair.com/2020-03-27/tech-info/7150.html 下面我们进入正题 首先 我们进入斗鱼的官网 我发现首页是一些推荐的主播,并不全面,不能 ...

  8. Python爬虫实现获取斗鱼主播信息

    先下载安装Python以及其编写软件 https://www.python.org/downloads/ Python下载官网 选择版本 下面使用的版本为3.6.5 根据自己的操作系统的位数选择 打开 ...

  9. 利用python做一个游戏主播_Python爬取2000万直播数据——看20万游戏主播能否月入100万...

    作者 | 朱小五and王小九 来源 | 凹凸数读 她那时候还太年轻,不知道命运赠送的礼物,早已暗中标好了价格. --茨威格 社会在发展,时代在进步.伴随着未曾停息的拥护声和反对声,电竞行业逐渐被接受, ...

最新文章

  1. javaweb实现mysql备份功能_java web 实现mysql 数据库备份、恢复
  2. 报告 | 超级智能城市2.0 – 人工智能引领新风尚(附下载)
  3. java rabbitmq 工具类_RabbitMq通用管理工具类
  4. testid oracle vue,Vue 组件单元测试究竟测试什么?
  5. java 短链接实现方案_java利用百度短网址api实现URL长短互换工具类分享
  6. mysql命令行cmd_CMD命令行操作MySQL
  7. apache 设置缓存
  8. java 浅克隆_(Java)浅克隆与深克隆的区别
  9. 百面机器学习—1.特征工程
  10. Prototype使用Form操作表单
  11. arduino烧录_如何给AVR单片机烧录程序
  12. 2021年第四届安洵杯WriteUp(转)
  13. Vue中文数组根据文字首字母拼音排序、筛选
  14. 用类描述计算机中CPU的速度和硬盘的容量,要求Java应用程序有4个类,名字分别为:pc CPU harddisk 和Test ,其中TEST是主类。
  15. 关于前辈RPC学习的经验分享:我的DedSec RPC
  16. php 导入excel 日期格式值处理
  17. spark 读取本地文件
  18. 【重点】心田花开|人教版小学一年级语文上册汉语拼音
  19. bboss quartz定时任务使用案例介绍
  20. 看我如何做基于扑克牌模式识别系统的设计与实现

热门文章

  1. 计算机考试祝福,考试祝福语简短
  2. 一次磁盘占用率 100% 的排查经历!
  3. 物业管理APP开发有哪些功能呢?
  4. React-Native 模拟器运行与调试
  5. sqlserver 18456
  6. Selenium | 引用WebElement时报错stale element reference: element is not attached to the page document
  7. 计算机显示器的分辨率可以调节吗,电脑分辨率多少合适?电脑分辨率怎么调?...
  8. 大学计算机基础应用word,大学计算机基础(Word、Excel、PPT)复习题及答案
  9. VS2019删除空行-学习记录
  10. xdm这个C++火影文字类代码修改啊?