前言 隨著現在直播的興起,主播這個職業逐漸走入人們的視野。越來越多有顏值、有才藝的人紛紛加入到主播這個行業。但是主播最難熬的就是前期粉絲的積累,粉絲多人氣就高。 接下來帶大家爬取主播直播間人氣數據,發現人氣王!! 加企鵝群695185429即可免費獲取,資料全在群文件里。資料可以領取包括不限於Pyt ...
前言
隨著現在直播的興起,主播這個職業逐漸走入人們的視野。越來越多有顏值、有才藝的人紛紛加入到主播這個行業。但是主播最難熬的就是前期粉絲的積累,粉絲多人氣就高。
接下來帶大家爬取主播直播間人氣數據,發現人氣王!!
加企鵝群695185429即可免費獲取,資料全在群文件里。資料可以領取包括不限於Python實戰演練、PDF電子文檔、面試集錦、學習資料等
展示效果:
顏值區的主播人氣值
本文知識點:
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地址:
headers參數:
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