Задать вопрос
rendellstivens
@rendellstivens

Почему simple_html_dom.php один сайт парсит, а другой нет?

Добрый день, товарищи!

Пишу парсер на php, но уперся в то, что парсер работает только на одной ссылке из трёх.
Когда я предаю в функцию dlPage() ссылку $url_ms, то все хорошо, но если я передаю другие две, то ничего не происходит. Помогите разобраться!
<?php
require_once 'simple_html_dom.php';
$url_md = 'https://www.maxidom.ru/catalog/smesiteli/filter/item_firm-is-505a006bf69e69c71d23b5ca06faa83d/apply/?repIDchanged=4&amount=100';
$url_ms = 'https://kazan.megastroy.com/catalog/smesiteli?field79%5B%5D=AM.PM';
$url_lm = 'https://leroymerlin.ru/search/?q=%D1%81%D0%BC%D0%B5%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D0%B8+am.pm';


function dlPage($href) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_URL, $href);
    curl_setopt($curl, CURLOPT_REFERER, $href);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.125 Safari/533.4");
    $str = curl_exec($curl);
    curl_close($curl);

    $dom = new simple_html_dom();
    $dom->load($str);

    return $dom;
}

$html = dlPage($url_md);
$item = $html->find('a');

foreach($html->find('a') as $element)
    echo $element->href . '<br>';
  • Вопрос задан
  • 128 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы