ホームページ バックエンド開発 Python チュートリアル Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

Oct 09, 2017 am 10:25 AM
python3 クロール ネットイース

この記事では、主に NetEase Cloud 音楽のホットレビューをキャプチャするための Python3 実用的なクローラーに関する関連情報を紹介します。この記事では、学習や仕事に役立つ特定の学習価値があります。以下のエディターと一緒に学習してください。

はじめに

私はPythonクローラーを始めたばかりで、半月ほどPythonを書いていなかったため、ほとんど忘れていました。そこで、スキルを練習するために簡単なクローラーを作成するつもりでした。NetEase Cloud Music の最大の特徴は、正確な曲の推奨と独自のユーザー レビューであると感じたので、NetEase Cloud Music の人気の曲の熱いレビューを取得するためにこのメソッドを書きました。爬虫類のリスト。私もまだクロールを始めたばかりです。ご意見やご質問がございましたら、お気軽にお問い合わせください。一緒に進歩していきましょう。

これ以上ナンセンスはありません~詳細な紹介を見てみましょう。

私たちの目標は、NetEase Cloud の人気曲ランキングのすべての曲の人気コメントをクロールすることです。

これにより、クロールに必要な作業負荷が軽減されるだけでなく、高品質のコメントも保存できます。

実装分析

まず、図に示すように、NetEase Cloud Webバージョンを開きます:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

ランキングリストをクリックし、次にクラウドミュージックのホットソングリストをクリックします。左、写真に示すように:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

まず、ランダムに曲を開いて、指定した曲の人気のある曲のレビューを取得する方法を調べてみましょう。写真に示すように、最近気に入った曲を選択しました。例:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

入力すると、このページのすぐ下に曲のレビューが表示されます。次に、これらのコメントを取得する方法を見つける必要があります。

次に、Web コンソールを開き (Chrome の開発者ツールを開きます。他のブラウザでも同様であるはずです)、図に示すように、Chrome の下で F12 を押します:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

[ネットワーク] を選択し、F5 を押して更新します。更新後に取得されたデータは次のとおりです。

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

ブラウザが多くの情報を送信していることがわかります。それではどれが必要ですか?ここでは、ステータス コードによってサーバー リクエストのステータスを示すことができます。ステータス コードは、リクエストが正常であることを意味する 200 と、リクエストが異常であることを意味する 304 です (さまざまな種類があります)。ステータス コードについて詳しく知りたい場合は、自分で検索してください。ここでは 304 の具体的な意味については説明しません。したがって、通常はステータス コード 200 のリクエストのみを確認する必要があります。また、右側の列のプレビューを通じて、サーバーがどのような情報を返すかを大まかに観察する (または応答を表示する) ことができます。これら 2 つの方法を組み合わせることで、分析したいリクエストをすぐに見つけることができます。検索を繰り返した結果、画像に示すように、最終的に曲レビューを含むリクエストを見つけました:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

CSDN ではスクリーンショットがあまり明確ではないかもしれませんが、R_SO_4_489998494?csrf_token= という名前の POST リクエストでこの曲を含む曲レビューを見つけました。 。より明確に確認できるように、このブロックのスクリーンショットを撮りましょう:

リクエストの基本情報:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

リクエストのヘッダー:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

リクエスト内のフォームデータ:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

この曲の曲レビューを含むリクエスト URL は http://music.163.com/weapi/v1/resource/comments/R_SO_4_489998494?csrf_token= であることがわかります。いくつかの曲を変更した後、このリクエストはの最初の部分は同じですが、R_SO_4_ の直後の数字列が異なります。各曲には指定された ID があり、R_SO_4_ に続くのは曲の ID であると推測できます。

送信されたフォーム データをもう一度見てみましょう。params と encSecKey という名前の 2 つのデータをフォームに入力する必要があることがわかります。以下は大きな文字列です。いくつかの曲を変更すると、各曲の params と encSecKey が異なることがわかります。したがって、これら 2 つのデータは特定のアルゴリズムによって暗号化されている可能性があります。

サーバーから返されるコメント関連データは json 形式であり、非常に豊富な情報 (コメンテーターに関する情報、コメント日付、いいねの数、コメントの内容など) が含まれており、その中で hotComments が最も注目されています。写真に示すように、合計 15 個のコメントがあります:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

