Crawlen von NetEase Cloud-Musikrezensionen

jacklove
Freigeben: 2023-03-31 17:08:01
Original
2703 Leute haben es durchsucht

# 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',''))
Nach dem Login kopieren


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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!