ФорумПрограммированиеPHP для идиотов → Парсер

Парсер

  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 12 августа 2009 г. 7:06, спустя 23 секунды

    Здравствуйте, уважаемые эксперты!
    Знакомый на днях попросил подумать над парсером для одного сайта.
    Суть такая:

    Теория: Есть сайт, где проходит тест. Вопросов тысячи. Каждый из них расположен на отдельной html страничке. 4 варианта ответа, распологающиеся в рандомном порядке. Проходить тест можно раз в 24 часа. Необходимо сделать парсер, который бы проходил по ссылкам и запоминал ответы, чтобы пройдя 4 раза тест, ответить на все вопросы правильно.
    Практика: Итак, парсер… Как я представил себе структуру.


    <?
    //Подключение к базе

    //Авторизация и переход в тестирование

    //Тестирование.

       $content = file_get_contents("http://bla-bla");
       $content = mb_convert_encoding($content, "cp1251", "utf-8");
         
       //Номер вопроса
       $Nomer=$_GET['vopros'];

       //Ответы
       $otvet1= strstr($content, "<div>Вопрос1</div><a http://bla-bla");
       $otvet2= strstr($content, "<div>Вопрос2</div><a http://bla-bla");
       $otvet3= strstr($content, "<div>Вопрос3</div><a http://bla-bla");
       $otvet4= strstr($content, "<div>Вопрос4</div><a http://bla-bla");

       $fuck = strstr($content, "Не правильно");
       if ($fuck!="")
       {echo 'не правильно';
        //Записываем в базу номер вопроса, варианты
       ответов, и выбранный нами не правильный ответ}
       else
       {//Записываем в базу номер вопроса, варианты
       ответов, и выбранный нами правильный ответ}

       //Переходим к следующему вопросу

       $content = mb_convert_encoding($content, "utf-8", "cp1251");
       echo $content;

    ?>


    Поправьте пожалуйста меня, знаю что говно код)))
    А вопросы собственно вот в чем:
    1) Каким образом можно зарегаться на сайте через парсер? Направьте по ссылкам или лучше код покажите, у кого есть)))
    2) Каким образом можно эмулировать нажатие кнопки submit все в той же форме авторизации? С ссылками то понятно, как по ним переходить. В хедер или мету с задержкой.
    3) Ну и собственно, а в правильном ли я направлении иду?))

    Конечно изъетая тема, но парсера до этого момента я не писал)))
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 12 августа 2009 г. 7:06, спустя 23 часа 59 минут 37 секунд

    Заходишь на нужный сайт и смотришь, какие заголовки уходят при нажатии кнопок
    составляешь такие же запросы с такими же заголовками у себя и ЗАПУСКАЕШЬ ДУД КУРЛ!!!111
    все умрут, а я изумруд
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 12 августа 2009 г. 7:10, спустя 4 минуты 7 секунд


    Заходишь на нужный сайт и смотришь, какие заголовки уходят при нажатии кнопок
    составляешь такие же запросы с такими же заголовками у себя и ЗАПУСКАЕШЬ ДУД КУРЛ!!!111

    А как быть с авторизацией?
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 12 августа 2009 г. 7:11, спустя 58 секунд



    Заходишь на нужный сайт и смотришь, какие заголовки уходят при нажатии кнопок
    составляешь такие же запросы с такими же заголовками у себя и ЗАПУСКАЕШЬ ДУД КУРЛ!!!111

    А как быть с авторизацией?
    пятый раз?


    Заходишь на нужный сайт и смотришь, какие заголовки уходят при нажатии кнопок
    составляешь такие же запросы с такими же заголовками у себя и ЗАПУСКАЕШЬ ДУД КУРЛ!!!111
    смотришь, какую куку там ставят и копируешь её себе
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 12 августа 2009 г. 7:47, спустя 35 минут 38 секунд

    дудкурл рулит :)
    Сапожник без сапог
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 12 августа 2009 г. 8:06, спустя 19 минут 33 секунды

    А если ссылки вместо login.php такого вида:
    http://sait/user/login
    И кукисов не видно?))
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 12 августа 2009 г. 8:07, спустя 47 секунд


    А если ссылки вместо login.php такого вида:
    http://sait/user/login
    И кукисов не видно?))
    кукис ты наш, как ты их смотришь?
    все умрут, а я изумруд
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 12 августа 2009 г. 8:08, спустя 1 минуту 14 секунд



    А если ссылки вместо login.php такого вида:
    http://sait/user/login
    И кукисов не видно?))
    кукис ты наш, как ты их смотришь?


    В офисе душно, башка не варит) Утро вечера мудреннее))
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 12 августа 2009 г. 8:13, спустя 4 минуты 29 секунд




    А если ссылки вместо login.php такого вида:
    http://sait/user/login
    И кукисов не видно?))
    кукис ты наш, как ты их смотришь?


    В офисе душно, башка не варит) Утро вечера мудреннее))
    охуенно

    1. устанавливаешь LiveHTTPHeaders на файрфос
    2. Заходишь на страницу с формой
    3. Открываешь LiveHTTPHeaders
    4. Вводишь данные и нажимаешь кнопку
    5. Копируешь заголовки и всю херню из LHTTPH
    6. Клеишь точно такой же запрос вручную
    7. Посылаешь дуд курлом

    это для начала
    все умрут, а я изумруд
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 12 августа 2009 г. 8:14, спустя 1 минуту 46 секунд

    Туплю не по детски, дома потестю. Спасибо)
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 14 августа 2009 г. 6:59, спустя 1 день 22 часа 45 минут

    DudeCurl действительно клевая штука, спасибо)

    Один вопрос остался, а можно ли на локалхосте все это дело запустить или обязон на сервак заливать?
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 14 августа 2009 г. 7:00, спустя 1 минуту 1 секунду

    можно
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 14 августа 2009 г. 7:04, спустя 3 минуты 10 секунд


    DudeCurl действительно клевая штука, спасибо)
    твои слова бы да богу в уши :)
    Сапожник без сапог
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 14 августа 2009 г. 7:09, спустя 4 минуты 53 секунды


    можно

    в php.ini копаться надо, правильно думаю?)
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 14 августа 2009 г. 7:13, спустя 4 минуты 38 секунд



    можно

    в php.ini копаться надо, правильно думаю?)
    а что не получается?
    курл не включен? — да, в пхп.ини раскомментируй и проверь путь к extension_dir и наличие самого курла
    все умрут, а я изумруд

Пожалуйста, авторизуйтесь, чтобы написать комментарий!