この時点で、方向は決定されました。つまり、params と の 2 つのパラメーター値を決定するだけです。 encSecKey。しかし、これら 2 つのパラメータは特定のアルゴリズムを通じて暗号化されています。どうすればよいでしょうか? http://music.163.com/weapi/v1/resource/comments/R_SO_4_489998494?csrf_token= R_SO_4_ の後の数字はこの曲の ID 値で、別の曲の場合は param と encSecKey の値です。 A などの曲のこれら 2 つのパラメータ値を曲 B に渡す場合、同じページ数では、このパラメータは普遍的です。つまり、曲の最初のページの 2 つのパラメータ値です。 A はソング B に渡されます。他のソングの 2 つのパラメーターについては、対応するソングの最初のページでコメントを取得できます。2 ページ目、3 ページ目などについても同様です。

実際、最初のページで人気のある 15 件のコメントを取得する必要があるだけなので、曲を見つけて、最初のページのリクエストにある params と encSecKey の 2 つのパラメーター値をコピーするだけです。曲をダウンロードすればすぐに使用できます。

これら 2 つのパラメータを復号化する方法については、実際には強力な Zhihu に答えがあります。興味のある方はご覧ください (https://www.zhihu.com/question/36081767)。ここにあります。xixi さん、遅延メソッドを使用して要件を完了するだけです。

これまで、NetEase Cloud Music の人気コメントを取得する方法を分析してきました。次に、クラウド ミュージックの人気曲リストのすべての曲の情報を取得する方法を分析してみましょう。

クラウドミュージックのホットソングリスト内のすべての曲の曲名と対応するID値を取得する必要があります。

上記の分析手順と同様に、図に示すように、まずホットソングリストの URL を入力します:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

図に示すように、F12 を押して WEB ワークベンチに入ります:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

toplist というファイル内にあります。id=3778678 の GET リクエストで、このリストのすべての曲情報が見つかりました。

リクエストに対応する情報は図に示すとおりです:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

図に示すように、リクエストによって返される結果をプレビューしてみましょう:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

行内に曲情報を含むコードが見つかりました図に示すように、コードの 524 は次のとおりです。

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

したがって、リクエストのコードから情報を含むコードをフィルタリングするだけで済みます。

ここではデータのフィルタリングに正規表現を使用します。

特徴を観察することで、2 つの正規表現フィルターを通じて必要な曲情報を抽出できます。

最初の正規表現では、リクエストによって返されたすべてのコードからコードの 525 行目を抽出しました。

最初の正規表現は次のとおりです:

<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>
ログイン後にコピー

2 番目の正規表現では、行 524 で必要な曲情報を抽出します。曲のタイトルと ID が必要で、対応する正規表現は次のとおりです:

Get曲のタイトル:

<li><a href="/song\?id=\d*?" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >(.*?)</a></li>
ログイン後にコピー

曲 ID を取得:

<li><a href="/song\?id=(\d*?)" rel="external nofollow" rel="external nofollow" >.*?</a></li>
ログイン後にコピー

この時点で、プロセス全体を分析しました。具体的な詳細を確認するためにコードに行きましょう~~

コードは次のとおりです:


rrree

コードを実行した結果は次のとおりです:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

Web ページ上の曲「If I Love You」の曲レビューと保存した曲レビューを比較します:

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

Python3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)

情報は正しいです~

概要

