Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何以编程方式从Google Analytics将自定义生成的报告导出为csv文件?_Python 3.x_Pandas_Selenium_Selenium Webdriver_Google Analytics - Fatal编程技术网

Python 3.x 如何以编程方式从Google Analytics将自定义生成的报告导出为csv文件?

Python 3.x 如何以编程方式从Google Analytics将自定义生成的报告导出为csv文件?,python-3.x,pandas,selenium,selenium-webdriver,google-analytics,Python 3.x,Pandas,Selenium,Selenium Webdriver,Google Analytics,因此,从去年的同一天起,我一直在尝试几种技术,以导出一个特定的报表,并为其选择每天使用的过滤器。e、 (2019年9月23日至2020年9月23日)。目前,我正在尝试使用selenium自动化该过程,如下所示: try: options = webdriver.ChromeOptions() options.headless = False driver = webdriver.Chrome(options=options) driver.get('https:

因此,从去年的同一天起,我一直在尝试几种技术,以导出一个特定的报表,并为其选择每天使用的过滤器。e、 (2019年9月23日至2020年9月23日)。目前,我正在尝试使用selenium自动化该过程,如下所示:

try:
    options = webdriver.ChromeOptions()
    options.headless = False

    driver = webdriver.Chrome(options=options)
    driver.get('https://analytics.google.com/analytics/web/')
    
    for cookie in pickle.load(open("cookies.pkl", "rb")):
        driver.add_cookie(cookie)
    
    for date in sorted([(base - timedelta(days=x)).date().strftime('%Y%m%d') for x in range(300)], reverse = True):
        driver.get(report_link)
        t.sleep(30)
        driver.get('https://analytics.google.com/analytics/web/exportReport?hl=en_US&authuser=0&ef=CSV')
    
    #driver.find_element_by_xpath("//*[contains(@class, 'C_REPORTTOOLBAR_BTN_ICON C_REPORTTOOLBAR_BTN_EXPORT_ICON')]").click()
    #tbl = driver.find_element_by_xpath("//html/body").get_attribute('outerHTML')
    #df  = pd.read_html(tbl)
    
except Exception as e:
    print(e.__str__(), e.args)
我尝试了几种技术,包括这两种,它们在
块之前被注释

  • 根据我的经验,导出带有pandas的表从未失败过,但在这里它返回一个空列表,异常被抛出为
    找不到表

  • 导出按钮就是不可点击!!!我试着根据它的ID、部分XPATH、完整XPATH、文本标签等来点击它。每次selenium找不到此按钮时

  • 最后,我尝试获取URL,该URL在导出csv文件时注册为csv文件的下载URL,但每次都会抛出此错误消息:


  • 那么,我如何使用selenium和pandas(或其他一些解决方案,它们是我所知道的最好的组合)以csv格式导出去年全年的报告呢?

    如果您将报告API与服务帐户一起使用,您可能会感到有些头痛(或至少用稍微好一点的解决方案替换当前的头痛)(除非您正在查找一些未通过API提供的字段)。