您的位置:首页 > 编程语言 > Python开发

python3 [爬虫入门实战]爬取熊猫直播用户信息

2017-08-06 10:07 567 查看

爬取国内各大直播平台直播信息是以后要做的一个功课,还必须是做成一个系列的,可能远没有其他大神那么厉害,毕竟自己经历过的就是有用的,在此做个记录一下

首先我们需要爬取的内容:



这里我们要爬取的有
直播房间名称,直播主播,直播等级,直播第一截屏(这个是动态的图片,要想获取最新的,必须重新进行爬取),直播人数,直播标签,直播类型(分类)
,暂且就提取了这些,这些内容都可以进行提取。


本来一开始是用scrapy框架进行提取的,也可以进行提取,后来发现有点大才了,直接找到返回的json 串就可以了 。

第一次使用Httpfox 感觉真吊,挺爽的,也不用一个一个的标签下面进行解析去了。

步骤1:

打开https://www.panda.tv/all 进入熊猫直播的全部目录,然后打开httpfox,清空一下,点击下一页或者2,然后查看httpfox里面的内容,这时候我们会发现



一开始很纠结这个时间戳是怎么来的,看了查看源代码里面的js代码中的function,可能只是单纯的一个new Date()然后再拼接一下其他的取舍问题出来的吧

下面我们把这个json串给格式化一下,然后复制到notepad++上,



SO,里面你想要什么样的字段都可以,难道不是吗?哈哈

下面上一份代码:

只是打印出来一下数据,可能看着有些简陋

[code]# encoding=utf8
import requests
import json

url = "https://www.panda.tv/live_lists?status=2&order=person_num&token=&pageno=%d&pagenum=120&_=%d".format(a=range(0,35),b=range(1501946526480,1501946526880))

headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0'
,
'Cookie': '__guid=96554777.3243119502220345300.1500627276199.6702; smid=608e0bde-ffe2-4251-90ca-2938cabdc074; monitor_count=18'
,
}

def getHtml(url):
print('##'*30)
req = requests.get(url, headers=headers)
print(req.text)
return req.text

data = getHtml(url)

def printInfos(data):
jsondata = json.loads(data, "utf-8")
print(jsondata)
itemsinfo = jsondata['data']['items']
for pinfo in itemsinfo:
name = pinfo['name']
person_num = pinfo['person_num']
nickName = pinfo['userinfo']['nickName']
lelvel = pinfo['host_level_info']
lable = pinfo['label']
print(lable)
cname = pinfo['classification']
print(cname)
print(name)
print(person_num)
print(nickName)
print(lelvel)

def mainStart():

for n in range(0, 50):
pageindex = 1 + n
pagetime = int(1501946526480 + n)
url = "https://www.panda.tv/live_lists?status=2&order=person_num&token=&pageno=%d&pagenum=120&_=%d"%(pageindex,pagetime)
data = getHtml(url)
printInfos(data)

mainStart()


有点小麻烦的是:

url = “[url="https://www.panda.tv/live_lists?status=2&order=person_num&token=&pageno=%d&pagenum=120&
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: