最近公司準備搞個抖音號,叫我們爬一下抖音的排行榜,記錄一下
鏈結在這裡
選擇二次元榜單,開啟network,很快就可以找到資料存放的位置
簡單分析一下可知,不同榜單的url區別主要在於「billboard_type=」這個引數,這裡需要乙個乙個確定一下,二次元的幾個榜單的話是從61到68;還有得到的資料是json格式,接下來就可以寫**啦。對了,header還是要偽裝一下的哈,主要是user-agent和cookie。其他儲存自己需要的資料即可
from bs4 import beautifulsoup
import requests
import os
import json
from datetime import datetime
import pandas as pd
import time
defget_links
(linkid)
: url =
''.format
(linkid)
headers =
res = requests.get(url,headers=headers)
jd=json.loads(res.text)
['billboard_data'
]
newsdetails=
for ent in jd :
)return newsdetails
defget_detail
(jd,linkid)
: result=
result[
'標題'
]=jd[
'title'
]#標題
result[
'影響力']=
str(
int(jd[
'value'])
/10000)+
'w'#影響力
result[
'排名'
]=jd[
'rank'
]#排名
result[
'粉絲數']=
str(
int(jd[
'map_list'][
0]['value'])
/10000)+
'w'#粉絲數
result[
'近一月上榜次數'
]=jd[
'map_list'][
1]['value'
]#近一月上榜次數
result[
'上週排名'
]=jd[
'map_list'][
2]['value'
]#上週排名
result[
'分類'
]=linkid#分類
result[
'鏈結'
]=jd[
'link'
]#鏈結
now = datetime.now(
).strftime(
'%y-%m-%d'
) result[
'時間'
]=now
return result
defmain()
: news_total =
for i in
range(61
,68):
news_total.extend(get_links(i)
)
df = pd.dataframe(news_total)
now = datetime.now(
).strftime(
'%m%d_%h%m%s'
) newsname =
'dy'
+now+
'.xlsx'
df.to_excel(newsname)
if __name__ ==
'__main__'
: main(
)
python爬蟲入門 豆瓣電影排行榜top250
1.requests 2.re 正規表示式庫 請求頭 此處複製的火狐瀏覽器請求頭 myheader 標記電影次序 time,初始化為1 排行榜第i頁 link str i 25 正則匹配結果 matchobj import requests import re def get movies 請求頭 ...
mysql製作排行榜 mysql實現排行榜
博主新人一枚,大家可以提出自己的寶貴意見。下來我們進入正題。大家首先要了解介面的場景,再就是排行榜的規則,我們這裡說的中國式排行榜。排行榜總結了一下分為3種 中國式排行 非中國式排行1 非中國式排行2 1 1 1 2 2 2 2 2 3 3 4 4 3 5 5 4 5 6 5 7 7 select ...
奧運排行榜
每年奧運會各大 都會公布乙個排行榜,但是細心的讀者發現,不同國家的排行榜略有不同。比如中國金牌總數列第一的時候,中國 就公布 金牌榜 而美國的獎牌總數第一,於是美國 就公布 獎牌榜 如果人口少的國家公布乙個 國民人均獎牌榜 說不定非洲的國家會成為榜魁 現在就請你寫乙個程式,對每個前來諮詢的國家按照對...