本篇内容主要讲解“怎么用Python获取主播人气排行榜”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python获取主播人气排行榜”吧!
本文知识点:
1、系统性的网页分析
2、数据处理
3、jsonpath模块的使用
环境介绍:
python 3.6
pycharm
requests
josnpath
爬虫的一般思路
1、分析目标网页,确定爬取的url路径,headers参数
2、发送请求 -- requests 模拟浏览器发送请求,获取响应数据
3、解析数据 -- jsonpath模块:JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具
4、数据输出
1、导入相关的数据库
import jsonpath import requests import pprint
2、分析目标网页,确定爬取的url路径,headers参数
URL地址:
base_url = 'https://www.douyu.com/gapi/rknc/directory/yzRec/1' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}
3、发送请求 -- requests 模拟浏览器发送请求,获取响应数据
response = requests.get(url=base_url, headers=headers) json_data = response.json()
4、解析数据 -- jsonpath模块:JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具
字典根据值降序排列
sorted方法,sorted的三个参数:
iterable : 可迭代对象。
key : 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,可以指定可迭代对象中的一个元素来进行排序。
reverse :排序规则,reverse = True 降序 , reverse = False 升序(默认)。
names = jsonpath.jsonpath(json_data, '$..nn') # $ 从根节点提取 .. 跨节点提取 hot = jsonpath.jsonpath(json_data, '$..ol') print(names) print(hot) item_dict = {} for name, value in zip(names, hot): # print(name, value) item_dict[name] = value print(item_dict) print(item_dict.items()) # items() 函数以列表返回可遍历的(键, 值) 元组数组。 change_score = sorted(item_dict.items(), key=lambda x: x[1], reverse=True) # lambda中的1是元组的索引 print(change_score)
5、数据输出
enumerate枚举 enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate
or player, hot_num in enumerate(change_score): print('第{}名=======是{}========人气值为:{}'.format(player
到此,相信大家对“怎么用Python获取主播人气排行榜”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。