最近、多くの人のブログでウェブスクレイピング(パケットキャプチャ)のチュートリアルが公開されているのを見かけ、それが私の興(きょう)味(み)(かっこつけ)を刺激し、この記事が生まれました。
ちょうど先日、私のプレイリスト が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に切り替える




listが見つかりました。そして、楽曲の基本情報も含まれています。

listリンクを分析すると、ここのパラメータは以前のものと非常によく似ていることが明らかです。



まとめ:
短縮URL -> ウェブリンクパラメータ -> プレイリストの取得 -> 楽曲の取得 (段階的に、前のステップで得られたパラメータを使って次のURLにアクセスします)
関連コードは自分で書いてくださいね….-。- このようなチュートリアル性の高い記事を投稿するのは久しぶりです。 最後に一言、Google開発者ツールは本当にめちゃくちゃ便利! ちょっとした記事を書いて、逃げる〜〜
関連推奨記事 (1)PHPを使ってBingの今日の画像をスクレイピングし、自分のものとして利用する .孟坤ブログ. (2)パケットキャプチャ入門(一) 関連コード (1)KuGouプレイリストの楽曲情報取得インターフェースのソースコード