msankhala/parsehub-php

Parsehub REST api的PHP封装类。

v2.0.3 2023-03-29 09:29 UTC

This package is auto-updated.

Last update: 2024-09-29 12:39:49 UTC


README

ParsehubPhp

Parsehub REST api封装类。使用此类与Parsehub进行通信。此类使用phphttpclient与Parsehub通信,并使用monoglog记录操作日志。有关日志路径和API URL选项,请参阅使用部分。

安装

您可以下载、克隆此存储库或通过composer安装

composer require msankhala/parsehub-php

功能

  • 使用phphttpclient类进行HTTP请求。
  • 此类还支持使用monolog进行基本日志记录。
  • 使用PSR-0自动加载。

使用

创建Parsehub类对象以与Parsehub通信,将api_key传递给Parsehub类构造函数。您可以选择传递第二个和第三个参数作为api_urllog_path日志文件路径。

api_url默认值https://www.parsehub.com/api/v2 log_path默认值<repo-root>/log/parsehub.log

自动加载Parsehub类

require_once __DIR__ . '/vendor/autoload.php';

use Parsehub\Parsehub;

在您的控制器中,您可以使用Parsehub类获取所有parsehub项目的列表,并为parsehub项目运行run object并将其保存到您的数据库中。当您获取parsehub项目信息时,您还会获取该项目的run_list,您可以将其存储在您的数据库中。

获取Parsehub项目列表

$api_key = <your-api-key>;
$parsehub = new Parsehub($api_key);
$projectList = $parsehub->getProjectList();
echo $projectList;

$api_key = <your-api-key>;
$api_url = 'https://www.parsehub.com/api/v2';
$log_path = 'path/to/parsehub.log';
$parsehub = new Parsehub($api_key, $api_url, $log_path);
$projectList = $parsehub->getProjectList();
echo $projectList;
// Get project_token and run_token from DB.
$project_token = <get project token from db>
$run_token = <get project token from db>

获取特定的Parsehub项目,传递项目令牌

$parsehub = new Parsehub($api_key);
$project = $parsehub->getProject($project_token);
echo $project;

获取项目的最后就绪运行数据

$parsehub = new Parsehub($api_key);
$data =  $parsehub->getLastReadyRunData($project_token);
print $data;

获取特定运行的运行数据,传递运行令牌

$parsehub = new Parsehub($api_key);
$data = $parsehub->getRunData($run_token);
print $data;

获取特定的运行,传递运行令牌

$parsehub = new Parsehub($api_key);
$run = $parsehub->getRun($run_token);
print $run;

运行Parsehub项目

$parsehub = new Parsehub($api_key);
$options = array(
    // Skip start_url option if don't want to override starting url configured
    // on parsehub.
    'start_url' => '<starting url at which crawling starts>'
    // Enter comma separated list of keywords to pass into `start_value_override`
    'keywords' => 'iphone case, iphone copy'
    // Set send_email options. Skip to remain this value default.
    'send_email' => 1,
);
$run_obj = $parsehub->runProject($project_token, $options);
echo $run_obj;

取消Parsehub项目的运行

$parsehub = new Parsehub($api_key);
$cancel = $parsehub->cancelProjectRun($run_token);
print $cancel;

删除Parsehub项目的运行,这将删除该项目运行及其数据,因此在使用此方法时请小心,一旦数据被删除,就无法恢复

$parsehub = new Parsehub($api_key);
$cancel = $parsehub->deleteProjectRun($run_token);
print $cancel;

您可以在日志文件中检查日志。