rem42/scraper-prestashop

Prestashop 1.7 API

v3.2.4 2024-07-05 13:07 UTC

README

Packagist version Packagist download Packagist name Packagist php version Github licence Depenabot Codeclimate lines of code Codeclimate maintainability

爬虫可以处理多种请求类型并将它们转换为对象,以便创建一些API。

安装

composer require rem42/scraper-prestashop

需求

  • PHP >= 8.1

用法

使用您选择的实现 Symfony\Contracts\HttpClient\HttpClientInterface 接口的自定义 HTTP 客户端初始化客户端。

<?php

use Scraper\Scraper\Client;
use Symfony\Component\HttpClient\CurlHttpClient;
use Symfony\Component\HttpClient\NativeHttpClient;

$client = new Client(
    new CurlHttpClient()
    // OR
    new NativeHttpClient()
);

然后您可以使用客户端向 API 发送请求。

产品列表

<?php

use Scraper\ScraperPrestashop\Request\PrestashopGetRequest;
use Scraper\ScraperPrestashop\Entity\PrestashopProducts;

$request = new PrestashopGetRequest(
    'host.com', // Your prestashop host
    'key', // Your prestashop webservice key
    'products', // The resource you want to get, like 'products'
);

// optional for list request
$request
    ->addFilter('limit', 1)
    ->addFilter('offset', 1)
;

/** @var PrestashopProducts $products */
$products = $client->execute($request);

$products->getProducts(); // Return an array of PrestashopProduct

产品详情

<?php

use Scraper\ScraperPrestashop\Request\PrestashopGetRequest;
use Scraper\ScraperPrestashop\Entity\PrestashopProduct;

$request = new PrestashopGetRequest(
    'host.com', // Your prestashop host
    'key', // Your prestashop webservice key
    'products', // The resource you want to get, like 'products'
);

$request->setId(42);

/** @var PrestashopProduct $product */
$product = $client->execute($request);

$product->name; // Return the product name
$product->dateAdd; // Return the product creation date