Heim > Artikel > Backend-Entwicklung > Crawlen von NetEase Cloud-Musikrezensionen
# coding=gbk import requests import json c='网易云爬虫实战一' print(c) music_url = 'https://music.163.com/#/song?id=28815250' id = music_url.split('=')[1] # print(id) url = 'https://music.163.com/weapi/v1/resource/comments/R_SO_4_%s?csrf_token=7e19029fe28aa3e09cfe87e89d2e4eeb' %(id) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36', 'Referer': 'https://music.163.com/song?id=%s' %(id), 'Origin': 'https://music.163.com', } formdata = { 'params': 'AoF/ZXuccqvtaCMCPHecFGVPfrbtDj4JFPJsaZ3tYn9J+r0NcnKPhZdVECDz/jM+1CpA+ByvAO2J9d44B/MG97WhjmxWkfo4Tm++AfyBgK11NnSbKsuQ5bxJR6yE0MyFhU8sPq7wb9DiUPFKs2ulw0GxwU/il1NS/eLrq+bbYikK/cyne90S/yGs6ldxpbcNd1yQTuOL176aBZXTJEcGkfbxY+mLKCwScAcCK1s3STo=', 'encSecKey': '365b4c31a9c7e2ddc002e9c42942281d7e450e5048b57992146633181efe83c1e26acbc8d84b988d746370d788b6ae087547bace402565cca3ad59ccccf7566b07d364aa1d5b2bbe8ccf2bc33e0f03182206e29c66ae4ad6c18cb032d23f1793420ceda05e796401f170dbdb825c20356d27f07870598b2798f8d344807ad6f2', } response = requests.post(url, headers = headers, data = formdata) messages = json.loads(response.text) data_list=[] data={} for message in messages['hotComments']: data['nickname']=message['user']['nickname'] data['content']=message['content'] data_list.append(data) data={} #print(data_list) for i in data_list: c = ' '+i['nickname']+':'+i['content'] print('\n\n'+c.replace('\n',''))
Zusammenfassung:
1. Das „#“ im ersten line programming=gbk“ bedeutet, dass Textzeichenfolgen im Texteditor eingegeben werden können.
2. Die Funktion split() in „id = music_url.split('=')[1]“ bedeutet, Elemente zu gruppieren, in diesem Beispiel ist es „https://music.163“. .com /#/song?id=“, „28815250“
3. Der vom Anforderungsmodul erhaltene HTML-Text muss in Python konvertiert werden, das mit dem JSON lesbar ist. Loads()-Methodentext, andernfalls wird ein Fehler gemeldet. Dies ist im Jupiter-Notebook nicht der Fall.
4. Die Funktion replace() kann Elemente aus der Zeichenfolge entfernen. In diesem Beispiel wird das Newline-Zeichen leer.
Das endgültige Anzeigeergebnis ist wie folgt:
Dieser Artikel stellt den relevanten Inhalt der NetEase Cloud-Musikrezension vor Crawling, bitte folgen Sie der chinesischen PHP-Website.
Verwandte Empfehlungen:
Einfache PHP+MySQL-Paging-Klasse
Zwei Baumarray-Konstruktoren ohne Rekursion
HTML in Excel konvertieren und Druck- und Downloadfunktionen realisieren
Das obige ist der detaillierte Inhalt vonCrawlen von NetEase Cloud-Musikrezensionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!