Использование YQL в javascript / php для чистки статьи HTML? - PullRequest
0 голосов
/ 19 июня 2011

Я новичок в YQL и просто пытаюсь научиться выполнять довольно простые задачи.

Допустим, у меня есть список URL-адресов, и я хочу получить их HTML-источник в виде строки в javascript (чтобы позже я мог вставить его в базу данных через ajax). Как мне получить эту информацию обратно в Javascript? Или я должен был бы сделать это на PHP? У меня все хорошо, правда - все может работать.

Вот примеры запросов, которые я запускаю на их консоли:

выберите * из html, где url = "http://en.wikipedia.org/wiki/Baroque_music"

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

Как бы я поступил так? Я немного понимаю, как работает запрос, но не совсем, как интегрировать его с javascript и / или php (скажем, у меня есть список URL-адресов, и я хочу просмотреть их по очереди, получая html для каждого и сохраняя его где-нибудь).

Спасибо.

1 Ответ

1 голос
/ 19 июня 2011

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

Обычный метод - очистить содержимое этих сайтов с сервера с помощью PHP.

Существует еще один вариант с javascript, который называется bookmarklet .

Вы можете добавить букмарклет на панель закладок, и каждый раз, когда вам нужно содержимое сайта, нажимайте на закладку.

На странице хоста будет загружен скрипт, который может читать содержимое и публиковать его на вашем сервере.

Как ни странно, та же политика происхождения не мешает вам отправлять данные POST с этой страницы хоста в ваш домен. Вам нужно отправить форму на IFRAME, источник которого размещен на вашем домене.

Вы не сможете прочитать ответ, полученный при отправке сообщения POST.
Но вы можете опросить с помощью setInterval, сделав JSONP звонок в ваш домен, чтобы узнать, прошел ли POST успешно.

...