{"id":18596886,"url":"https://github.com/msankhala/parsehub-php","last_synced_at":"2025-04-10T17:30:35.482Z","repository":{"id":29325656,"uuid":"32859219","full_name":"msankhala/parsehub-php","owner":"msankhala","description":"Wrapper classes to parsehub REST api. Uses HTTPful for REST.","archived":false,"fork":false,"pushed_at":"2023-11-18T11:55:55.000Z","size":34,"stargazers_count":13,"open_issues_count":3,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-25T01:21:57.849Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/msankhala.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-25T11:01:34.000Z","updated_at":"2024-09-30T06:18:23.000Z","dependencies_parsed_at":"2024-11-07T01:34:30.574Z","dependency_job_id":"4cd2079b-16e6-4b68-a0f0-ac5fbfacba7e","html_url":"https://github.com/msankhala/parsehub-php","commit_stats":{"total_commits":34,"total_committers":4,"mean_commits":8.5,"dds":"0.11764705882352944","last_synced_commit":"bddcef6e55c68ed2db1c744e3c997a054a0e2f7a"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msankhala%2Fparsehub-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msankhala%2Fparsehub-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msankhala%2Fparsehub-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msankhala%2Fparsehub-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/msankhala","download_url":"https://codeload.github.com/msankhala/parsehub-php/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248261993,"owners_count":21074229,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T01:26:09.950Z","updated_at":"2025-04-10T17:30:35.228Z","avatar_url":"https://github.com/msankhala.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"### ParsehubPhp\n\nParsehub REST api wrapper class. Use this class to communicate with parsehub.\nThis class uses [phphttpclient](http://phphttpclient.com) to communicate with\nparsehub and [monoglog](https://github.com/Seldaek/monolog) to make log entries\nabout operation performed. See *Uses* section for log path and api url option.\n\n### installation\nYou can either download, clone this repo or install via composer:\n\n```php\ncomposer require msankhala/parsehub-php\n```\n\n#### Features\n\n- Uses [phphttpclient](http://phphttpclient.com) class for making http requests.\n- This class also support basic logging using monolog.\n- This class use `PSR-0` autoload.\n\n#### Uses\n\nCreate Parsehub class Object to communicate with Parsehub, pass the `api_key`\nto parsehub class constructor. You can optionally pass `api_url` and `log_path`\nlog file path as second and third arguments.\n\n`api_url` default value `https://www.parsehub.com/api/v2`\n`log_path` default value `\u003crepo-root\u003e/log/parsehub.log`\n\nAutoload Parsehub class:\n\n```php\nrequire_once __DIR__ . '/vendor/autoload.php';\n\nuse Parsehub\\Parsehub;\n```\n\nIn your controller you can use `Parsehub` class to get list of all the\n`parsehub projects` and `run object` for a `parsehub project` and save\nthem in your db. When you get a `parsehub project` information you also get the\n`run_list` of that project which you can store in your db.\n\nGet Parsehub projects list:\n```php\n$api_key = \u003cyour-api-key\u003e;\n$parsehub = new Parsehub($api_key);\n$projectList = $parsehub-\u003egetProjectList();\necho $projectList;\n```\n\nor\n\n```php\n$api_key = \u003cyour-api-key\u003e;\n$api_url = 'https://www.parsehub.com/api/v2';\n$log_path = 'path/to/parsehub.log';\n$parsehub = new Parsehub($api_key, $api_url, $log_path);\n$projectList = $parsehub-\u003egetProjectList();\necho $projectList;\n```\n\n```php\n// Get project_token and run_token from DB.\n$project_token = \u003cget project token from db\u003e\n$run_token = \u003cget project token from db\u003e\n```\n\nGet particular Parsehub project, Pass the project_token:\n```php\n$parsehub = new Parsehub($api_key);\n$project = $parsehub-\u003egetProject($project_token);\necho $project;\n```\n\nGet Last ready run Data for a project:\n```php\n$parsehub = new Parsehub($api_key);\n$data =  $parsehub-\u003egetLastReadyRunData($project_token);\nprint $data;\n```\n\nGet data for a particular run, Pass the run token:\n```php\n$parsehub = new Parsehub($api_key);\n$data = $parsehub-\u003egetRunData($run_token);\nprint $data;\n```\n\nGet a particular run, Pass the run token:\n```php\n$parsehub = new Parsehub($api_key);\n$run = $parsehub-\u003egetRun($run_token);\nprint $run;\n```\n\nRun a parsehub project:\n```php\n$parsehub = new Parsehub($api_key);\n$options = array(\n    // Skip start_url option if don't want to override starting url configured\n    // on parsehub.\n    'start_url' =\u003e '\u003cstarting url at which crawling starts\u003e'\n    // Enter comma separated list of keywords to pass into `start_value_override`\n    'keywords' =\u003e 'iphone case, iphone copy'\n    // Set send_email options. Skip to remain this value default.\n    'send_email' =\u003e 1,\n);\n$run_obj = $parsehub-\u003erunProject($project_token, $options);\necho $run_obj;\n```\nCancel a parsehub project run:\n```php\n$parsehub = new Parsehub($api_key);\n$cancel = $parsehub-\u003ecancelProjectRun($run_token);\nprint $cancel;\n```\n\nDelete a parsehub project run, This will delete the project run and data of that\nrun so be careful when using this method, once data deleted for a run, are not\nrecoverable:\n```php\n$parsehub = new Parsehub($api_key);\n$cancel = $parsehub-\u003edeleteProjectRun($run_token);\nprint $cancel;\n```\n**You can check the log in your log file.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsankhala%2Fparsehub-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsankhala%2Fparsehub-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsankhala%2Fparsehub-php/lists"}