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

xiaoxiao2021-02-28  72

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

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

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


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

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

步骤1:

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

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

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

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

下面上一份代码:

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


# 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 = “=%d”>https://www.panda.tv/live_lists?status=2&order=person_num&token=&pageno=%d&pagenum=120&=%d“%(pageindex,pagetime)

这里面的pageindex,跟pagetime,我用fortmat跟range()混合使用,一直报错,上面有个注释掉的url就是之前试过的,有知道的小伙伴可以在下面留言,谢谢啦。

控制台上打印的结果:

整体就是这些,现在是学会把项目学习提交到github上,嘿嘿,我的放上我的github账号吧。

https://github.com/643435675/PyStudy/tree/master/Job

下期再见直播爬虫!

转载请注明原文地址: https://www.6miu.com/read-44397.html

最新回复(0)