由Browsermob Proxy创建的HAR不会在页面上显示Google Analytics(分析)

时间:2019-05-07 00:07:11

标签: python selenium browsermob-proxy

我正在用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()

0 个答案:

没有答案