проблема с парсингом(

Статус
В этой теме нельзя размещать новые ответы.
Вы правы. На моем хостинге тоже не заработало, причину не понял - разбираться было лень. Выкладываю функцию, с которой забрать контент у меня получилось (забираю через поток).

*** скрытое содержание ***

на виртуалном сервере все отработало на ура:) а на хосте не срабатывает:(
 
есть такой класс - snoopy,он довольно легко позволяет забирать контент со страниц, умеет работать через прокси.

Класс в аттаче
 

Вложения

  • snoopy.class.php.txt
    36,7 KB · Просмотры: 6
Рекомендую вам сделать следующее:

Составьте корректный запрос со всеми надлежащими заголовками, в частности UserAgent, используйте сокеты. Есть подозрение, что статус вам отдается 403 в ответ на попытку граббинга, потому что думаю, что вы робот. Сделайте вид, что вы - браузер. cURL опять же в помощь.

Попробуйте вот этой функцией стянуть:

PHP:
  function GetPage($url) {
    $buff = '';

    usleep(100);

    $arr = parse_url($url);

    $host = $arr['host'];

    if ($arr['query'] == null) 
       $path = $arr['path'];
        else
       $path = $arr['path'].'?'.$arr['query'];

    $fp = @fsockopen($host, 80, $errno, $errstr, 30);
    if ($fp) {
        @fputs($fp, "GET $path HTTP/1.0\r\nHost: $host\r\n");
        @fputs($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)\r\n");
        //@fputs($fp, "Referer: http://www.audiovkontakte.ru\r\n\r\n");
        while (!@feof($fp)) {
            $buff .= @fgets($fp, 100 * 1024);
        }
        @fclose($fp);

        $x = strpos($buff, "\r\n\r\n");

        $page = substr($buff, $x, strlen($buff) - $x);

        return $page;
      }
   }
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху