Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Янв. 2019
Помог: 0 раз(а)
|
помогите решить мою головную боль . Учусь писать парсеры на PHP в основе CURL 'для карьерного роста ' и у меня возникла проблема не могу собрать все ссылки с сайта что-бы в дальнейшем с них можно было выбрать нужную мне информацию.
Первую страничку и все ее ссылки я собираю успешно и через регулярку оставляю только нужные Урл, заношу их в массив и после хочу повторно переменной $url присвоить выбранный из массива первый url получаю или зацикливание или же ошибку.
Ссылка удалена
Ссылка удалена
Ссылка удалена
Warning: stristr() expects parameter 1 to be string, array given in C:\Server\data\htdocs\curl.php on line 98
Ссылка удалена
Notice: Array to string conversion in C:\Server\data\htdocs\curl.php on line 27
cURL Error: Could not resolve host: Array
Array ( [0] => https://www[dot]azet[dot]sk/katalog/kategorie/A/ )
Notice: Undefined offset: 1 in C:\Server\data\htdocs\curl.php on line 98
Ссылка удалена
0 записал в Parserее.csv
ссылок найдено0
Notice: Array to string conversion in C:\Server\data\htdocs\curl.php on line 27
cURL Error: Could not resolve host: Array
Array ( [0] => https://www[dot]azet[dot]sk/katalog/kategorie/B/ )
Notice: Undefined offset: 1 in C:\Server\data\htdocs\curl.php on line 98
Ссылка удалена
0 записал в Parserее.csv
ссылок найдено0
Notice: Array to string conversion in C:\Server\data\htdocs\curl.php on line 27
cURL Error: Could not resolve host: Array
Array ( [0] => https://www[dot]azet[dot]sk/katalog/kategorie/C/ )
Notice: Undefined offset: 1 in C:\Server\data\htdocs\curl.php on line 98
Ссылка удалена
0 записал в Parserее.csv
ссылок найдено0
Прошу ткнуть носом в мое Гов... потому как не могу сам его найти. Спасибо и не судите строго.
ЗЫ. в дальнейшем будет авторизация и запись куки через curl
первый файл conf - принимает параметры для парсера через веб-интерфейс
PHP:
скопировать код в буфер обмена
<?PHP $tmp=new AutoCurl; { //логин к сайту если имеется $login = $_POST['login']; $password = $_POST['password']; //куки с сайта и ссылка на то что парсим $tmp->url=$_POST['urlkat']; $tmp->cookie_file = $_POST['cookiskat']; $tmp->AuthCurl(); //отчет ошибки и тд тп $email = $_POST['email']; //имя файла и путь выгрузки $filename = $_POST['filename']; $dirfil = $_POST['directory']; //регулярные выражения для поиcка по сайту urlов $wreg=$_POST['wregular']; } ?>
как видно сам класс
PHP:
скопировать код в буфер обмена
class AutoCurl { private $login; private $password; private $curl; public $cookie_file = 'cookie.txt'; function __construct() { $this->login = $login ='log'; $this->password = $password='pass'; } function AuthCurl(){ //необходимо прикрутить авторизацию curl_setopt($this->curl, CURLOPT_ENCODING , ""); // обрабатывает все кодировки // curl_setopt($this->curl, CURLOPT_COOKIEJAR, $this->cookie_file); // записываем файл с куками curl_setopt($this->curl, CURLOPT_COOKIEFILE , $this->cookie_file); curl_setopt($this->curl, CURLOPT_RETURNTRANSFER , true); curl_setopt($this->curl, CURLOPT_SSL_VERIFYPEER , false); curl_setopt($this->curl, CURLOPT_SSL_VERIFYHOST , false); //Выполняет запрос cURL //Отслеживание ошибок if ($output === FALSE) { } echo '<br>'; //вход - регуляркa, текст и пустой массив $counts=preg_match_all($_POST['wregular'], $site,$result, PREG_SET_ORDER ); { return false; else { sortAr($result); echo 'ссылок найдено' . $counts . '<br>'; } } } function __destruct() { // TODO: Implement __destruct() method. } }
PHP:
скопировать код в буфер обмена
//сортировка/удаление не нужных ссылок в массиве function sortAr($array){ return false; $tmpPat = mb_strtolower($_POST['urlkat']); //'https://www.azet.sk/katalog/'; $newClass = new AutoCurl(); for ($i=0;$i!=$col;$i++){ } else{ echo "Ссылка удалена <br>"; } } foreach ($tmpArr as $value) { $newClass->url = $value; //если не вызываю метод то все происходит на ура, главную страницу собирает за доли сек и записывает данные в файл и массив $newClass->AuthCurl(); } //запись в файл SetFileCSV($tmpArr); echo "$col1 записал в ".$_POST['filename'].'<br>'; }
|