2017 © Pedro PelΓ‘ez
 

library yii2-multiparser

universal parser for multicasting and content processing

image

zabrodskiy/yii2-multiparser

universal parser for multicasting and content processing

  • Monday, August 28, 2017
  • by zabrodskiy
  • Repository
  • 0 Watchers
  • 0 Stars
  • 9 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 13 % Grown

The README.md

Yii2 Multiparser

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ трСбования: php 7, (*1)

Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для парсинга ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сайтов. Multiparser ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· curl, Ρ‚Π°ΠΊ ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈ - Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ multicurl, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ php simple dom parser (ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ - http://simplehtmldom.sourceforge.net/manual.htm ) для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…., (*2)

Установка:

Для установки ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:, (*3)

    composer require zabrodskiy/yii2-multiparser

ИспользованиС:

1. ДобавляСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Yii2 (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с использованиСм ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Yii2):

    'components' => [
             'multiparser' => [
                'class' => 'multiparser\GetMultiContent',//класс
                'message' => true,//ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ процСсса Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ false
                'cookies_path' => '@app/runtime/curl/my_cookies_parser.txt', // ΠΏΡƒΡ‚ΡŒ ΠΊ записи Ρ„Π°ΠΉΠ»Π° cookies парсируСмых сайтов, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ''
        ],
    ],

2.Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° с высокой ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ multicurl. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ консольной ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Yii2:

<?php
namespace app\commands;
use Yii;


class ParserController extends \yii\console\Controller{

    public function actionIndex(){
        //массив ссылок 
        $url = [
            'http://rozetka.com.ua/prestigio_smartbook_141a03_psb141a03bfw_mb_cis/p12467569/',
            'http://rozetka.com.ua/acer_nx_gfteu_004/p13720121/',
            'http://rozetka.com.ua/lenovo_80r20069ua/p5905617/',
            'http://rozetka.com.ua/acer_nx_gceeu_098/p13716558/'
        ]; 
        /**
         *  GetMultiContent->init($url, $no_parser = false) ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ парсСр, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°:
         *  $url type string - ссылки парсируСмых сайтов, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ массив ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ
         *  Ссли строку ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ
         *  $no_parser type boolean - true, Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Simple_html_dom ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
         *  ΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ строку, false, ΡΠΎΠ·Π΄Π°ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ автоматичСски (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ false)
         */
        foreach(Yii::$app->multiparser->init($url) as $teg){

            foreach($teg->find('a') as $atribut) //ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ php simple dom parser        (ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ -  http://simplehtmldom.sourceforge.net/manual.htm )
                echo $atribut->href . "\n";
                echo Yii::$app->multiparser->info; //URL Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ дСскриптора
        }
    }
}

3. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅:

<?php
namespace app\commands;
use Yii;

class ParserController extends \yii\console\Controller{

    public function actionIndex(){

        $url = 'http://rozetka.com.ua/prestigio_smartbook_141a03_psb141a03bfw_mb_cis/p12467569/';  
        /**
         *  GetMultiContent->init($url) ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ парсСр, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°:
         *  $url type string - ссылки парсируСмых сайтов, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ массив ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ
         *  Ссли строку ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ
         *  $no_parser type boolean - true, Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Simple_html_dom ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
         *  ΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ строку, false, ΡΠΎΠ·Π΄Π°ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ автоматичСски (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ false)
         */
        $html = Yii::$app->multiparser->init($url);

            foreach($html->find('a') as $element) 
                echo $element->href . "\n";
    }
}

The Versions

28/08 2017

dev-master

9999999-dev

universal parser for multicasting and content processing

  Sources   Download

MIT

The Requires

  • php >=7.0.0

 

by Avatar zabrodskiy

23/08 2017

v1.0.0

1.0.0.0

universal parser for multicasting and content processing

  Sources   Download

MIT

The Requires

  • php >=7.0.0

 

by Avatar zabrodskiy