以上がPython3 は NetEase Cloud Music の人気コメント分析をキャプチャするクローラーを実装します (写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

NetEase初! 5V5マルチヒーロースキルシューティングモバイルゲーム『オペレーション・アポカリプス』予約開始! NetEase初! 5V5マルチヒーロースキルシューティングモバイルゲーム『オペレーション・アポカリプス』予約開始! Mar 16, 2024 am 08:01 AM

2月に国内ゲーム版がリリースされて以来、多くのプレイヤーの好奇心を集めているNetEaseのミステリアスなシューティングゲーム「オペレーション・アポカリプス」。皆さんご存知のとおり、NetEase も初期にはシューティングゲームをいくつか持っていましたが、「デイ・アフター・トゥモロー」と「荒野行動」を除けば、プレイできるゲームはそれほど多くないようです。近年、NetEase が発表した作品は勢いを増し、多くのニッチな分野で大きな成果を上げています。これまで公開されたことのなかった「Operation Apocalypse」がNetEaseの新年最初のショットに据えられたという事実は眉をひそめるのに十分ですが、これはNetEaseがシューティングトラックに攻撃を開始するという合図なのでしょうか?プレイヤーは新しいモバイル シューティング ゲームを心待ちにしています。3 月 13 日、NetEase が開発したこの 5V5 マルチヒーロー スキル シューティング モバイル ゲーム「オペレーション アポカリプス」がついにその謎を明らかにし、最初のライブ デモを正式にリリースしました。

ネットイース ネットイース Mar 28, 2024 pm 12:50 PM

北京時間の2024年3月27日、NetEase GamesとMarvel Gamesは新作ゲーム、スーパーヒーローPVPチームシューティングゲーム「Marvel Rivals」を正式発表した。プレイヤーは、スーパーヒーローやスーパーヴィランの豊富で多様なラインナップからお気に入りのキャラクターを選択してオールスターチームを結成し、独自のスーパーパワーを使ってマーベルマルチバースのさまざまな壊れやすいマップでエキサイティングな戦いに参加できます。 「私たちは『マーベル コンフロンテーション』を世界中のプレイヤーにお届けできることに非常に興奮しています。私たちは常にマーベル ユニバースとそのキャラクターを愛しており、このゲームの開発に興奮しています。」 「マーベル コンテスト」のメイン クリエイティブ チームは次のように述べています。これはまさに私たちが作りたいと夢見ていたゲームであり、それを夢から現実に変えることができたことを非常に誇りに思っています。」

NetEaseがマーベル初のMOBAゲーム『Marvel Super War』の中止を発表! NetEaseがマーベル初のMOBAゲーム『Marvel Super War』の中止を発表! Apr 18, 2024 am 10:50 AM

NetEaseの「Marvel Super War」は、2024年6月17日15時に運営を終了し、ゲームサーバーを閉鎖すると発表した。現在、全プラットフォームのダウンロード入り口は閉鎖されており、ゲームのリチャージや新規ユーザー登録も停止されている。マーベル初の MOBA モバイル ゲームであるこのゲームは、スーパーヒーローの戦闘特性を忠実に表現し、マーベル ユニバースの壮大な世界観を再現しています。ゲームでは、アベンジャーズ、X-メン、ファンタスティック フォー、そして多くのスーパーヒーローやスーパーヴィランたちと並行世界に集まり、アイアンマン、キャプテン アメリカ、スパイダーマン、ロキ、サノス、デッドプールと競争することができます。 60 を超えるマーベルの古典的なキャラクターが一緒に戦えます!

ソラのゲーム版?二水販モバイルゲームがAI動画生成ツールをリリース、タイピング入力に対応 ソラのゲーム版?二水販モバイルゲームがAI動画生成ツールをリリース、タイピング入力に対応 Feb 26, 2024 pm 08:55 PM

最近、Nishuihan モバイル ゲームは、プレーヤーが「入力するだけで大​​ヒット作を生み出す」ことができる新しい AI ビデオ生成ツールを正式にリリースしました。公式の紹介によると、機能は二水飯ゲームそのものをベースに実装されており、AIが大きく関わっているとのこと。機材や俳優、特殊効果などは一切必要なく、キャラクターの画像や動作、セリフを入力するだけで、対応するコンテンツをAIによってゲーム内でリアルタイムに生成し、撮影することができます。同時に、プレイヤーはキャラクターの服装、メイク、髪型、性格、声などの詳細を調整することができます。この機能は、写真・動画のアップロードやAIによるモーションキャプチャー、ゲーム内で「ゲーム内にはない」動きや表現をリアルタイムに生成することにも対応しています。関係者は、この機能には「創造的な空間を無限に、創造的な閾値を限界に近づける」というSoraと同じビジョンがあると述べています。

Blizzard の全国サーバーがシーンに戻り、ヴァリーナは雪のような肌と長い脚を披露し、ピンクのスカートを履いた Dva はとてもキュートです。 Blizzard の全国サーバーがシーンに戻り、ヴァリーナは雪のような肌と長い脚を披露し、ピンクのスカートを履いた Dva はとてもキュートです。 Apr 11, 2024 pm 04:04 PM

NetEase と Microsoft Blizzard は、Blizzard の全国サーバーの復帰を正式に発表しました。NetEase も本社ビルの下で祝賀式典を開催しました。現場も非常に興奮していました。一緒に現場に行きましょう!このシーンは早朝にセットアップされ、World of Warcraft、Hearthstone、Diablo 3、Heroes of the Storm、Overwatch、StarCraft 2 などを含むすべての Blizzard のゲームがリストされています。Blizzard と NetEase Heroes からの公式発表に注目してください。 「Heroes of the Storm」については言及されていませんが、このゲームのサイトで見られるポスターはありません。そのため、Heroes of the Storm が好きなプレイヤーは心配する必要はありません。Blizzard のファミリー全員が戻ってきます。 World of Warcraft にも特別な注意を払う必要があります。表示されているポスターは World of Warcraft 11.0 War for the Center of the Earth のものです。明らかに、メイソンが個人的に剣をコピーしたこの古典的なバージョンは、今夏中国サーバーでプレイされる予定です。

NetEase Masterはログアウト後に再登録できますか? NetEase Masterはログアウト後に再登録できますか? Mar 07, 2024 pm 03:25 PM

NetEase Master APP はゲーマーのためのソーシャル プラットフォームです。ユーザーはここでゲームに関する相談を受けることができます。多くのユーザーは NetEase Master がログアウト後に再登録できるかどうか知りたいと考えています。NetEase Master はログアウト後に再登録できます。 NetEase Master はログアウト後に再登録できますか? 回答: はい。 1. NetEase Master はログアウト後に再登録できます。 2. ただし、この番号を選択して登録するには、少なくとも 1 週間は登録する必要があります。 3. アカウントの指定はできず、以前のデータは消去されます。 4. ユーザーがログアウトすると、以前の情報と関連する残高はすべて消去されます。関連記事: NetEase マスターはバインドされた携帯電話番号をどのように変更しますか?

Tencent Photon H Studio が杭州で人材を募集し、3A オープンワールド RPG の制作を計画中 Tencent Photon H Studio が杭州で人材を募集し、3A オープンワールド RPG の制作を計画中 Feb 05, 2024 pm 01:45 PM

最近、Tencent Interactive Entertainment Recruitment が採用情報を発表し、Photon H Studio がコンテンツ豊富な AAA レベルのオープンワールド RPG プロジェクトの開発に取り組んでいることが示されました。人気の募集職種は、UE5 エンジニア、バックエンド、レベル デザイン、アクション シーン デザイン、キャラクター モデリング、特殊効果、配信などの複数の分野をカバーしています。これらの職種の目標勤務地は、NetEase の本社がある杭州です。

World of Warcraft の全国サーバーの再開に際し、ここに 4 つのメジャー バージョン選択ガイドがあります。最後のガイドはカジュアル プレイヤーに適しています。 World of Warcraft の全国サーバーの再開に際し、ここに 4 つのメジャー バージョン選択ガイドがあります。最後のガイドはカジュアル プレイヤーに適しています。 Apr 13, 2024 am 09:16 AM

World of Warcraft には現在 4 つのバージョンがあり、国内サーバーは 1 年以上閉鎖されています。各バージョンの現状を整理してみましょう。 1. 公式サーバー バージョン 10.0 の終わり、全国サーバーが閉鎖される前に、バージョン 10.0 が開始されました。その後、バージョン 10.27 があり、エイジ オブ ドラゴン拡張パックは終了します。 。バージョン 10.0 は海外サーバーで好評を博し、Blizzard の人気がいくらか回復しましたが、バージョン 10.0 のゲームの核心は依然として大きな秘密と襲撃が主であり、PVP プレイヤーの数は非常に多くなっています。小さい。公式サーバーバージョンの継続的なアップデートにより、プレイヤーのゲーム傾向も PVE や PVP からコレクションへと変化しました。

See all articles