Граббер

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 23 сен 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Здравствуйте.
    Подскажите пожалуйста, как с помощью скрипта залогиниться на сайте, на котором стоит ДЛЕ и задать поиск по слову word?
     
  2. omfg

    omfg

    Регистр.:
    4 авг 2009
    Сообщения:
    159
    Симпатии:
    46
    ищи на форуме, делается при помощи curl
     
  3. Deller

    Deller Создатель

    Регистр.:
    24 фев 2008
    Сообщения:
    34
    Симпатии:
    16
    и при помощи работы с сокетами fsockopen. В свое время решал пообную задачу без использования curl
     
  4. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Пересмотрел много тем по этому запросу, но того что надо - не нашёл.
    Подскажите пожалуйста, с чего начинать?
     
  5. Zander

    Zander Читатель

    Заблокирован
    Регистр.:
    6 авг 2007
    Сообщения:
    194
    Симпатии:
    36
    Если принципиально нужен скрипт, то курл.

    Если подойдет десктопное решение, и нужно просто что-то сграбить, то можно посмотреть в сторону Xedant Human Emulator.
    Он не дешевый, но на форуме есть решение.
    Можешь глянуть ZennoPoster, у них вроде есть триалка.
    Но я с ним не работал, только собирался попробовать.
     
  6. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    Тогда ещё один выход- пойти в гугл и поискать там.

    Там куча примеров с кучей комментариев.

    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке
     
    uadesign нравится это.
  7. Emporio

    Emporio Постоялец

    Регистр.:
    17 апр 2009
    Сообщения:
    63
    Симпатии:
    4
    Вот так:
    PHP:
    <?php
    $urlz
    ="http://site.net/index.php"//Вместо site.net вставь нужный, это для авторизации
    $url="http://site.net/index.php?do=search"//Вместо site.net вставь нужный, остальное не меняй, это для поиска
    $slovo="word";  /*Слово для поиска*/
    $ch curl_init();
    curl_setopt($chCURLOPT_URL$urlz);
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS"login_name=*****&login_password=*****&login=submit"); //Вместо звёздочек введи лигин и пароль
    curl_setopt($chCURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
    $result curl_exec($ch);

    curl_setopt($chCURLOPT_URL$url);
    curl_setopt($chCURLOPT_VERBOSE1);
    curl_setopt($chCURLOPT_HEADER1);
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_COOKIEFILE$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
    curl_setopt($chCURLOPT_POSTFIELDS"story=$slovo&do=search&subaction=search");
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/4.0.' .'(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)');
    curl_setopt($chCURLOPT_REFERER$referer);
    $result curl_exec($ch);
    curl_close($ch);

    echo 
    $result;
    ?>
     
  8. adrock

    adrock Создатель

    Регистр.:
    3 фев 2009
    Сообщения:
    20
    Симпатии:
    0
    При помощи плагина к Mozilla - Live Http headers отлавливаеш загловки http во время логина, потом с помощю curl эмулируеш этот процесс в скрипте
     
  9. Acidrayne

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    Здраствуйте задался целью написать граббер одного популярного сайта, но в итоге понял что ничего не смыслю в регулярных выражениях..... И для меня одного эта задача пока не осущствима!

    И так есть сайт, на котором контентвыложен в следующем виде:

    Код:
    <div id='plus-249143'></div><hr><br><b><a  href='/smart/symbian/248750'> Blacklist Mobile для S60 </a></b>  - v.1.97<a  href='/symbian/248750'> [осн]  </a> [<a href='http://scr.xxxxxxx.ru/symbian/licenzionnoe-po/scr000092_by_dtarasov_in_05022010123843_symbian.jpg'>скриншот</a>]<br>Категория: <a href='/smart/symbian/3/187/DateD/0'>Лицензионное ПО</a>  <br>от: <a href='/smart/0/name/dtarasov'><b><font color=#EE7600>dtarasov</font></b></a>  [<a href='/smart/symbian/14/dtarasov/0/0'>все</a>]  [<a href='/smart/symbian/31/dtarasov/0/0'><font color=gray>ож</font></a>] 13:28 10 фев 2010, <br><br>-------------<br>Белый список для мобильных устройств на базе S60<br />
    <br />
    WhiteList Mobile  предназначен для обеспечения более комфортного  использования мобильного телефона на базе S60 в тех случаях, когда вам хотелось бы избавить себя от неудобного в данный момент общения.  Вы можете блокировать или глушить  входя ..... <br><br>[<b><a href='http://xxxxxxx.ru/licenzionnoe-po/blacklistmobile_by_dtarasov_in_0602201001121_symbian.sis'>888.69 Kb</a></b>] [2467] <a href='/smart/248750#comms'>комм: 3</a> <div id='plus-248750'></div>
    
    Тоесть это смарт версия основного сайта, я выбрал ее потому что грабить с нее проще , потому что отсутствуют элементы дизайна!

    Написал авторизацию на curl но потом встал в тупик, помогите мне пожалуйста распарсить ключевые моменты этой страницы !!! Такие как название, описание, категория, ну и ссылка на сам файл и скриншот, чтобы их можно было скачать! Зараннеее благодарн с уважением...
     
  10. potuga

    potuga

    Регистр.:
    22 сен 2009
    Сообщения:
    376
    Симпатии:
    91
    Стоило бы создать отдельную тему и не в этом разделе.

    PHP:
    #название и ссылка
    preg_match("|<div id='plus-\d*'></div><hr><br><b><a\s*href='([^']*)'>(.*?)</a></b>|is"$html$out);
    #категория
    preg_match("|<br>Категория:[\s]*<a href='[^']*'>(.*?)</a>|is"$html$out);
    #скриншот
    preg_match("|[<a href='([^']*)'>скриншот</a>]|is"$html$out);
    #описание
    preg_match("|2010,(.*?)[|is"$html$out);
     
    Acidrayne нравится это.
Статус темы:
Закрыта.