[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не сохраняется в файл HTML код страницы, полученны
саша28
Не могу понять почему не сохраняет страницу http://www.kinopoisk.ru/film/444
А вот эту сохраняет http://www.kinopoisk.ru/film/444/cast/
$page_name = 'http://www.kinopoisk.ru/film/444/cast/';
$page = file_get_contents($page_name);
$fp = fopen ('stranica.php', 'w+');
fwrite ($fp, $page);
fclose($fp);
AllesKlar
Потому что их заколебали те, кто пытаются воровать их контент.
file_get_contents() это НЕ тоже самое, что открыть страницу в браузере.

curl тебе в помощь.

_____________
[продано копирайтерам]
twin
И в чем же принципиальная разница в данном случае? Никаких препятствий не вижу. Ну кроме этических конечно.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
AllesKlar
twin
Когда скрипт отправляет на сервер посредством file_get_contents() запрос, какие там заголовки приходят?
Вот по ним и режут.

_____________
[продано копирайтерам]
Lightt
AllesKlar
А что тут нужно добавить, что бы страница открылась?)

$ch = curl_init ();
curl_setopt ($ch , CURLOPT_URL , "http://www.kinopoisk.ru/film/444/");
curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0");
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 );
$content = curl_exec($ch);
curl_close($ch);
echo "<pre>"; print_r($content); echo "</pre>";
twin
Цитата

Когда скрипт отправляет на сервер посредством file_get_contents() запрос, какие там заголовки приходят?
Вот по ним и режут.


Да ничего там никто не режет. Все нормально открывается.

Вообще, прежде чем что-либо писать в назидательном ключе, не плохо бы проверить.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
AllesKlar
twin
Я проверил. Вчера ни открылось вообще ничего.
И сегодня тоже.
А через браузер открывается. И вчера и сегодня.

Но вчера были по 5, а сегодня по 3 smile.gif

// Ответ "ну, не знаю, у нас все нормально, проблема на вашей стороне" - не принимается, т.к. он защищен авторским правом суппорта всех телекомуникационных компаний smile.gif

_____________
[продано копирайтерам]
twin
У меня все легко открывется. А значит это не заголовки. Были бы заголовки, ни у кого не работало бы.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
AllesKlar
twin
Ну я же сказал, что этот ответ авторским правом забит smile.gif
Цитата
Были бы заголовки, ни у кого не работало бы.

Откуда знаешь? Может они там по ip в бан ставят. Или наоборот, у них есть "белый список" партнеров, которым можно парсить, и твоя маска удачно туда попала?
А может... а может... еще 1000 можетов, нам этого не узнать, мы не видим их скриптов.

Факт налицо - браузером открывается, значить нужно имитировать браузер.

_____________
[продано копирайтерам]
twin
Глупости. Причем тут эмуляция, если и без неё открывается. По IP может быть, но тогда хоть миллиард заголовков отправь, толку не будет.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
AllesKlar
twin
Цитата
Причем тут эмуляция, если и без неё открывается.

Не открывается. Понимаешь? не открывается.
Открывается, это когда у всех. А если у некоторых, то это НЕ открывается. Нельзя быть немножечко беременной :)

Эмуляция притом, что
$page_name = 'http://www.kinopoisk.ru/film/444/cast/'; // не открывается
$page_name = 'http://www.mail.ru'; // открывается.


Вывод? Фильтруют.

Цитата
По IP может быть, но тогда хоть миллиард заголовков отправь, толку не будет.


псевдокод:
ЕСЛИ браузер детектед ИЛИ ip в белом списке
ТО отдать контент
ИНАЧЕ отдать пустую страницу

не вижу сложности в реализации такого финта.

_____________
[продано копирайтерам]
twin
Странный финт. И совершенно бесполезный. Мне казалось пираты должны более серьёзно защищать наворованное. :) Впрочем ты прав, эмулятор работает на всех IP.
<?php

function
get_url($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.17) Gecko/2009122116 Firefox/3.0.17");
$headers = array(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',
'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
'Accept-Charset: windows-1251, utf-8;q=0.7,*;q=0.7'
);

curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_REFERER, "google.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);

curl_close($ch);

return $result;
}

$page_name = 'http://www.kinopoisk.ru/film/444/cast/';
echo get_url($page_name);


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
AllesKlar
twin
Супер!
Вот теперь открывается и у меня smile.gif

_____________
[продано копирайтерам]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.