eyecatchup / webmaster-tools-data
自动化下载谷歌网站管理员工具数据表的简单方法
Requires
- ext-curl: *
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文件,其中包含指定日期范围内的顶级查询数据,并带有德语文本标题。
就是这样。