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

この記事では、主に 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 までご連絡ください。
Python:自動化、スクリプト、およびタスク管理Python:自動化、スクリプト、およびタスク管理Apr 16, 2025 am 12:14 AM

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

Pythonと時間:勉強時間を最大限に活用するPythonと時間:勉強時間を最大限に活用するApr 14, 2025 am 12:02 AM

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Python:ゲーム、GUIなどPython:ゲーム、GUIなどApr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 中国語版

SublimeText3 中国語版

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