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

Парсинг сайта

  • VaseninM

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

    Spritz 9 октября 2010 г. 10:23

    Открываю странрицу.
    $content = file_get_contents('http://wordstat.yandex.ru/?text=' . 'php');

    Получаю капчу. В браузере ее нет.
    Пробую курл вот так:
       $ch = curl_init();    // initialize curl handle
    curl_setopt($ch, CURLOPT_URL, 'http://wordstat.yandex.ru/?text=php'); // set url to post to
    curl_setopt($ch, CURLOPT_FAILONERROR, 1); // Fail on errors
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
    curl_setopt($ch, CURLOPT_TIMEOUT, 15); // times out after 15s
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8');
    $content = curl_exec($ch);
    curl_close($ch);


    Та же хуйня. Я ообще нуб во всяких курлах и прочих. Как открыть так же как и в браузере, то бишь без капчи.
  • adw0rd

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

    Spritz 9 октября 2010 г. 10:40, спустя 17 минут 1 секунду

    text=' . 'php
    это зачем? {+++82+++} Короче ты получаешь капчу если заходишь не браузером?
    Может потомучто оно отображается только не для "браузеров"?

    зы. отключи js и посмотри
    adw/0
  • adwo

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 9 октября 2010 г. 10:49, спустя 9 минут 13 секунд

    А я тебе расскажу :) При первом посещении вордстат всегда отображает капчу. Дальше он что-то пишет в куки и дальше капчи ты не видишь. Можешь проверить - удали в браузере куки от вордстата и зайди - увидишь капчу.

    Решение: открываешь курлом страницу, забираешь куки и открываешь снова уже с этими куками.
  • phpdude

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

    Spritz 9 октября 2010 г. 10:49, спустя 9 секунд

    фу нуб!
    Сапожник без сапог
  • adwo

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 9 октября 2010 г. 10:52, спустя 2 минуты 59 секунд

    Ах да. При большом кол-ве запросов он все равно покажет капчу. По мне, так лучше прикрутить антигейт, чем ставить здоровые слипы и ждать до вечера, пока он что-то спарсит.
  • VaseninM

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

    Spritz 9 октября 2010 г. 10:56, спустя 3 минуты 57 секунд

    это зачем?

    там была функция. Заменил на строку, забыл конкатенация убрать.
    adwo, спасибо. Просто я ниразу не вводил капчу. {+++37+++} phpdude, сам ты нуб :D

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