2016-02-08 121 views
0

我問這個問題似乎很天真。我需要檢索各種HTTP代碼,我們的少數測試場景。現在我知道Selenium不能單獨完成,我們必須使用第三方資源 - 可能是Browsermob之類的代理。安裝BrowserMob代理獲取HTTP代碼

有沒有人已經在此工作。我已經通過各種教程 - 像here,但我似乎無法解決這個問題。

我安裝使用Browsermob的pip法等我給的路徑

from browsermobproxy import Server 
    server = Server('/usr/local/lib/python3.4/dist-packages/browsermobproxy') 

不過,我收到異常

Exception: Browsermob-Proxy binary couldn't be found in path provided: /usr/local/lib/python3.4/dist-packages/browsermobproxy 

我的問題是 - 是否有任何東西 - 任何文件我可能會在這裏失蹤?我是否需要下載其他文件或我的路徑不正確?

回答

0

不確定您是否瞭解browsermob-proxy-py,它是客戶端實現而不是服務器。因此您需要首先安裝服務器browsermob-proxy(https://github.com/lightbody/browsermob-proxy)並使用默認端口運行代理。

2

我在啓動的時候對此有點困惑,但是我假設你使用pip安裝了browsermobproxy包。您還需要實際下載browsermob-proxy二進制文件(可在此處獲得:https://bmp.lightbody.net/),然後從您的python腳本中指向

我使用的是虛擬的環境,所以我把它放在這裏:

/Users/username/Envs/ScrapeProj/bin/browsermob-proxy-2.1.2/bin/browsermob-proxy 

如果您收到錯誤消息:

Error: JAVA_HOME is not defined correctly. 

運行在終端以下命令:

export JAVA_HOME=$(/usr/libexec/java_home) 
export PATH=$JAVA_HOME/jre/bin:$PATH