За последние 24 часа нас посетил 17201 программист и 1639 роботов. Сейчас ищут 1860 программистов ...

Эмуляция браузера

Тема в разделе "Прочее", создана пользователем Locker, 21 ноя 2006.

Статус темы:
Закрыта.
  1. Locker

    Locker Активный пользователь

    С нами с:
    12 авг 2006
    Сообщения:
    124
    Симпатии:
    0
    Сделал тут я некоторый парсер, который сайт парсит. Использую file_get_contents(). Но вот стал вставать вопрос, что за частое его использование могут IP забанить. Скорость для него не важа, поэтому я сделал между каждым вызовом sleep(1), но + еще бы хотел через socket браузер эмулировать, типа юзеры ходят каждую секунду, а вот как это сделать не знаю. Помогите плиз
     
  2. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    ну а file_get_contents както иначе работает?
    мб http://php.net/curl ?
     
  3. Я не понимаю только одного. Тех, кто отвечает на такие вопросы. Неужели у них своих сайтов нет?
     
  4. Locker

    Locker Активный пользователь

    С нами с:
    12 авг 2006
    Сообщения:
    124
    Симпатии:
    0
    Не, я имел в виду fsockopen
     
  5. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    Смотрите(например, с помощью прокси) что пишет браузер, то и отдаете браузеру

    Котеров & Костарев "PHP5"
    PHP:
    1. <?php ## "Эмуляция" браузера.
    2. // Соединяемся с Web-сервером localhost. Обратите внимание,
    3. // что префикс "http://" не используется - информация о протоколе
    4. // и так содержится в номере порта (80).
    5. $fp = fsockopen("localhost", 80);
    6. // Посылаем запрос главной страницы сервера. Конец строки
    7. // в виде "\r\n" соответствует стандарту протокола HTTP.
    8. fputs($fp, "GET / HTTP/1.1\r\n");
    9. // Посылаем обязательный для HTTP 1.1 заголовок Host.
    10. fputs($fp, "Host: localhost\r\n");
    11. // Отключаем режим Keep-alive, что заставляет сервер СРАЗУ ЖЕ закрыть
    12. // соединение после посылки ответа, а не ожидать следующего запроса.
    13. // Попробуйте убрать эту строчку - и работа скрипта сильно замедлится.
    14. fputs($fp, "Connection: close\r\n");
    15. // Конец заголовков.
    16. fputs($fp, "\r\n");
    17. // Теперь читаем по одной строке и выводим ответ.
    18. echo "<pre>";
    19. while (!feof($fp))
    20.   echo htmlspecialchars(fgets($fp, 1000));
    21. echo "</pre>";
    22. // Отключаемся от сервера.
    23. fclose($fp);
    24. ?>
    что такое сайты?
     
  6. vb

    vb Активный пользователь

    С нами с:
    6 июн 2006
    Сообщения:
    911
    Симпатии:
    0
    Адрес:
    Saint-Petersburg
    Тема закрыта и перемещена в помойку в соответствии с п. 2.5. Правил форума
     
Статус темы:
Закрыта.