Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 安装Browsermob代理以获取HTTP代码_Python_Proxy_Browsermob Proxy - Fatal编程技术网

Python 安装Browsermob代理以获取HTTP代码

Python 安装Browsermob代理以获取HTTP代码,python,proxy,browsermob-proxy,Python,Proxy,Browsermob Proxy,问这个问题时,我可能显得很天真。对于我们的一些测试场景,我需要检索各种HTTP代码。现在我知道Selenium无法单独完成这项工作,我们必须使用第三方资源——可能是类似Browsermob的代理 有人已经做过了吗。我已经通过了各种教程-像一个从,但我似乎不能左右使用这个 我使用pip方法安装了Browsermob,因此我给出了如下路径 from browsermobproxy import Server server = Server('/usr/local/lib/python3.4/

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

有人已经做过了吗。我已经通过了各种教程-像一个从,但我似乎不能左右使用这个

我使用
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 

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

不确定您是否理解browsermob proxy py,它是一个客户端实现,而不是服务器。因此,您需要首先安装服务器browsermob proxy(),并使用默认端口运行代理。

我在启动时对此也有点困惑,但我假设您使用pip安装了browsermobproxy包。您还需要实际下载browsermob代理二进制文件(此处提供:),然后从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
相似的

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

您还可以尝试将实际目录添加到路径

echo 'export PATH=$PATH:/usr/local/lib/python3.4/dist-packages' >> ~/.bashrc
这样,您就不必手动指定服务器实例上的路径arg

from browsermobproxy import Server
server = Server()