Выдернуть данные из сайта

Статус
В этой теме нельзя размещать новые ответы.
а далее нужно сперва подготовить данные перед выводом
сколько не делал, все равно не получается подготовить данные ... как их правильно подготовить к выводу?
 
держи, 15 минут делов на самом деле

PHP:
<?

require('simple_html_dom.php');

//получаем контент страницы

$baseURL = "http://www.sravni.ru";
$url = "http://www.sravni.ru/valjuty/USD/prodazha/novosibirsk/";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
$data = curl_exec($ch);
curl_close($ch);

//выдираем нужные данные

$html = new simple_html_dom();
$html->load($data);

$data = array();
$collection = $html->find('.results__item');
foreach($collection as $element) {
    $item = array();
    $bankNodes = $element->find('div.results__item__company__logo img');
    if(count($bankNodes)) {
        $item['bankLogo'] = $bankNodes[0]->attr["src"];
        $item['bankName'] = $bankNodes[0]->attr["title"];
    }
    $valueNodes = $element->find('div.results__item__num div');
    if(count($valueNodes)) {
        $item["cur_usd_in"] = $valueNodes[0]->innertext;
        $item["cur_eur_in"] = $valueNodes[1]->innertext;
        $item["cur_usd_out"] = $valueNodes[2]->innertext;
        $item["cur_eur_out"] = $valueNodes[3]->innertext;
    }
    $dateNodes = $element->find('div.results__item__date');
    if(count($dateNodes)) {
        $item["date"] = $dateNodes[0]->innertext;
    }
    if(count($item)) $data[] = $item;
}

// выводим как душа пожелает

foreach($data as $item) {
    echo $item['bankName']."<br/>";
    echo "<img src='".$baseURL.$item['bankLogo']."' /><br/>";
    echo $item["cur_usd_in"]." $ ".$item["cur_usd_out"]."<br/>";
    echo $item["cur_eur_in"]." € ".$item["cur_eur_out"]."<br/>";
    echo $item["date"]."<br/>";
    echo "<br/><br/>";
}
 

Вложения

  • scrape.rar
    14,5 KB · Просмотры: 4
Последнее редактирование:
держи, 15 минут делов на самом деле
может кто знает как победить теперь проблему, есть еще парсер, но парсит с Для просмотра ссылки Войди или Зарегистрируйся, так теперь толи ЦБР блокирует IP сервера или что то еще... Можно ли как то к парсеру подключить прокси, чтобы сменить IP и как это сделать? Для просмотра ссылки Войди или Зарегистрируйся
 
если скрипт работает нормально на других машинах, то по любому заблокировали по IP.
самый простой вариант обхода, без переписывания - использовать веб-прокси.
Например:
идем сюда
Для просмотра ссылки Войди или Зарегистрируйся
проматываем в самый низ пропуская заманчивые коммерческие предложения и в форме вбиваем нужный URL,
получаем вот такую ссылку
Для просмотра ссылки Войди или Зарегистрируйся
ссылка по факту постоянная, заменяем в парсере Для просмотра ссылки Войди или Зарегистрируйся на нее и все,
обращения теперь будут с одного из IP адресов сервиса.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху