Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: Ю_рий от 01 Апреля 2006, 23:49:38
-
Если веб-страница закачена из интернета в компьютер и сохранена на диске, то есть имеет в адресной строке С:\\ . . . то легко получить в переменную её html-код.
Подскажите, пожалуйста, как получить в переменную html-код интернет страницы, если она закачена из интернета в компьютер и не сохранена на диске, то есть имеет в адресной строке http:// . . .
-
Ю_рий
Ю_рий: то легко получить в переменную её html-код
Удиви?
Ю_рий: как получить в переменную html-код интернет страницы
Быстро и просто - никак. Даже если придумаешь способ, то нарвешься на ограничение "данные за пределами домена".
-
Ю_рий
[off]На счет JavaScript - a не в курсе - а вот на PHP пожалуйста:
PHP.NET::fopen() (http://www.php.net/manual/en/function.fopen.php#60718)
[moderatorial] off-ed[/off]
-
[off]for_i_0
Злостный оффтоп, да?
Потом, ты знаешь, я не уверен, что он имеет четкое представление об отличиях серверного и клиентского кода.[/off]
-
CGVictor:
for_i_0
Злостный оффтоп, да?
CGVictor
[off]принудительный ;)[/off]
CGVictor:
Потом, ты знаешь, я не уверен, что он имеет четкое представление об отличиях серверного и клиентского кода.
Судишь по тому как он приподносит вопрос ?
-
for_i_0
for_i_0: Судишь по тому как он приподносит вопрос ?
Да, именно.
-
Ю_рий:
если она закачена из интернета в компьютер и не сохранена на диске, то есть имеет в адресной строке http:// . . .
Мило сказано:)
[OFF]
Ю_рий,
а для каких целей Вам надо код в переменную пихать? :)
[/OFF]
-
[moderatorial]
Клятвенно обещаю, что если вопрос действительно имеет под собой достойную практическую и теоретическую базу, я прибью все посторонние сообщения в этой теме.
-
[OFF]Хотелось бы на эту «базу» посмотреть.[/OFF]
-
CGVictor "Удиви?"
document.body.innerHTML
CGVictor "Даже если придумаешь способ, то нарвешься на ограничение "данные за пределами домена".
"интернет страница . . . закачена из интернета в компьютер" и значит находится в какой то интернет папке из которой, может быть, её можно просмотреть скриптом.
for_i_0 "На счет JavaScript - a не в курсе - а вот на PHP пожалуйста:"
С PHP я не знаком. Если с его помощью можно получить в переменную html-код интернет страницы и передать её значение скрипту, то такой вариант подходит, нельзя ли привести полную программу на PHP.
pauk "Мило сказано"
На некоторых форумах, где я обсуждал этот вопрос, долго не понимали разницу между скаченной и сохранённой страницей и предлагали варианты для сохранённой. Поэтому делаю акцент: "закачена из интернета в компьютер и не сохранена на диске, то есть имеет в адресной строке http:// . . . "
pauk "а для каких целей Вам надо код в переменную пихать?"
CGVictor "если вопрос действительно имеет под собой достойную практическую и теоретическую базу"
hanslinger "Хотелось бы на эту «базу» посмотреть."
Всю обработку информации поступающей из интернета в виде веб-страниц можно автоматизировать скриптами, в том числе и саму закачку веб-страниц. Для этого нужно уметь автоматически получить в переменную их html-код. Это единственный не решённый мною вопрос.
-
Ю_рий
для готового кода, требуется достойный бюджет.
-
обработку информации поступающей из интернета в виде веб-страниц можно автоматизировать скриптами
Смело.
На вопрос «зачем?» вы так и не ответили.
Если вы объясните, что вы делаете, будет проще вам помочь.
[OFF]А вообще, когда-то я посмотрел на Borland Delphi, и там был уже готовый браузер прямо в панельке. Перетащил на форму и готово. Красота.[/OFF]
-
Ю_рий
Как я и говорил, налицо непонимание основ.
document.body.innerHTML - это содержимое элемента body текущей страницы. Что здесь важно?
1) совершенно не важно, откуда получена страница: с локального диска или с удаленного хоста
2) это позволяет получить только текущую страницу, и к запросам отношения не имеет ни малейшего
Простой ответ будет такой: получить на JS содержимое посторонней страницы из кода текущей нельзя.
Есть варианты, которые позволяют это делать, но это частные случаи и там слишком много геморроя.
Рекомендую ознакомиться с возможностями серверного программирования (хоть тот же PHP), либо использовать более серьезные клиентские решения (как справедливо заметил hanslinger, есть, например, интерфейс к IE - IWebBrower_v1 и иже с ним).
Если вопросов не будет - тема закрыта.
-
CGVictor "совершенно не важно, откуда получена страница: с локального диска или с удаленного хоста"
Если страница сохранена на моём компьютере, то есть имеет в адресной строке С:\\ . . . то с помощью скриптов я могу выковорить с неё любую буковку, любую циферку. При этом скрипты будут расположены на другой странице. Если страница закачена из интернета в компьютер и не сохранена на диске, то есть имеет в адресной строке http:// . . . то скриптами до неё я добраться не могу.
"это позволяет получить только текущую страницу, и к запросам отношения не имеет ни малейшего"
Ни в одном из моих сообщений я не говорил о запросах! Речь шла именно о текущей странице, которая в данный момент находится на экране монитора.
"получить на JS содержимое посторонней страницы из кода текущей нельзя."
Не пояснив подробно значение выражения "посторонней страницы" в данном контексте, с ним нельзя ни согласится ни поспорить.
-
Ю_рий
Ю_рий:
то с помощью скриптов я могу выковорить с неё любую буковку, любую циферку. При этом скрипты будут расположены на другой странице
Повторяться не буду. Покажите пример кода и я объясню вам, чем он бездоказателен.
Ю_рий:
Речь шла именно о текущей странице, которая в данный момент находится на экране монитора
Страница (html) есть результат запроса к серверу. Если она на мониторе - значит, запрос отработал. Чтобы получить другую - надо точно так же запросить ее у сервера.
Ю_рий:
посторонней страницы
Посторонней в данном контексте я назвал страницу, еще не переданную на клиент.
-
Правильно ли я тебя понял - ты пытаешься работать с удаленной страницей через фрейм со своими функциями, при этом ты не можешь получить к удаленной странице доступ из-за ограничения безопасности?
-
[off]Shade_Wolfen
Shade_Wolfen: через фрейм
Не факт. Иначе бы наверняка сказал про это.
Я вообще не очень понимаю, что там можно было понапридумывать.
Более того, у него задача явно серверная ("обработку информации поступающей из интернета в виде веб-страниц можно автоматизировать скриптами").
Так что пусть сначала код покажет.[/off]