人的一生要經(jīng)歷太多的生離死別酥馍,那些突如其來的離別往往將人傷得措手不及。
人生何處不相逢阅酪,但有些轉(zhuǎn)身旨袒,真的就是一生,從此后會(huì)無期术辐,永不相見砚尽。
用力愛過的人,講再見那一刻格外艱難辉词。
世界上最遙遠(yuǎn)的距離不是生離死別必孤,而是對(duì)方已經(jīng)云淡風(fēng)輕,你卻念念不忘瑞躺。
——網(wǎng)友評(píng)論
一直很喜歡這首歌敷搪。正好學(xué)習(xí)python 兴想,想著把這首歌的熱門評(píng)論爬下來,看看網(wǎng)友的故事购啄。
網(wǎng)易云音樂是一個(gè)有情懷的地方襟企。大多數(shù)想說卻沒有辦法說出口的話都能留在評(píng)論里。
費(fèi)話不說了狮含,開工顽悼。
獲取數(shù)據(jù)
打開網(wǎng)易云音樂,找到歌曲春分十里不如你几迄,打開開發(fā)者工具蔚龙,分析頁面。
通過 搜索框 url 的 id 可以定位到評(píng)論的 url 映胁∧靖看到請(qǐng)求是 post 方法的,我們可以看到下邊的兩個(gè)參數(shù)解孙。
params: 12PSl54ZzScPr+B27R+RJ14gF4YwwNz8YqWdldaCKao1s1/JexmIcnpaQu7oAkXM96vPBpEo42vFSp3BydeeYs6TKv/72oKRITbhg8hUP2vwsNW+hq8VfDvmjcq+ceScl9wEb3Wh6Whnu85Th7jHK4lNNKxNSJakjxuVnNcCDteI76F2xviD4jDcz9upF8CY
encSecKey: 227faa18d4ac5f4dfa07b4f0664bcb181240fcfb74192d7ce86b19ce302c61c8a5f2cbf45fc8874b5d74f0f6320f7681eef36e3f3a4d8349eed908188aae9717dd64f4d678e1d15afb8f06b559ebd51b2bca7b225f274378d89c068e18f7f8d45f7019e6923c2a0da30a4b68ecdfe2d6dcb954c3cfb0ec8812da693944617678
至于這兩個(gè)參數(shù)怎么破解坑填,小弟確實(shí)不會(huì),不過有知乎大神已經(jīng)破解過了弛姜,想要了解的可以移步知乎獲取方法脐瑰。
我們就直接拿到這兩個(gè)參數(shù)去請(qǐng)求就好了。
# 獲取評(píng)論數(shù)據(jù)
def get_data():
url = 'https://music.163.com/weapi/v1/resource/comments/R_SO_4_38576323?csrf_token='
headers = {'Host': 'music.163.com',
'Origin': 'https://music.163.com',
'Referer': 'https://music.163.com/song?id=38576323',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
data = {'params': '12PSl54ZzScPr+B27R+RJ14gF4YwwNz8YqWdldaCKao1s1/JexmIcnpaQu7oAkXM96vPBpEo42vFSp3BydeeYs6TKv/72oKRITbhg8hUP2vwsNW+hq8VfDvmjcq+ceScl9wEb3Wh6Whnu85Th7jHK4lNNKxNSJakjxuVnNcCDteI76F2xviD4jDcz9upF8CY',
'encSecKey': '227faa18d4ac5f4dfa07b4f0664bcb181240fcfb74192d7ce86b19ce302c61c8a5f2cbf45fc8874b5d74f0f6320f7681eef36e3f3a4d8349eed908188aae9717dd64f4d678e1d15afb8f06b559ebd51b2bca7b225f274378d89c068e18f7f8d45f7019e6923c2a0da30a4b68ecdfe2d6dcb954c3cfb0ec8812da693944617678'}
response = requests.post(url,headers=headers,data=data)
請(qǐng)求完發(fā)現(xiàn)數(shù)據(jù)是 json 格式的廷臼,那么獲取就沒有什么難度了苍在。
html = json.loads(response.text)
result = []
for item in html['hotComments']:
content = {'user':item['user']['nickname'],
'likedCount':item['likedCount'],
'content':item['content']
}
result.append(content)
return result
可視化操作
獲取數(shù)據(jù)之后,我們把數(shù)據(jù)做的直觀一點(diǎn)荠商,便于查看寂恬。
看一下點(diǎn)贊首位的評(píng)論:
聽完這首歌,立刻定了下午五點(diǎn)的機(jī)票去北京找你莱没。所以這次我用盡全力想對(duì)你說初肉,你可不可以答應(yīng)我,在我考上研究生到北京找你之前饰躲,你先不要結(jié)婚朴译。不管我多么不喜歡北京,可是北京有你属铁。沒有你的杭州再美,也比不上有你的北京躬翁。
因?yàn)橐粋€(gè)人愛上一座城焦蘑。沒有你的城市再好的風(fēng)景也淡然無味。
結(jié)語
總有一天盒发,會(huì)有一個(gè)人例嘱,看你寫過的所有狀態(tài)狡逢,讀完寫的所有微博,看你從小到大的所有照片拼卵,甚至去別的地方尋找關(guān)于你的信息奢浑,試著聽你聽的歌,走你走過的地方腋腮,看你喜歡看的書雀彼,品嘗你總是大呼好吃的東西……只是想彌補(bǔ)上,他遲到的時(shí)光即寡。
代碼上傳到 github 點(diǎn)擊可查看徊哑。