silktide/semrush-api

此包已被废弃,不再维护。没有建议的替代包。

SEMrush API 客户端

1.7.2 2022-03-21 13:29 UTC

README

Build Status Code Climate Test Coverage

一个用于 SEMrush API 的 PHP API 客户端。

支持的操作

用法

安装

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