Python爬蟲 抖音排行榜

2021-10-23 18:11:30 字數 2084 閱讀 2865

最近公司準備搞個抖音號,叫我們爬一下抖音的排行榜,記錄一下

鏈結在這裡

選擇二次元榜單,開啟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 ...

奧運排行榜

每年奧運會各大 都會公布乙個排行榜,但是細心的讀者發現,不同國家的排行榜略有不同。比如中國金牌總數列第一的時候,中國 就公布 金牌榜 而美國的獎牌總數第一,於是美國 就公布 獎牌榜 如果人口少的國家公布乙個 國民人均獎牌榜 說不定非洲的國家會成為榜魁 現在就請你寫乙個程式,對每個前來諮詢的國家按照對...