nativerank/silktide-semrush-api

SEMrush API 客户端

0.6.0 2016-05-02 14:56 UTC

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 的需求。

Build Status Code Climate Test Coverage

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}";
}