1. 创建项目 scrapy startproject yingke cd yingke

2. 创建爬虫  scrapy genspider live

3. 分析http://www.inke.cn/hotlive_list.html网页的response,找到响应里面数据的规律,并找到的位置,通过response.xpath()获取到

4. 通过在pipline里面进行数据的清洗,过滤,保存

5. 实现翻页,进行下一页的请求处理

6. 运行爬虫 scrapy crawl live

说明:这个程序直接在parse方法里面进行图片保存,保存在本地,正常使用yield关键字进行在pipline中保存。

# -*- coding: utf-8 -*-
import scrapy
import re class LiveSpider(scrapy.Spider):
name = 'live'
allowed_domains = ['inke.cn']
start_urls = ['http://www.inke.cn/hotlive_list.html?page=1'] def parse(self, response):
div_list = response.xpath("//div[@class='list_box']") for div in div_list:
item = {}
img_src = div.xpath("./div[@class='list_pic']/a/img/@src").extract_first()
item["user_name"] = div.xpath(
"./div[@class='list_user_info']/span[@class='list_user_name']/text()").extract_first()
print(item["user_name"])
yield scrapy.Request( # 发送详情页的请求
img_src,
callback=self.parse_img,
meta={"item": item}
)
# 下一页
now_page = re.findall("page=(.*)", response.request.url)[0]
now_page= int(now_page) next_url = "http://www.inke.cn/hotlive_list.html?page={}".format(str(now_page+ 1))
yield scrapy.Request(
next_url,
callback=self.parse
) def parse_img(self, response):
user_name = response.meta["item"]["user_name"] with open("images/{}.png".format(user_name), "wb") as f: f.write(response.body)

运行效果:

用scrapy框架爬取映客直播用户头像的更多相关文章

  1. 使用scrapy框架爬取自己的博文(2)

    之前写了一篇用scrapy框架爬取自己博文的博客,后来发现对于中文的处理一直有问题- - 显示的时候 [u'python\u4e0b\u722c\u67d0\u4e2a\u7f51\u9875\u76 ...

  2. 使用scrapy框架爬取自己的博文

    scrapy框架是个比较简单易用基于python的爬虫框架,http://scrapy-chs.readthedocs.org/zh_CN/latest/ 这个是不错的中文文档 几个比较重要的部分: ...

  3. scrapy框架爬取笔趣阁完整版

    继续上一篇,这一次的爬取了小说内容 pipelines.py import csv class ScrapytestPipeline(object): # 爬虫文件中提取数据的方法每yield一次it ...

  4. scrapy框架爬取笔趣阁

    笔趣阁是很好爬的网站了,这里简单爬取了全部小说链接和每本的全部章节链接,还想爬取章节内容在biquge.py里在加一个爬取循环,在pipelines.py添加保存函数即可 1 创建一个scrapy项目 ...

  5. 使用scrapy框架爬取自己的博文(3)

    既然如此,何不再抓一抓网页的文字内容呢? 谷歌浏览器有个审查元素的功能,就是按树的结构查看html的组织形式,如图: 这样已经比较明显了,博客的正文内容主要在div 的class = cnblogs_ ...

  6. Python使用Scrapy框架爬取数据存入CSV文件(Python爬虫实战4)

    1. Scrapy框架 Scrapy是python下实现爬虫功能的框架,能够将数据解析.数据处理.数据存储合为一体功能的爬虫框架. 2. Scrapy安装 1. 安装依赖包 yum install g ...

  7. 爬虫入门(四)——Scrapy框架入门:使用Scrapy框架爬取全书网小说数据

    为了入门scrapy框架,昨天写了一个爬取静态小说网站的小程序 下面我们尝试爬取全书网中网游动漫类小说的书籍信息. 一.准备阶段 明确一下爬虫页面分析的思路: 对于书籍列表页:我们需要知道打开单本书籍 ...

  8. 基于python的scrapy框架爬取豆瓣电影及其可视化

    1.Scrapy框架介绍 主要介绍,spiders,engine,scheduler,downloader,Item pipeline scrapy常见命令如下: 对应在scrapy文件中有,自己增加 ...

  9. scrapy框架爬取豆瓣读书(1)

    1.scrapy框架 Scrapy,Python开发的一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试 ...

随机推荐

  1. react-native 报错 RawText "" must be wrapped in an explicit <Text> component

    刚才又遇到了一个坑,找了好久,问题如下: 开始以为是Text标签怎么有问题了,结果是下面的原因影响的: 上图第二行,标签和注释中间多了一个空格,就会报这个错误. 解决办法 1.将空格删掉 <Re ...

  2. SharePoint JavaScript 更新用户和组字段

    前言 最近,需要更新列表字段,字段的类型是用户和组,so写了这么一段代码 function updateUserField(){ var ctx = new SP.ClientContext.get_ ...

  3. HOWTO: 如何利用Avizo或Amira计算孔隙率(Porosity)

    在做三维可视化数据处理过程中,我们经常要提取的一个基本信息就是孔隙率.在今天的文章中我们要分享两个信息,一个是如何利用Avizo或Amira进行孔隙率计算:另外是关于Avizo 8.0中孔隙率计算异常 ...

  4. C++ WINDOWS下 wchar_t *和char * 相互转化总结篇

    说道wchar_t和char两个类型大家都不会陌生 wchar_t:在windows下是Unicode 16编码,也就是俗称宽字节 char:当然就是指一个字节,在windows下面默认是gbk编码的 ...

  5. SpringBoot2.x使用EasyPOI导入Excel浅谈

    SpringBoot2.x使用EasyPOI导入Excel浅谈 平时经常遇到客户要帮忙导入一些数据到数据库中,有些数据比较多有时候手动录入就会很耗时间,所以就自己写一个Excel导入的demo记录一下 ...

  6. shell符号解释

    #符号详解 () 在子shell中运行 (a=1);echo $a,结果是空,因为a=1不是在当前shell中运行的(a=1);(echo $a)也是空的 小技巧:(cd $path, do some ...

  7. [转]ThreadLocal使用

    引言 ThreadLocal的官方API解释为: “该类提供了线程局部 (thread-local) 变量.这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线 ...

  8. Effective Java 第三版——81. 优先使用并发实用程序替代wait和notify

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  9. Linux Shell 运算符

    Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 逻辑运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 ...

  10. ubuntu设置分辨率

    前言 装过ubuntu的虚拟机人应该都知道,刚刚装完系统时,分辨率小的令人发指,根本就不能愉快的使用,所以必须调整,但是有些分辨率ubuntu里面也没有,这就需要我们自己自定义. 自定义分辨率 1. ...