如何提高Browsermob代理的速度?

时间:2019-05-06 22:11:19

标签: python selenium browsermob-proxy

我正在使用Browsermob Proxy,使用一个简单的脚本(如下所示)的速度非常慢。我想这是启动新服务器所需的时间。

如果是这种情况,是否可以启动服务器以在不同的脚本执行之间使用它?

或者不是这种情况,是什么导致我的脚本运行缓慢?

from browsermobproxy import Server
from selenium.webdriver.firefox.options import Options
from selenium import webdriver
import json


server = Server("/anaconda3/lib/python3.7/site-packages/browsermobproxy/browsermob-proxy-2.1.4/bin/browsermob-proxy")
server.start()
proxy = server.create_proxy()

print(1)
profile  = webdriver.FirefoxProfile(profile_directory=r'./')
print(2)
profile.set_proxy(proxy.selenium_proxy())
print(4)

opts = Options()
opts.headless = True

driver = webdriver.Firefox(profile, executable_path=r'./geckodriver', options=opts)
print(5)


proxy.new_har()
driver.get("http://value.to")
proxy.har # returns a HAR JSON blob
#print(proxy.har)
print("analytics in value.to:")
for entry in proxy.har["log"]["entries"]:
    if "google-analytics" in entry["request"]["url"]:
        print(entry["request"]["url"])

print("\n\n\n")

proxy.new_har()
driver.get("http://insightwhale.com")
proxy.har # returns a HAR JSON blob
#print(proxy.har)

print("analytics in insightwhale:")
for entry in proxy.har["log"]["entries"]:
    if "google-analytics" in entry["request"]["url"]:
        print(entry["request"]["url"])

print(json.dumps(proxy.har, indent=4, sort_keys=True))
file = open("____tmp.txt", "w")
file.write(json.dumps(proxy.har, indent=4, sort_keys=True))
file.close()


server.stop()
driver.quit()

1 个答案:

答案 0 :(得分:0)

哇,上帝知道为什么这样:“ profile_directory = r'./'”降低了脚本的速度。没有FirefoxProfile的此参数,一切都将快速运行。