nativerank / silktide-semrush-api
SEMrush API 客户端
0.6.0
2016-05-02 14:56 UTC
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ^6.1
Requires (Dev)
- codeclimate/php-test-reporter: 0.1.*
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2024-09-20 18:54:12 UTC
README
此存储库已从 Silktide/semrush-api 存储库分支并可在 Packagist 上使用,以便 Pagekit 可以将其作为依赖项安装。
代码库中只有一个更改,即 ResponseParser 的更改,这使得此分支与主 API 分离。
因此,composer.json 中的项目名称已从 'silktide/semrush-api' 更改为 'nativerank/silktide-semrush-api',以定义 API 的创建者,但使其符合 Nativerank 的需求。
SEMrush API 的 PHP API 客户端。
支持的操作
- domain_ranks
- domain_rank
- domain_rank_history
- domain_organic
- domain_adwords
- domain_adwords_unique
使用方法
安装
composer require silktide/semrush-api
composer update
配置
此库旨在使用依赖注入 (DI)。如果您不使用 DI,可以使用工厂设置 API 客户端
$client = \Silktide\SemRushApi\ClientFactory::create("[YOUR SEMRUSH API KEY]");
缓存
API 库可以使用缓存来减少对 API 的调用。此库附带内存缓存
$cache = new \Silktide\SemRushApi\Cache\MemoryCache();
$client->setCache($cache);
您还可以使用提供的 CacheInterface (\Silktide\SemRushApi\Cache\CacheInterface
) 编写自己的缓存。
API 调用
域名排名
获取网站的 SEMrush "domain_ranks" 数据
$result = $client->getDomainRanks('silktide.com');
域名排名
获取网站的 SEMrush "domain_rank" 数据
$result = $client->getDomainRank(
'silktide.com',
[
'database' => \Silktide\SemRushApi\Data\Database::DATABASE_GOOGLE_US
]
);
域名排名历史
获取网站的 SEMrush "domain_rank_history" 数据
$result = $client->getDomainRankHistory(
'silktide.com',
[
'database' => \Silktide\SemRushApi\Data\Database::DATABASE_GOOGLE_US
]
);
域名有机搜索
获取网站的 SEMrush "domain_organic" 数据
$result = $client->getDomainOrganic(
'silktide.com',
[
'database' => \Silktide\SemRushApi\Data\Database::DATABASE_GOOGLE_US
]
);
域名广告搜索
获取网站的 SEMrush "domain_adwords" 数据
$result = $client->getDomainAdwords(
'silktide.com',
[
'database' => \Silktide\SemRushApi\Data\Database::DATABASE_GOOGLE_US
]
);
域名广告搜索(唯一)
获取网站的 SEMrush "domain_adwords_unique" 数据
$result = $client->getDomainAdwordsUnique(
'silktide.com',
[
'database' => \Silktide\SemRushApi\Data\Database::DATABASE_GOOGLE_US
]
);
使用选项
以下是一个将选项传递给域名排名操作的示例,以便返回特定的列集。
$result = $client->getDomainRanks('silktide.com', [
'export_columns' => [
\Silktide\SemRushApi\Data\Column::COLUMN_OVERVIEW_ADWORDS_BUDGET,
\Silktide\SemRushApi\Data\Column::COLUMN_OVERVIEW_ADWORDS_KEYWORDS,
\Silktide\SemRushApi\Data\Column::COLUMN_OVERVIEW_ADWORDS_TRAFFIC
]
]);
使用结果
所有 API 操作都将返回一个 Result
对象。结果对象包含多个 Row
对象,是可迭代的并可计数的。以下是如何使用它们的(非详尽)示例。
foreach ($result as $row) {
$budget = $row->getValue(\Silktide\SemRushApi\Data\Column::COLUMN_OVERVIEW_ADWORDS_BUDGET);
echo "\nThe AdWords spend of this site in the last month was an estimated ${$budget}";
}