按照我的理解,数据分析大概整体分为5大模块——数据收集、数据清洗、数据挖掘、数据建模、数据应用。
今天,我便“开车”进军第一大模块!数据收集!!!!
数据收集,通俗一点即爬虫技术,即利用脚本模拟浏览器行为向服务器发送请求并快速获取数据的过程。利用Python可以十分简单的制作一个爬虫(随便一搜,代码就哗哗嘀),因此我在这里就不赘述如何去写一个简单的爬虫了。这篇文章我将倾向于如何分别利用requests库和scrapy框架去完成相同数据的爬取,让大家看到两种方法各自的优缺点,尽量通俗易懂的为大家说明,我选取的是爬取斗鱼直播平台中主播的图片。
注:有任何问题,也欢迎大家在下面留言,随时与我交流。好啦,接下来开始开车啦!
一、requests库爬取斗鱼主播图片
1、requests库操作简介
1)session:开启会话。一般首先均会开启会话,并在会话上进行操作。
2)get(url, params=None):获取网页,允许使用params关键字,即支持以字典格式传递参数。其下常用的有:
.url:获取请求的url
.text:获取响应内容
.status_code:返回请求状态码;如 200表示成功,404表示用户端错误等。
.json:返回的内容转换为dict格式。
.encoding:返回响应内容的编码格式,也可以直接对其赋值改变编码格式。
.headers:返回响应头内容。
.cookies:返回cookies内容。
3)post(url, data, json):发送请求。若数据为字典,则用data参数传;若为json,则用json参数传。
注:字典与json可用json.dump()转换,不知道的同学可以去大致学习一下json库中的dumps与loads。
具体代码如下:
#coding=utf-8
import requests
import os
import json
s = requests.session()
offset = 0
url = "http://capi