Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> пропарсить полученный результат.... снять данные с полученной странички 
V
    Опции темы
satankos
Дата 5.4.2008, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 23.3.2008

Репутация: нет
Всего: нет



Столкнулся со следующей проблемой: 
Есть сайт www.carfax.com , на котором есть бесплатная возможность получить краткую информацию по авто (поле для ввода VIN автомобиля и кнопка "найти"). 
Есть сайт www.carfax.ru , на котором те же самые возможности, но сам сайт никак не относится к *.com... После некоторого серфа в инете, выяснилось, что очень много сайтов используют ту же фишку. 
Так вот, хотелось бы выяснить, каким образом у них это реализовано... причем нет никаких следов от первоисточника www.carfax.com !!! 

Есть подозрение, что тут попахивает парсингом (отсылается запрос и вставляется в поле ввода VIN на www.carfax.com(незаметно), потом полученный результат расчленяется (парсится)... и в виде xml возвращается нам....), но как именно его использовать - не знаю...  
Выручите!! 

З.Ы.: самое непонятное, - как послать определенный VIN-номер, введенный на нашем сайте, в поле VIN-номера www.carfax.com..., да при этом ещё и нажать каким-то образом на кнопку "найти".... а потом ещё определить, что страница открылась с результатом поиска... и пропарсить результатт.... вот блин... не пойму, помогите, пожалуйста!
PM MAIL   Вверх
Fortop
Дата 5.4.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: нет
Всего: 42



Договорись с админами сайта


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
_AXE_
Дата 5.4.2008, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 1.11.2007
Где: Kazakhstan

Репутация: нет
Всего: нет



Цитата(satankos @ 5.4.2008,  09:40)
Столкнулся со следующей проблемой: 
Есть сайт www.carfax.com , на котором есть бесплатная возможность получить краткую информацию по авто (поле для ввода VIN автомобиля и кнопка "найти"). 
Есть сайт www.carfax.ru , на котором те же самые возможности, но сам сайт никак не относится к *.com... После некоторого серфа в инете, выяснилось, что очень много сайтов используют ту же фишку. 
Так вот, хотелось бы выяснить, каким образом у них это реализовано... причем нет никаких следов от первоисточника www.carfax.com !!! 

Есть подозрение, что тут попахивает парсингом (отсылается запрос и вставляется в поле ввода VIN на www.carfax.com(незаметно), потом полученный результат расчленяется (парсится)... и в виде xml возвращается нам....), но как именно его использовать - не знаю...  
Выручите!! 

З.Ы.: самое непонятное, - как послать определенный VIN-номер, введенный на нашем сайте, в поле VIN-номера www.carfax.com..., да при этом ещё и нажать каким-то образом на кнопку "найти".... а потом ещё определить, что страница открылась с результатом поиска... и пропарсить результатт.... вот блин... не пойму, помогите, пожалуйста!

Незаметно поможет нажать на кнопочку отправить функция: 
Код

<?php
fopen("http://site.ru?name=Auto&...", "r");
?>


Это сообщение отредактировал(а) _AXE_ - 5.4.2008, 22:15
PM MAIL WWW ICQ Skype GTalk   Вверх
satankos
Дата 6.4.2008, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 23.3.2008

Репутация: нет
Всего: нет



_AXE_, 
Цитата
Незаметно поможет нажать на кнопочку отправить функция: 

спасибо, попробую!
PM MAIL   Вверх
capitan
Дата 10.4.2008, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 1
Всего: 13



В тему. Вчера решил скачать книгу с сайта http://bookz.ru. Люблю почитать их на КПК. Но не тут-то было. Они предлагают купить у них текстовый файл или почитать только у них на сайте. Повесили защиту от копирования, выводят текст во фрейм, все на JS. Причем ещё и разбавляют текст рандомными символами в скрытых span.
Просмотрев скрипты написал быстренько парсер:
Код

<?
    // запускаем  цикл с 1 страницы по 15-ю
    for($i=1; $i<=15; $i++){       
        $url='http://bookz.ru/book.php?id=54405&n=1&p_count=15&g=detect&f=specnaz-_971&b_name=%D1%EF%E5%F6%ED%E0%E7%20%ED%E5%20%F1%E4%E0%E5%F2%F1%FF&a_name=%CC%E8%F5%E0%E8%EB%20%CD%E5%F1%F2%E5%F0%EE%E2&a_id=mihail-nesterov'; // url 1 страницы, копипастим с адресной строки
        $contents = connectsiteGET($url); // читаем контент страницы через CURL
        $url = 'http://bookz.ru/func/getpage.php'.getTextBetween('http://bookz.ru/func/getpage.php', '"', $contents); // Выдираем ссылку на страницу с фреймом

        $contents = connectsiteGET($url); // конектимся к ней

        $url = 'http://bookz.ru/func/getpage.php'.getTextBetween('http://bookz.ru/func/getpage.php', "'", $contents);  // Выдираем ссылку на страницу с текстом
        $contents = connectsiteGET($url); // конектимся
        // чистим текст, т.к. там много лишнего
        $contents = preg_replace('/<span(.*?)<\/span>/is', '', $contents);  // убираем скрытые span
        $contents = preg_replace('/&(.*?)p;/is', ' ', $contents); // заменяем &nbsp; на обычный пробел
       
        $contents = str_ireplace("s += '", "", $contents); // тоже лишнее
        $contents = str_ireplace("';", "", $contents); // тоже лишнее   
        $contents = str_ireplace("var s='", "", $contents); // тоже лишнее   
        $contents = preg_replace('/var(.*?)show(.*?)}/is', '', $contents); // Убиваем JS
        $contents = strip_tags($contents, '<br>'); // Убиваем все теги, кроме <BR/>  
        
        echo $contents;  // Выводим текст книги в браузер
    }

    // Функция для подключения к сайту методом GET через CURL
    function connectsiteGET($url, $followlocation = false, $cookie = null){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_MUTE, true);
        curl_setopt($ch, CURLOPT_URL, $url);         
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)');
        curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT']."/temp/cookiefile");
        curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT']."/temp/cookiefile");
        curl_setopt($ch, CURLOPT_COOKIE, $cookie);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $followlocation); 
        curl_setopt($ch, CURLOPT_TIMEOUT, 60);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $result = curl_exec($ch);
        curl_close($ch);         
        return $result;
    }

    // Функция ищет всё что находится между  $starttag и $endtag
    function getTextBetween($starttag, $endtag, $text) {
        if (strlen($starttag) == 0 || strlen($endtag) == 0) return false;

        $spos = strpos($text, $starttag);
        if ($spos === false) return false;
        $offset = $spos + strlen($starttag);
        if ($offset >= strlen($text)) return false;
        $epos = strpos($text, $endtag, $offset);
        
        if ($epos === false) return false;

        $spos += strlen($starttag); 
        return substr($text, $spos, $epos - $spos);
    }
?>


Писал на скорую руку. Можно и усовершенствовать, главное смысл.  Пользуйтесь.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0532 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.