最近、多くの人のブログでウェブスクレイピング(パケットキャプチャ)のチュートリアルが公開されているのを見かけ、それが私の興(きょう)味(み)(かっこつけ)を刺激し、この記事が生まれました。

ちょうど先日、私のプレイリスト がKuGouのAPIとの連携が機能しなくなりました。この機会に修正し、ついでに画像付きのチュートリアルを作成することにしました。というわけで、KuGouを「メスを入れる(分析対象にする)」ことにします。

パケットキャプチャの概念について

パケットキャプチャ(packet capture)とは、ネットワークで送受信されるデータパケットを傍受、再送信、編集、保存などの操作を行うことであり、ネットワークセキュリティのチェックにも使われます。また、データの傍受などにも頻繁に利用されます。

——ゲイ百科より

ここで話すのは、ウェブページで送受信されるデータの傍受であり、再送信や編集など、ネットワークセキュリティに影響を与える操作は含みません。 実はパケットキャプチャ に関する記事は、2016年にはすでに複数公開していましたが、記事が古くなりメンテナンスされていないため、画像は失われたり、破損したり、順序がめちゃくちゃになっています。 ウェブ開発者、特にバックエンド開発者にとって、パケットキャプチャはあまり馴染みがないかもしれません。しかし、私はデスクトップアプリケーション開発出身なので、使うのはお手の物です。

目的:

KuGouの楽曲直リンクの解析 - 私のプレイリストの修正

対象サイト:

http://t.kugou.com/1md5hf5t8V2 KuGouの私のプレイリスト共有短縮URL

使用ツール:

Google ChromeのF12キー(または Ctrl + Shift + I、または右クリック > 「検証」)開発者ツール

(注意:以下のチュートリアルは画像と合わせてご覧ください。見えにくい場合は右クリックで新しいウィンドウで画像を開いてください) ここではモバイル版のページをキャプチャします。なぜならPC版ではプレイリスト全体が直接ソースコードに返されるため、解析が不便だからです。モバイル版ではJSONが返されます。 Preserve Log:ページ遷移後も以前のログを保持する機能 左上隅の携帯電話アイコン:現在のブラウジングインターフェースのUAをモバイルUAに切り替える

URLを入力してEnterキーを押しアクセスすると、ウェブページがリダイレクトされます。
ステータスコード302、リダイレクトアドレスを取得(必ず画像を確認してください。テキストの説明は簡略化されています)
パケットキャプチャはここまでで終了です。以下、分析を開始します: 確かなのは、KuGouサイトの音楽リンクは決して固定ではないということです。 これまでの経験からすると、これらはすべて疑わしいパラメータです。
パケットキャプチャログを丹念に探すと、プレイリスト全体の取得方法であるlistが見つかりました。そして、楽曲の基本情報も含まれています。
listリンクを分析すると、ここのパラメータは以前のものと非常によく似ていることが明らかです。
次に、各楽曲のリンクを分析します。 楽曲の直リンクの有効期限はだいたい24時間程度で、無効になります。 引き続きパケットキャプチャログを確認します。
楽曲のハッシュ値を含めることで、楽曲の関連情報と直リンクを取得できます(ハッシュ値は前述の楽曲リストですでに返されています)。

まとめ:

短縮URL -> ウェブリンクパラメータ -> プレイリストの取得 -> 楽曲の取得 (段階的に、前のステップで得られたパラメータを使って次のURLにアクセスします)

関連コードは自分で書いてくださいね….-。- このようなチュートリアル性の高い記事を投稿するのは久しぶりです。 最後に一言、Google開発者ツールは本当にめちゃくちゃ便利! ちょっとした記事を書いて、逃げる〜〜

関連推奨記事 (1)PHPを使ってBingの今日の画像をスクレイピングし、自分のものとして利用する .孟坤ブログ. (2)パケットキャプチャ入門(一) 関連コード (1)KuGouプレイリストの楽曲情報取得インターフェースのソースコード

著作権表示

著者: MoeJue

リンク: https://ja.moejue.cn/posts/31/

ライセンス: クリエイティブ・コモンズ表示-非営利-継承4.0国際ライセンス

この作品は、クリエイティブ・コモンズ表示-非営利-継承4.0国際ライセンスに基づいてライセンスされています。

検索を開始

キーワードを入力して記事を検索

↑↓
ESC
⌘K ショートカット