1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mz-spider-utils-for-php

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 05:59 c6f4cff

Спайдер

Простой класс HTTP-клиента/спайдера на PHP / 简单的 PHP 的网络库

Особенности:

  • простота и удобство использования;
  • HTTP-сканирование и сопоставление;
  • автоматическое распознавание кодировки документов HTML/XML как utf-8;
  • поддержка настройки нескольких IP-адресов выхода;
  • поддерживает различные виды прокси.

Установка

composer require zv/spider

Основные функции

$spider = new \ZV\Spider('https://www.baidu.com/s?wd=爱情&pn=50&rn=50&tn=json', [
    //'User-Agent' => 'mobile',
]);

$spider->GET();
print_r($spider->getResponseCode());
print_r($spider->getResponseHeader());
print_r($spider->getBody());
print_r($spider->getUrl());
print_r($spider->getJson());

POST

use \ZV\Spider as spider;

$spider = new spider('http://127.0.0.1/post', [
]);

$spider->POST([
    'query' => 1,
    // upload
    'file1' => '@' . __FILE__,
    // upload file with MIME
    'file2' => '@' . __FILE__ . ';text/plain'
]);

print_r($spider->getBody());

Строковые утилиты

use \ZV\Spider as spider;

// html2txt (с переносом строки)
echo spider::html2txt('<h1>html2txt</h1>'), PHP_EOL,

// без html (без переноса строки)
spider::noHtml('<h1>noHtml</h1>'), PHP_EOL,

// strip_tags
spider::strip_tags('<h1>strip_tags</h1>'), PHP_EOL,

// cut str
spider::cut('<h1>cut</h1>', '<h1>', '</h1>'), PHP_EOL,

// match с маской
spider::maskMatch('<h1>maskMatch</h1>', '<h1>(*)</h1>'), PHP_EOL,

// match с регулярным выражением
spider::regMatch('<h1>regMatch</h1>', '#<h1>([^>]*?)</h1>#is'), PHP_EOL,

// match с несколькими шаблонами
print_r(spider::match('<h1>MatchByMultiPattern</h1><h2>Description</h2>', [
    'title' => '#<h1>([^>]*?)</h1>#is',
    'desc'  => '<h2>(*)</h2>'
]), 1), PHP_EOL;

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mz-spider-utils-for-php.git
git@api.gitlife.ru:oschina-mirror/mz-spider-utils-for-php.git
oschina-mirror
mz-spider-utils-for-php
mz-spider-utils-for-php
master