Новичок
Покинул форум
Сообщений всего: 22
Дата рег-ции: Янв. 2017
Откуда: Киев, Украина
Помог: 1 раз(а)
|
Добрый день!
Понадобилось написать скрипт, который парсит инфу с Амазона.
Решил сделать постраничный парсинг. С загруженной страницы, ссылка Next Page, аргументом возвращается в функцию для инициализации сеанса сURL. После выполнения запроса результат передаётся в PHP Simple HTML DOM Parser. Парсим нужную информацию, проверяем ссылку Next Page... Короче повторяем в цикле.
Проблема возникла когда новый сгенерённый URL, в переменной, возвращаю в функцию для cURL. И дальше 1-ой страницы дело не идёт. Причём, если я указываю тот же урл непосредственно в переменной как строка, всё нормально!
Может кто-то понимает, что происходит или сталкивался с подобной проблемой?
Скрипт неправильно работает со строками типа:
Правильно работает со строками типа:
PHP:
скопировать код в буфер обмена
$dom_2->load(curl_get($res . '/s/ref=sr_pg_2?rh=i%3Aaps%2Ck%3Aipad&page=2&keywords=ipad&ie=UTF8&qid=1485122977&spIA=B00IZBQ3LG,B01BNZN6DI'));
А хотелось бы как раз, чтобы работал именно первый вариант ;)
PHP:
скопировать код в буфер обмена
<?PHP ini_set ("display_startup_errors", "On"); // PHP Simple HTML DOM Parser include_once('lib/simple_html_dom.php'); // Resource & search page with keyword $res = 'https://www.amazon.com'; $url = '/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=ipad'; // First page echo $url . "<br>"; // Create a DOM object & load HTML from a string $dom_1 = new simple_html_dom(); $dom_1->load(curl_get($res . $url)); $url = $dom_1->find('div[id=pagn] a[id=pagnNextLink]', 0)->href; $dom_1->clear(); echo "<hr>"; // Second page echo $url . "<br>"; // Create a DOM object & load HTML from a string $dom_2 = new simple_html_dom(); // $dom_2->load(curl_get($res . $url)); $dom_2->load(curl_get($res . '/s/ref=sr_pg_2?rh=i%3Aaps%2Ck%3Aipad&page=2&keywords=ipad&ie=UTF8&qid=1485122977&spIA=B00IZBQ3LG,B01BNZN6DI')); $url = $dom_2->find('div[id=pagn] a[id=pagnNextLink]', 0)->href; $dom_2->clear(); echo "<hr>"; // Thrid page echo $url . "<br>"; // Create a DOM object & load HTML from a string $dom_3 = new simple_html_dom(); // $dom_3->load(curl_get($res . $url)); $dom_3->load(curl_get($res . '/s/ref=sr_pg_3?rh=i%3Aaps%2Ck%3Aipad&page=3&keywords=ipad&ie=UTF8&qid=1485123047&spIA=B0052EP1XK,B008X1LHE6,B00IZBQ3LG,B01BNZN6DI')); $url = $dom_3->find('div[id=pagn] a[id=pagnNextLink]', 0)->href; $dom_3->clear(); echo "<hr>"; // Four page echo $url . "<br>"; // Create a DOM object & load HTML from a string // ... echo "<hr>"; // cURL function curl_get($url, $referer = "http://www.google.com.ua"){ curl_setopt($ch, CURLOPT_USERAGENT , "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36"); return $str; } ?>
|