msankhala / parsehub-php
Parsehub REST api的PHP封装类。
v2.0.3
2023-03-29 09:29 UTC
Requires
- monolog/monolog: ~1.13
- nategood/httpful: 0.2.*
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_url
和log_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;
您可以在日志文件中检查日志。