PhantomJS(Python3.5、Selenium)でリダイレクトのトラッキング-Browsermob-proxyのインストール編-
- 2016/7/14
- システム
- この記事は約2分で読めます。
Browsermob-proxyのインストール編
PhantomJSは、Webkitベースのヘッドレスブラウザです。
JavaScriptの解析エンジンが搭載されていて、
JavaScriptのレンダリングが必要なWebサイトのスクレイピングができます!
なので、meta要素やJavaScriptによるクライアントサイドでの
リダイレクトにも対応できるという優れものです!
それで、これからの内容ですが、
PhantomJSでリダイレクトがかかるWebサイトをスクレイピングするのですが、
その際に、リダイレクトのログを追いたい、ネットワークをトラッキングしたい
ということです。
このトラッキング、
PhantomJS単体でもやろうと思えばやれるのですが、PhantomJS単体だと
・データベースへの接続をどうしよう
・HTMLの解析をどうしよう
などなど、どうしてもその他の問題が出てきます。
なので、やはり、
以下の組み合わせで実装します!
・Python3.5
・Selenium
・PhantomJS
今回は、ネットワークログ、リダイレクトのトラッキング
を観測するプロキシサーバの
Browsermob-proxyのインストール方法をご紹介します!
概要
SeleniumでPhantomJSを操作するのですが、
そのコードをPythonで記述します。
そして、プロキシサーバのBrowsermob-proxyで
ネットワークログ、リダイレクトのトラッキングを観測します。
Browsermob-proxyのインストール方法
※CentOS7.1環境下で行ってます
・本体のインストール
1 2 3 4 5 |
cd /usr/local/src/ curl -l -L -O https://github.com/lightbody/browsermob-proxy/releases/download/browsermob-proxy-2.1.0/browsermob-proxy-2.1.0-bin.zip unzip browsermob-proxy-2.1.0-bin.zip mv browsermob-proxy-2.1.0 browsermob-proxy mv browsermob-proxy /usr/local/ |
・Javaのインストール
1 |
Browsermob-proxyを動作させるのにJavaが必要なので、インストール |
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlより
1 2 3 4 5 6 7 8 |
jdk-8u92-linux-x64.rpm をダウンロード ftp等で /usr/local/src/ に jdk-8u92-linux-x64.rpm をアップロード |
1 2 |
cd /usr/local/src/ yum localinstall jdk-8u92-linux-x64.rpm |
・シェルファイルの設定
1 2 3 4 5 6 7 |
vim /etc/profile.d/java.sh 以下を追記 #!/bin/bash export JAVA_HOME=/usr/java/jdk1.8.0_92 export PATH=${JAVA_HOME}/bin:$PATH |
ログインし直せば、設定は反映されます!
確認した結果
1 2 3 4 |
$ echo $JAVA_HOME /usr/java/jdk1.8.0_92 $ echo $PATH /usr/java/jdk1.8.0_92/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/admin/.local/bin:/home/admin/bin |
最後に
スクレイピングでネットワークログであったり、
トラッキングを観測したいというのは、
だいぶコアな悩みだと思います。
だから、ほんとに情報見つけるの大変でした。。。。
今回は、Browsermob-proxyのインストール方法でしたが、
次回は、使い方をご紹介します!
デミ
最新記事 by デミ (全て見る)
- 【20分で完了】MacにDocker for Macのインストール - 2017/02/02
- 【2017年版】Web接客ツール9社を比較してみた - 2017/01/26
- 【昼休み中に完了!】Macで最新Ruby、Railsのインストールから画面表示まで - 2017/01/19