silktide / semrush-api
此包已被废弃,不再维护。没有建议的替代包。
SEMrush API 客户端
1.7.2
2022-03-21 13:29 UTC
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^6.1 | ^7.0
- psr/log: ^1.0
- psr/simple-cache: ^1.0
- silktide/capiture: ^1.2
Requires (Dev)
- cache/array-adapter: ^1.0
- monolog/monolog: ^1.23
- phpunit/phpunit: ~8
- silktide/pharmacist: ^1.0
This package is auto-updated.
Last update: 2022-12-22 10:15:12 UTC
README
一个用于 SEMrush API 的 PHP API 客户端。
支持的操作
- domain_ranks
- domain_domains
- domain_rank
- domain_rank_history
- domain_organic
- domain_adwords
- domain_adwords_unique
- advertiser_publishers
- advertiser_text_ads
- advertiser_rank
- phrase_this (https://www.semrush.com/api-analytics/#phrase_this)
用法
安装
composer require silktide/semrush-api
设置
此库旨在使用依赖注入 (DI)。如果您不使用 DI,可以使用工厂来设置 API 客户端
$client = \Silktide\SemRushApi\ClientFactory::create("[YOUR SEMRUSH API KEY]");
缓存
API 库可以使用 PSR-16 风格的缓存来减少对 API 的调用。
$cache = new Psr16CompliantCache(); $client->setCache($cache)
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}"; }