我正在用Python编写脚本,以识别网页上是否安装了Google Analytics(分析)。
由于有时是通过Google跟踪代码管理器安装的,因此无法在代码中找到它。
因此,我正在尝试使用Browsermob代理生成HAR,并在那里进行检查。
对于某些安装了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()