您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么用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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。