


Python3 implémente un robot d'exploration pour capturer l'analyse des commentaires populaires sur NetEase Cloud Music (photo)
Cet article vous présente principalement les informations pertinentes sur le robot d'exploration pratique de Python3 pour capturer les critiques les plus intéressantes sur la musique NetEase Cloud. L'article le présente de manière très détaillée à travers un exemple de code. Il a une certaine valeur d'apprentissage de référence pour les études ou le travail de chacun. , veuillez suivre l'éditeur pour apprendre ensemble.
Avant-propos
Je viens de commencer avec Python Crawler, et je n'ai pas écrit Python depuis environ un demi-mois, et j'ai presque oublié à ce sujet. J'allais donc écrire un robot d'exploration simple pour m'entraîner. Je pensais que les meilleures fonctionnalités de NetEase Cloud Music étaient ses recommandations précises de chansons et ses critiques d'utilisateurs uniques. J'ai donc écrit cette méthode pour capturer les critiques les plus intéressantes dans la liste de chansons populaires de NetEase Cloud Music. reptile. Je viens également de commencer l'exploration. Si vous avez des commentaires ou des questions, n'hésitez pas à les soulever. Progressons ensemble.
Fin de bêtises~ Jetons un coup d'œil à l'introduction détaillée.
Notre objectif est d'explorer les commentaires populaires de toutes les chansons dans le classement des chansons les plus populaires dans NetEase Cloud.
Cela peut non seulement réduire la charge de travail que nous devons explorer, mais également enregistrer des commentaires de haute qualité.
Analyse de la mise en œuvre
Tout d'abord, nous ouvrons la version Web de NetEase Cloud, comme indiqué dans la figure :
Cliquez sur la liste de classement, puis cliquez sur la liste des chansons chaudes de Cloud Music à gauche, comme indiqué sur l'image :
Ouvrons d'abord une chanson au hasard et découvrons comment récupérer la méthode spécifiée. La méthode de critiques de chansons populaires est celle indiquée sur l'image. J'ai choisi une chanson que j'aime récemment comme exemple :
<.>
Une critique de chanson contenant cette chanson a été trouvée dans la requête POST. Envoyons cette capture d'écran de bloc afin que nous puissions le voir plus clairement : R_SO_4_489998494?csrf_token=
Regardons à nouveau les données du formulaire soumis. Nous constaterons que deux données doivent être renseignées dans le formulaire, nommées params et encSecKey. Ce qui suit est une grande chaîne de caractères. Si vous modifiez quelques chansons, vous constaterez que les paramètres et encSecKey de chaque chanson sont différents. Par conséquent, ces deux données peuvent avoir été cryptées par un algorithme spécifique.
Les données relatives aux commentaires renvoyées par le serveur sont au format json, qui contiennent des informations très riches (telles que des informations sur le commentateur, la date du commentaire, le nombre de likes, le contenu du commentaire, etc.), parmi lesquelles hotComments est notre Il y a un total de 15 commentaires populaires que nous recherchons, comme le montre l'image :
À ce stade, nous avons déterminé la direction, c'est-à-dire que nous il suffit de déterminer les deux paramètres params et encSecKey Just value. Mais ces deux paramètres sont chiffrés grâce à un algorithme spécifique, que faire ? J'ai trouvé un modèle, http://music.163.com/weapi/v1/resource/comments/R_SO_4_489998494?csrf_token= Le numéro après R_SO_4_ est la valeur d'identification de cette chanson, et pour différentes chansons, la valeur param et encSecKey, si vous passez ces deux valeurs de paramètres d'une chanson telle que A à la chanson B, alors pour un même nombre de pages, ce paramètre est universel, c'est-à-dire les deux valeurs de paramètres de la première page de A sont transmis au morceau B. Pour les deux paramètres de n'importe quel autre morceau, vous pouvez obtenir les commentaires sur la première page du morceau correspondant. Il en va de même pour la deuxième page, la troisième page, etc.
Et en fait, nous n'avons besoin que d'obtenir les 15 commentaires populaires sur la première page, il nous suffit donc de trouver une chanson et d'ajouter les paramètres et encSecKey dans la requête sur la première page de la chanson Copier ces deux valeurs de paramètres et vous pouvez les utiliser.
Concernant la façon de décrypter ces deux paramètres, il existe en fait une réponse sur le puissant Zhihu. Les amis intéressés peuvent entrer et jeter un œil (https://www.zhihu.com/question). / 36081767), il nous suffit d'utiliser notre méthode paresseuse pour remplir les exigences ici, xixi.
Jusqu'à présent, nous avons analysé comment capturer les commentaires populaires de NetEase Cloud Music. Analysons comment obtenir les informations de toutes les chansons de la liste des chansons populaires de Cloud Music.
Nous devons obtenir les noms des chansons et les valeurs d'identification correspondantes de toutes les chansons de la liste des chansons populaires de Cloud Music.
Semblable aux étapes d'analyse ci-dessus, nous entrons d'abord l'URL de la liste de chansons populaires, comme indiqué dans l'image :
Appuyez sur F12 pour accéder au WEB workbench , comme indiqué dans l'image :
Nous avons trouvé toutes les informations sur les chansons de cette liste dans une requête GET nommée toplist?id=3778678.
Les informations correspondant à la requête sont telles qu'indiquées dans la figure :
Prévisualisons les résultats renvoyés par la requête, comme indiqué dans la figure :
Nous avons trouvé le code contenant les informations sur la chanson à la ligne 524 du code, comme le montre la figure :
Par conséquent, il nous suffit d'ajouter le code de demande à , de filtrer les codes contenant des informations.
Ici, nous utilisons des expressions régulières pour le filtrage des données.
En observant les caractéristiques, nous pouvons extraire les informations sur la chanson dont nous avons besoin grâce à deux filtres d'expressions régulières.
Pour la première expression régulière, nous avons extrait la 525ème ligne de code de tous les codes renvoyés par la requête.
La première expression régulière est la suivante :
<ul class="f-hide"> <li> <a href="/song\?id=\d*?" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >.*</a> </li> </ul>
La deuxième expression régulière nous extrayons les informations sur la chanson dont nous avons besoin à la ligne 524, nous avons besoin de la chanson Le titre et l'identifiant de la chanson , l'expression régulière correspondante est la suivante :
Obtenez le titre de la chanson :
<li><a href="/song\?id=\d*?" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >(.*?)</a></li>
Obtenez l'identifiant de la chanson :
<li><a href="/song\?id=(\d*?)" rel="external nofollow" rel="external nofollow" >.*?</a></li>
à À ce stade , nous avons analysé l'ensemble du processus. Regardons le code pour voir les détails spécifiques ~~
Le code est le suivant :
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import re import urllib.request import urllib.error import urllib.parse import json def get_all_hotSong(): #获取热歌榜所有歌曲名称和id url='http://music.163.com/discover/toplist?id=3778678' #网易云云音乐热歌榜url html=urllib.request.urlopen(url).read().decode('utf8') #打开url html=str(html) #转换成str pat1=r'<ul class="f-hide"><li><a href="/song\?id=\d*?">.*</a></li></ul>' #进行第一次筛选的正则表达式 result=re.compile(pat1).findall(html) #用正则表达式进行筛选 result=result[0] #获取tuple的第一个元素 pat2=r'<li><a href="/song\?id=\d*?">(.*?)</a></li>' #进行歌名筛选的正则表达式 pat3=r'<li><a href="/song\?id=(\d*?)">.*?</a></li>' #进行歌ID筛选的正则表达式 hot_song_name=re.compile(pat2).findall(result) #获取所有热门歌曲名称 hot_song_id=re.compile(pat3).findall(result) #获取所有热门歌曲对应的Id return hot_song_name,hot_song_id def get_hotComments(hot_song_name,hot_song_id): url='http://music.163.com/weapi/v1/resource/comments/R_SO_4_' + hot_song_id + '?csrf_token=' #歌评url header={ #请求头部 'User-Agent':'Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' } #post请求表单数据 data={'params':'zC7fzWBKxxsm6TZ3PiRjd056g9iGHtbtc8vjTpBXshKIboaPnUyAXKze+KNi9QiEz/IieyRnZfNztp7yvTFyBXOlVQP/JdYNZw2+GRQDg7grOR2ZjroqoOU2z0TNhy+qDHKSV8ZXOnxUF93w3DA51ADDQHB0IngL+v6N8KthdVZeZBe0d3EsUFS8ZJltNRUJ','encSecKey':'4801507e42c326dfc6b50539395a4fe417594f7cf122cf3d061d1447372ba3aa804541a8ae3b3811c081eb0f2b71827850af59af411a10a1795f7a16a5189d163bc9f67b3d1907f5e6fac652f7ef66e5a1f12d6949be851fcf4f39a0c2379580a040dc53b306d5c807bf313cc0e8f39bf7d35de691c497cda1d436b808549acc'} postdata=urllib.parse.urlencode(data).encode('utf8') #进行编码 request=urllib.request.Request(url,headers=header,data=postdata) reponse=urllib.request.urlopen(request).read().decode('utf8') json_dict=json.loads(reponse) #获取json hot_commit=json_dict['hotComments'] #获取json中的热门评论 num=0 fhandle=open('./song_comments','a') #写入文件 fhandle.write(hot_song_name+':'+'\n') for item in hot_commit: num+=1 fhandle.write(str(num)+'.'+item['content']+'\n') fhandle.write('\n==============================================\n\n') fhandle.close() hot_song_name,hot_song_id=get_all_hotSong() #获取热歌榜所有歌曲名称和id num=0 while num < len(hot_song_name): #保存所有热歌榜中的热评 print('正在抓取第%d首歌曲热评...'%(num+1)) get_hotComments(hot_song_name[num],hot_song_id[num]) print('第%d首歌曲热评抓取成功'%(num+1)) num+=1
Les résultats de l'exécution du code sont les suivants :
Comparez les critiques de la chanson "If I Love You" sur la page Web avec les chansons que nous avons enregistrées. Commentaires :
Informations correctes~
Résumé
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Depuis la sortie de la version nationale du jeu en février, le mystérieux jeu de tir de NetEase "Operation Apocalypse" a attiré la curiosité de nombreux joueurs. Comme nous le savons tous, bien que NetEase ait également proposé des jeux de tir dans les premières années, il semble qu'à l'exception de "The Day After Tomorrow" et "Knives Out", il n'y ait pas beaucoup d'œuvres capables. Ces dernières années, les travaux lancés par NetEase ont pris de l'ampleur et ont obtenu des résultats considérables dans de nombreux domaines de niche. Le fait que « l'Opération Apocalypse », qui n'a jamais été révélée auparavant, soit placée comme le premier plan de NetEase dans la nouvelle année suffit à faire sourciller. Est-ce un signal que NetEase va lancer une attaque sur la piste de tir ? Les joueurs attendent avec impatience les nouveaux jeux de tir sur mobile. Le 13 mars, ce jeu mobile de tir multi-héros 5V5 "Operation Apocalypse" développé par NetEase a enfin dévoilé son mystère et a officiellement publié sa première démonstration en direct.

Le 27 mars 2024, heure de Pékin, NetEase Games et Marvel Games ont officiellement annoncé un nouveau jeu : le jeu de tir en équipe PVP de super-héros "Marvel Rivals". Les joueurs peuvent choisir leurs personnages préférés parmi une gamme riche et diversifiée de super-héros et de super-méchants pour former une équipe d'étoiles, et utiliser leurs super pouvoirs uniques pour s'engager dans des batailles passionnantes sur diverses cartes cassables du multivers Marvel. "Nous sommes très heureux de proposer "Marvel Confrontation" aux joueurs du monde entier. Nous avons toujours aimé l'univers Marvel et ses personnages, et nous sommes ravis de développer ce jeu. " L'équipe créative principale de "Marvel Contest" a déclaré : " C'est exactement le jeu que nous rêvions de créer, et nous sommes extrêmement fiers de pouvoir le transformer d'un rêve en réalité." "NetEase

"Marvel Super War" de NetEase a annoncé qu'il mettrait fin à ses opérations et fermerait le serveur de jeu à 15h00 le 17 juin 2024. L'entrée de téléchargement pour toutes les plateformes est désormais fermée, et le rechargement des jeux et l'enregistrement de nouveaux utilisateurs ont été arrêtés. En tant que premier jeu mobile MOBA de Marvel, ce jeu affiche de manière authentique les caractéristiques de combat des super-héros et restaure la grande vision du monde de l'univers Marvel. Dans le jeu, vous pourrez vous rassembler dans l'univers parallèle avec les Avengers, les X-Men, les Quatre Fantastiques et de nombreux super-héros et super-méchants, et rivaliser avec Iron Man, Captain America, Spider-Man, Loki, Thanos, Deadpool Attendez. pour que plus de 60 personnages classiques de Marvel combattent ensemble !

Récemment, le jeu mobile Nishuihan a officiellement publié un nouvel outil de génération vidéo IA, grâce auquel les joueurs peuvent « produire des superproductions simplement en tapant ». Selon l'introduction officielle, les fonctions sont implémentées sur la base du jeu Nishuihan lui-même et sont fortement impliquées dans l'IA. Aucun équipement, acteur ou effet spécial n'est nécessaire. Il vous suffit de saisir l'image, les actions et les lignes du personnage, et le contenu correspondant peut être généré en temps réel dans le jeu via l'IA et filmé. Dans le même temps, les joueurs peuvent ajuster les détails, notamment les vêtements, le maquillage, la coiffure, la personnalité, la voix du personnage, etc. Cette fonction prend également en charge le téléchargement d'images/vidéos, la capture de mouvements via l'IA et la génération en temps réel de mouvements et d'expressions qui ne sont « pas disponibles dans le jeu ». Les responsables ont déclaré que cette fonctionnalité a la même vision que Sora, qui est de « rendre l'espace créatif sans fin et le seuil créatif proche de la limite ».

NetEase et Microsoft Blizzard ont officiellement annoncé le retour du serveur national de Blizzard. NetEase a également organisé une cérémonie de célébration sous le bâtiment du siège. La scène était également très excitante. La scène a été mise en place tôt le matin, et tous les jeux de Blizzard sont répertoriés, dont World of Warcraft, Hearthstone, Diablo 3, Heroes of the Storm, Overwatch, StarCraft 2, etc. Soyez attentif aux annonces officielles de Blizzard et de NetEase Heroes. of the Storm n'est pas mentionné, mais il n'y a pas d'affiches live pour ce jeu, donc les joueurs qui aiment Heroes of the Storm n'ont pas à s'inquiéter, toute la famille de Blizzard sera de retour. Il convient également de prêter une attention particulière à World of Warcraft. L'affiche affichée est celle de World of Warcraft 11.0 War for the Center of the Earth. Évidemment, cette version classique dans laquelle Mason a personnellement copié l'épée sera jouée sur le serveur chinois cet été.

Récemment, Tencent Interactive Entertainment Recruitment a publié des informations de recrutement, indiquant que Photon H Studio s'engage à développer un projet de RPG en monde ouvert riche en contenu et de niveau AAA. Les postes à recruter couvrent plusieurs domaines tels que les ingénieurs UE5, le backend, la conception de niveaux, la conception de scènes d'action, la modélisation de personnages, les effets spéciaux et la distribution, et le lieu de travail cible pour ces postes est Hangzhou, où se trouve le siège de NetEase.

NetEase Master APP est une plate-forme sociale pour les joueurs. Les utilisateurs peuvent obtenir une consultation sur les jeux ici. De nombreux utilisateurs souhaitent savoir si NetEase Master peut se réinscrire après s'être déconnecté. NetEase Master peut-il se réinscrire après s'être déconnecté ? Réponse : Oui. 1. NetEase Master peut se réinscrire après s'être déconnecté. 2. Mais vous devez vous inscrire au moins une semaine avant de pouvoir choisir ce numéro pour vous inscrire. 3. Le compte ne peut pas être spécifié et les données précédentes seront effacées. 4. Une fois que l'utilisateur s'est déconnecté, toutes les informations précédentes et les soldes associés ont été effacés. Articles connexes : Comment NetEase Master modifie-t-il le numéro de téléphone mobile lié ?

Il existe actuellement 4 versions de World of Warcraft. Le serveur national est fermé depuis plus d'un an. On estime que de nombreux joueurs ne savent pas où chaque version a été développée. 1. A la fin de la version 10.0 officielle du serveur, avant l'arrêt du serveur national, la version 10.0 venait de démarrer. Elle est actuellement en version 10.26. Il y aura la version 10.27 plus tard, et le pack d'extension Age of Dragon sera terminé. . Bien que la version 10.0 ait reçu de bonnes critiques sur les serveurs étrangers et ait redonné une certaine popularité à Blizzard, le cœur du jeu dans la version 10.0 n'a pas changé du tout. Il s'agit toujours principalement de grands secrets et de raids, et le nombre de joueurs PVP est très important. petit. Avec les mises à jour continues de la version officielle du serveur, les tendances de jeu des joueurs sont également passées du PVE et du PVP à la collection.
