Как увеличить скорость работы Browsermob Proxy? - PullRequest
0 голосов
/ 07 мая 2019

Я играю с 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 голосов
/ 07 мая 2019

Ух, бог знает, почему это: "profile_directory = r './'" замедляло работу скрипта. Без этого параметра FirefoxProfile все работает быстро.

...