Многопоточный php парсер - PullRequest
0 голосов
/ 18 июня 2020

У меня есть парсер для cli с несколькими завитками из https://github.com/chuyskywalker/rolling-curl Мне нужно изменить вращающийся завиток на https://github.com/marcushat/RollingCurlX И я уже действительно ломаю себе мозг. Извините, у меня нет примеров, только https://github.com/marcushat/RollingCurlX/blob/master/README.md https://github.com/marcushat/RollingCurlX/blob/master/src/rollingcurlx.class.php

Может, я глуп или не знаю для этого, но мне действительно нужно, чтобы это работало . Рад любой помощи. Возможен альтернативный multi curl, мне нужны потоки.

ps добавлять сайты в файл без «http / s», только с [www].site.com или просто site.com

<?php
ini_set('memory_limit','-1');
require __DIR__ .'/src/RollingCurl/RollingCurl.php';
require __DIR__ .'/src/RollingCurl/Request.php';
$rc = new \RollingCurl\RollingCurl();
$i=0;
$content = file('c:/1.txt');
$arr = array();
foreach ($content as $string){
    $url = trim($string);
    $plugin = explode('.',$url);
    $plugin1 = '/'.$plugin[0];
    $url1 = $url.$plugin1;
    $arr[] = $url1;
}
print "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++".PHP_EOL;
$sites = array_reverse($arr);
$options = array(CURLOPT_TIMEOUT => 15);
foreach ($sites as $url){
    $request = new \RollingCurl\Request($url);
    $request->setOptions($options);
    $rc->add($request);
}
$rc->setCallback(function(\RollingCurl\Request $request, \RollingCurl\RollingCurl $rc){
    $out = $request->getResponseText();
    $vuln = explode('.',$out);
    if(isset($vuln[1])){
        print PHP_EOL . $request->getUrl(). PHP_EOL;
    }else{
    }
})->execute();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...