Как получить информацию с другого сайта с моей HTML-страницы? - PullRequest
5 голосов
/ 23 января 2010

Необходимо следующее:

У меня есть веб-страница HTML, и мне нужно получить доступ к другому веб-сайту и получить что-то из его исходного кода.

Я хочу запустить что-то вроде

link = "http://www.google.com";
doc.querySelectorAll('#courses_menu > ul > li > a'); // Apply on the link.

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

Однако я использую ползунок Jetpack.

Имеет ли это отношение к HTTP-запросам?

Ответы [ 4 ]

1 голос
/ 25 января 2010

Я рекомендую использовать Ajax (например, jquery) с PHP-прокси на том же веб-сервере. Прокси-сервер загружает удаленную веб-страницу и затем становится доступным в том же домене.

Не забудьте защитить прокси от злоупотреблений.

1 голос
/ 23 января 2010

Я думаю, что вы можете извлечь всю страницу с помощью Ajax-запроса, поместить содержимое в скрытый iframe, а затем управлять DOM в iframe. Что-то вроде (здесь используется фреймворк jQuery)

<iframe id="holder" style="display: none">

<script type="text/javascript">
$("#holder").load("http://www.google.com",function () {
  $link = $("#holder").contents().find("#courses_menu > ul > li > a");
});
</script>
0 голосов
/ 23 января 2010

Вы можете включить другой контент веб-сайта в ваш HTML-документ, используя iframe. Однако из-за той же исходной политики сценарий из вашего домена не может влиять на содержимое из другого домена. Другими словами, вы не можете написать какой-нибудь javascript для манипулирования содержимым какой-либо другой веб-страницы, которую вы вставили в iframe. Сценарий также должен был прийти из этого домена.

0 голосов
/ 23 января 2010

Иметь страницу, которая будет иметь результат вашего запроса "doc.querySelectorAll ('# courses_menu> ul> li> a');"

Добавьте IFrame на свою страницу, установите src как страницу, которая имеет вышеуказанный результат.

<iframe src='pagenamewhichhasresult'/>

...