PhantomJS(Python3.5、Selenium)でリダイレクトのトラッキング-Browsermob-proxyの使い方編-
- 2016/7/21
- システム
- この記事は約1分で読めます。
Browsermob-proxyの使い方編
PhantomJS、Python3.5、Seleniumの組み合わせで
リダイレクトのログを追う、
ネットワークをトラッキングする、
ということで
前回は、Browsermob-proxyのインストール方法をご紹介しました。
それで、今回は、Browsermob-proxyの
使い方を簡単なコードと共にお伝えしたいと思います!
概要
まず、Browsermob-proxyサーバを立ち上げます。
それから、PhantomJSを操作すれば、
ネットワークログの観測や、
トラッキングが行えます。
Browsermob-proxyの使い方
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
from selenium import webdriver from browsermobproxy import Server def main(): # browsermob-proxyのインストール先を設定 BROWSERMOB_PROXY_PATH = '/usr/local/browsermob-proxy/bin/browsermob-proxy' # browsermob-proxyの起動 server = Server(BROWSERMOB_PROXY_PATH) server.start() proxy = server.create_proxy() proxy_address = "--proxy=127.0.0.1:%s" % proxy.port # phantom.jsのユーザエージェントの設定 USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36" # phantom.jsの言語の設定 Language = "ja,en-US"; # phantom.jsのログの吐き出しパスを設定 log_path = '/var/log/phantomjs.log' # seleniumの設定 # ここでは、ログの吐き出しレベルとsslのエラーを無視するように設定 service_args = ["--webdriver-loglevel=INFO" , '--ignore-ssl-errors=yes',] # phantomjsの起動 driver = webdriver.PhantomJS( desired_capabilities={ 'phantomjs.page.settings.userAgent': USER_AGENT, 'phantomjs.page.customHeaders.Accept-Language' : Language, }, service_log_path=log_path,service_args=service_args ) # ネットワークのトラッキング開始 proxy.new_har() # URLにアクセス driver.get("http://macbeese.com/") # トラッキング情報の取得 all_requests = [entry['request']['url'] for entry in proxy.har['log']['entries']] # トラッキング情報の表示 print(all_requests) # phantomjsの終了 driver.quit() # browsermob-proxyの終了 server.stop() if __name__ == "__main__": main() |
最後に
Browsermob-proxyの使い方を簡単なコード例で、
ご紹介しました。
ここらあたりは、英語の文献ばかりだったので、
メモがてらに記載しておきます。
著者が実践中の英語学習方法も今度かきたいと思います。
The following two tabs change content below.
デミ
Z or R Twice
で検索すると…
最新記事 by デミ (全て見る)
- 【20分で完了】MacにDocker for Macのインストール - 2017/02/02
- 【2017年版】Web接客ツール9社を比較してみた - 2017/01/26
- 【昼休み中に完了!】Macで最新Ruby、Railsのインストールから画面表示まで - 2017/01/19