安装Browsermob代理以获取HTTP代码

时间:2016-02-08 19:58:26

标签: python proxy browsermob-proxy

在问这个时我可能显得天真。对于我们的一些测试场景,我需要检索各种HTTP代码。现在我知道Selenium无法独自完成,我们必须使用第三方资源 - 可能是像Browsermob这样的代理。

是否有人已就此工作过。我已经完成了各种教程 - 比如来自here的教程,但我似乎无法使用它来解决这个问题。

我使用pip方法安装了Browsermob,因此我将路径设为

  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 

我的问题是 - 有什么 - 我可能在这里找不到任何文件?我是否需要下载任何其他文件或我的路径不正确?

3 个答案:

答案 0 :(得分:6)

启动时我对此感到有些困惑,但我假设您使用pip安装了browsermobproxy软件包。您还需要实际下载browsermob-proxy二进制文件(此处为https://bmp.lightbody.net/),然后从您的python脚本中指向 it

我正在使用虚拟环境,所以我把它放在这里:

/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

答案 1 :(得分:0)

不确定您是否了解browsermob-proxy-py,它是客户端实现而不是服务器。所以你需要先安装服务器browsermob-proxy(https://github.com/lightbody/browsermob-proxy)并使用默认端口运行代理。

答案 2 :(得分:0)

类似question

仔细检查您的路径、变量、安装等

您也可以尝试将实际目录添加到PATH

echo 'export PATH=$PATH:/usr/local/lib/python3.4/dist-packages' >> ~/.bashrc

这样就不用在Server实例上手动指定路径arg

from browsermobproxy import Server
server = Server()