Maison  >  Article  >  développement back-end  >  Exploration des critiques musicales NetEase Cloud

Exploration des critiques musicales NetEase Cloud

jacklove
jackloveoriginal
2018-06-11 23:42:122650parcourir

# 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',''))


Résumé :

1. # coding=gbk" signifie que vous pouvez saisir des chaînes de texte dans l'éditeur de texte.

2. La fonction split() dans "id = music_url.split('=')[1]" signifie regrouper des éléments, dans cet exemple c'est "https://music.163 .com /#/song?id=”, “28815250

3. Le texte HTML obtenu par le module de requêtes doit être converti en Python lisible à l'aide du json. Texte de la méthodeloads(), sinon une erreur sera signalée. Cela ne se produit pas dans le notebook Jupyter.

4. La fonction replace() peut supprimer des éléments de la chaîne. Dans cet exemple, le caractère de nouvelle ligne est remplacé par vide.

Le résultat final de l'affichage est le suivant :


Cet article présente le contenu pertinent de la revue musicale NetEase Cloud ramper, veuillez suivre le site Web chinois php.

Recommandations associées :

Classe de pagination PHP+MySQL simple

Deux constructeurs de tableaux arborescents sans récursion

Convertissez le HTML en Excel et réalisez des fonctions d'impression et de téléchargement

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn