eyecatchup/webmaster-tools-data

自动化下载谷歌网站管理员工具数据表的简单方法

dev-master 2016-07-15 11:29 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:06:01 UTC


README

简介

本项目提供了一种自动化下载谷歌网站管理员工具数据表的方法,并尝试提供一种PHP替代方案,替代此处可用的Python脚本 http://code.google.com/p/webmaster-tools-downloads/,用于下载谷歌网站管理员工具的CSV文件。

与Python脚本(或完美克隆版)不同,此解决方案运行时不需要安装额外的客户端库或zend包。此外,它还具备一些高级功能。

功能

由于官方下载列表(由Python脚本使用)仅返回1.) "顶级搜索查询" 和 2.) "顶级页面" 的下载URL,但通过Web界面有更多可下载的内容,所以我扩展了GWTdata类,现在您可以下载以下网站数据

  • TOP_PAGES
  • TOP_QUERIES
  • CRAWL_ERRORS
  • CONTENT_ERRORS
  • CONTENT_KEYWORDS
  • LATEST_BACKLINKS
  • INTERNAL_LINKS
  • EXTERNAL_LINKS
  • SOCIAL_ACTIVITY

更新通知

如果您想自动化下载 抓取错误,请访问此处: https://github.com/eyecatchup/GWT_CrawlErrors-php

使用方法

本文档通过展示使用php类GWTdata的示例,说明了如何通过谷歌网站管理员工具自动化文件下载过程。

开始使用

要开始使用,步骤如下

  • 下载php文件gwtdata.php。
  • 创建一个文件夹,并将gwtdata.php脚本添加到其中。

示例1 - DownloadCSV()

要下载所选单个域名的数据表的CSV数据,步骤如下

  • 在您添加gwtdata.php的同一文件夹中,创建并运行以下PHP脚本。
    您需要将示例中的"email"和"password"值替换为您的Google账户的有效登录详情,以及将"website"替换为您GWT账户中注册的有效URL。
<?php
	include 'gwtdata.php';
	try {
		$email = "username@gmail.com";
		$password = "******";

		# If hardcoded, don't forget trailing slash!
		$website = "http://www.domain.com/";

		$gdata = new GWTdata();
		if($gdata->LogIn($email, $password) === true)
		{
			$gdata->DownloadCSV($website);
		}
	} catch (Exception $e) {
		die($e->getMessage());
	}

这将下载并将9个CSV文件保存到您的硬盘上

  • ./TOP_PAGES-www.domain.com-YYYYmmdd-H:i:s.csv
  • ./TOP_QUERIES-www.domain.com-YYYYmmdd-H:i:s.csv
  • ./CRAWL_ERRORS-www.domain.com-YYYYmmdd-H:i:s.csv
  • ./CONTENT_ERRORS-www.domain.com-YYYYmmdd-H:i:s.csv
  • ./CONTENT_KEYWORDS-www.domain.com-YYYYmmdd-H:i:s.csv
  • ./LATEST_BACKLINKS-www.domain.com-YYYYmmdd-H:i:s.csv
  • ./INTERNAL_LINKS-www.domain.com-YYYYmmdd-H:i:s.csv
  • ./EXTERNAL_LINKS-www.domain.com-YYYYmmdd-H:i:s.csv
  • ./SOCIAL_ACTIVITY-www.domain.com-YYYYmmdd-H:i:s.csv

有关如何限制下载到顶级搜索查询或顶级页面等 的示例,请参阅示例4。

默认情况下,文件将保存到您添加gwtdata.php的同一文件夹(并运行脚本)。但是,DownloadCSV() 方法有一个可选的第二个参数,可以调整保存路径 - 请参阅gwtdata.php中的内联注释和/或第二个示例。

示例2 - GetSites()

要下载您在谷歌网站管理员工具账户中注册的所有域名的CSV数据,并将下载的文件保存到额外的文件夹中,步骤如下

  • 在您添加gwtdata.php的同一文件夹中,创建一个名为csv的文件夹。
  • 在您添加gwtdata.php的同一文件夹中,创建并运行以下PHP脚本。
    您需要将示例中的"email"和"password"值替换为您的Google账户的有效登录详情。
<?php
	include 'gwtdata.php';
	try {
		$email = "username@gmail.com";
		$password = "******";

		$gdata = new GWTdata();
		if($gdata->LogIn($email, $password) === true)
		{
			$sites = $gdata->GetSites();
			foreach($sites as $site)
			{
				$gdata->DownloadCSV($site, "./csv");
			}
		}
	} catch (Exception $e) {
		die($e->getMessage());
	}

此操作将为Google Webmaster Tools账户中注册的每个域名下载8个CSV文件,并将它们保存在csv文件夹中。

示例3 - GetDownloadedFiles()

与示例二相同,但使用GetDownloadedFiles()方法获取哪些文件已被保存到您的硬盘(返回绝对路径)的反馈。

<?php
	include 'gwtdata.php';
	try {
		$email = "username@gmail.com";
		$passwd = "******";

		$gdata = new GWTdata();
		if($gdata->LogIn($email, $passwd) === true)
		{
			$sites = $gdata->GetSites();
			foreach($sites as $site)
			{
				$gdata->DownloadCSV($site, "./csv");
			}

			$files = $gdata->GetDownloadedFiles();
			foreach($files as $file)
			{
				print "Saved $file\n";
			}
		}
	} catch (Exception $e) {
		die($e->getMessage());
	}

示例4 - SetTables()

要下载单个域名选择项的CSV数据和仅搜索查询数据,步骤如下

  • 在您添加gwtdata.php的同一文件夹中,创建并运行以下PHP脚本。
    您需要将示例中的"email"和"password"值替换为您的Google账户的有效登录详情,以及将"website"替换为您GWT账户中注册的有效URL。
<?php
	include 'gwtdata.php';
	try {
		$email = "username@gmail.com";
		$password = "******";

		# If hardcoded, don't forget trailing slash!
		$website = "http://www.domain.com/";

		# Valid values are "TOP_PAGES", "TOP_QUERIES", "CRAWL_ERRORS",
		# "CONTENT_ERRORS", "CONTENT_KEYWORDS", "INTERNAL_LINKS",
		# "EXTERNAL_LINKS", "SOCIAL_ACTIVITY", and "LATEST_BACKLINKS".
		$tables = array("TOP_QUERIES");

		$gdata = new GWTdata();
		if($gdata->LogIn($email, $password) === true)
		{
			$gdata->SetTables($tables);
			$gdata->DownloadCSV($website);
		}
	} catch (Exception $e) {
		die($e->getMessage());
	}

这将下载并保存一个文件:./TOP_QUERIES-www.domain.com-Ymd-H:i:s.csv

示例5 - SetDaterange()

要下载Google Webmaster Tools账户中注册的所有域名以及特定日期范围内的CSV数据,步骤如下

  • 在您添加gwtdata.php的同一文件夹中,创建并运行以下PHP脚本。
    您需要将示例中的"email"和"password"值替换为您的Google账户的有效登录详情。
<?php
	include 'gwtdata.php';
	try {
		$email = "username@gmail.com";
		$password = "******";

		# Dates must be in valid ISO 8601 format.
		$daterange = array("2012-01-10", "2012-01-12");

		$gdata = new GWTdata();
		if($gdata->LogIn($email, $password) === true)
		{
			$gdata->SetDaterange($daterange);

			$sites = $gdata->GetSites();
			foreach($sites as $site)
			{
				$gdata->DownloadCSV($site);
			}
		}
	} catch (Exception $e) {
		die($e->getMessage());
	}

将为Google Webmaster Tools账户中注册的每个域名下载9个CSV文件(见示例#1),其中包含指定日期范围内的数据。

示例6 - SetLanguage()

要下载Google Webmaster Tools账户中注册的所有域名以及仅搜索查询数据、仅特定日期范围的数据,并且您想为CSV标题使用自定义语言,步骤如下

  • 在您添加gwtdata.php的同一文件夹中,创建并运行以下PHP脚本。
    您需要将示例中的"email"和"password"值替换为您的Google账户的有效登录详情。
<?php
	include 'gwtdata.php';
	try {
		$email = "eyecatchup@gmail.com";
		$passwd = "******";

		# Language must be set as valid ISO 639-1 language code.
		$language = "de";

		# Dates must be in valid ISO 8601 format.
		$daterange = array("2012-01-01", "2012-01-02");

		# Valid values are "TOP_PAGES", "TOP_QUERIES", "CRAWL_ERRORS",
		# "CONTENT_ERRORS", "CONTENT_KEYWORDS", "INTERNAL_LINKS",
		# "EXTERNAL_LINKS", "SOCIAL_ACTIVITY" and "LATEST_BACKLINKS".
		$tables = array("TOP_QUERIES");

		$gdata = new GWTdata();
		if($gdata->LogIn($email, $passwd) === true)
		{
			$gdata->SetLanguage($language);
			$gdata->SetDaterange($daterange);
			$gdata->SetTables($tables);

			$sites = $gdata->GetSites();
			foreach($sites as $site)
			{
				$gdata->DownloadCSV($site);
			}
		}
	} catch (Exception $e) {
		die($e->getMessage());
	}

将为Google Webmaster Tools账户中注册的每个域名下载一个CSV文件,其中包含指定日期范围内的顶级查询数据,并带有德语文本标题。

就是这样。