i-kostiuk / foxtrot-parser
foxtrot.com.ua - 解析器。根据需求实现方法。如果你对某个方法感兴趣,请留言,我会完善。
dev-master
2023-06-07 14:40 UTC
Requires
- guzzlehttp/guzzle: ^7.0
- symfony/css-selector: ^6.3
- symfony/dom-crawler: ^6.3
This package is not auto-updated.
Last update: 2024-09-26 11:14:36 UTC
README
composer require i-kostiuk/foxtrot-parser
use Foxtrot\Foxtrot; $parser = new Foxtrot('https://www.foxtrot.com.ua/uk/shop/led_televizory_samsung_ue43t5300auxua.html');
use Foxtrot\Foxtrot; require __DIR__ . "/vendor/autoload.php"; $parser = new Foxtrot('https://www.foxtrot.com.ua/uk/shop/led_televizory_samsung_ue43t5300auxua.html');
使用
在创建 Foxtrot 类的实例时,我们将页面链接传递给构造函数。目前支持解析商品页面
- 商品卡片
- (即将推出其他页面)
$parser = new Foxtrot('https://www.foxtrot.com.ua/uk/shop/led_televizory_samsung_ue43t5300auxua.html');
在构造函数内部,进行一些初步的检查,并立即提供以下方法
- getStatusCode - 返回响应代码。成功的代码是 200
$statusCode = $parser->getStatusCode(); // ex: 200
- getBody - 返回响应体。通常是 html、json 或 xml。
$body = $parser->getBody(); // ex: <!DOCTYPE html><html.......html>
- getHeaders - 返回响应头
$headers = $parser->getHeaders();
- parse - 解析页面并返回结果
$response = $parser->parse(); // Product /* Array ( [type] => Product [data] => Array ( [title] => Телевізор SAMSUNG UE43T5300AUXUA [price] => 12999 [currency] => UAH [availability] => 1 [brand] => SAMSUNG [rating] => 4 [description] => 【Телевізор SAMSUNG UE43T5300AUXUA】купити за 12999 грн ◁ ФОКСТРОТ ▷ інтернет-магазин № ❶ в Києві та Україні ✔ Гарантія ✔ Швидка доставка ☎ 0-800-300-353 [images] => Array ( [0] => https://files.foxtrot.com.ua/PhotoNew/img_0_977_3587_0.jpg [1] => https://files.foxtrot.com.ua/PhotoNew/img_0_977_3587_3.jpg [2] => https://files.foxtrot.com.ua/PhotoNew/img_0_977_3587_6.jpg [3] => https://files.foxtrot.com.ua/PhotoNew/img_0_977_3587_1.jpg [4] => https://files.foxtrot.com.ua/PhotoNew/img_0_977_3587_4.jpg [5] => https://files.foxtrot.com.ua/PhotoNew/img_0_977_3587_8.jfif [6] => https://files.foxtrot.com.ua/PhotoNew/img_0_977_3587_5.jpg [7] => https://files.foxtrot.com.ua/PhotoNew/img_0_977_3587_2.jpg [8] => https://files.foxtrot.com.ua/PhotoNew/img_0_977_3587_1_1_638005703139736423.jpg ) [sku] => 6557914 ) [errors] => Array ( ) ) */
- getErrors - 返回所有错误。可以在不同阶段获得(解析前和解析后)
$parser = new Foxtrot('https://www.foxtrot.com.ua/uk/shop/led_telua.html'); $response = $parser->parse(); $errors = $parser->getErrors(); Array ( [0] => response_code )
- getErrorBySlug - 根据错误 slugs 返回以乌克兰语表示的错误文本,这些 slugs 可以通过 getErrors 或 parse 获取
$error = $parser->getErrorBySlug('response_code'); // string(47) "Помилковий код відповіді."