Я пишу скрипт на Python, чтобы определить, установлен ли Google Analytics на странице.
Попытка найти его в коде не будет работать, так как иногда он устанавливается через Google Tag Manager.
Итак, я пытаюсь сгенерировать HAR с помощью прокси-сервера Browsermob и проверить там.
Для некоторых сайтов, где установлена Google Analytics, он также находится в HAR, но для некоторых сайтов этонет (хотя если вы проверите его на вкладке сети браузера, вы можете найти его там).
Ниже приведен код, который я использую на сайте, для которого установлена Google Analytics, но это не так.показывая в HAR.
Есть идеи почему?
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()
profile = webdriver.FirefoxProfile()#profile_directory=r'./'
profile.set_proxy(proxy.selenium_proxy())
opts = Options()
opts.headless = True
driver = webdriver.Firefox(profile, executable_path=r'./geckodriver', options=opts)
proxy.new_har()
driver.get("http://insightwhale.com")
proxy.har # returns a HAR JSON blob
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()