2013-03-08 2 views
0

Мне было интересно, могу ли я получить некоторые данные с другого сайта, чтобы отобразить его на моем. Хорошим примером может быть alexa.com. Мне нужно отобразить рейтинг и репутацию трафика Alexa в div, например, на моей странице, поэтому он будет изменяться динамически каждый раз, когда Alexa меняет свои данные.Javascript: получить данные с другого url

Благодарим за помощь.

+0

Не можете использовать iframe? – smk

+0

нет, мне нужны только данные, цифры в этом случае. – Art

ответ

0

Один из способов - сделать запрос ajax для сайта Alexa.com, после получения всего html, вы можете использовать jquery или что-то еще для scrape это для div, который вы хотите. Он чувствует себя немного грязным, но его легкий способ получить то, что вы хотите. Хотя это предполагает, что их содержимое страницы не загружается динамически.

Редактировать: Смотрите это для получения дополнительной информации: (? Вместо PHP прокси сценарий стороны сервера) Request external website data using jQuery ajax

+0

, поэтому я не могу просто сказать, чтобы перейти к конкретному id или классу на странице alexa и получить данные, которые отображаются там? Можете ли вы написать пример? – Art

+0

Вы можете использовать регулярное выражение и найти то, что хотите. Или медленным способом является создание DOM с использованием очищенной разметки, а затем с помощью jquery выбрать то, что вы хотите. (Этот метод был бы медленнее, чем regex, я думаю) – sweetamylase

+1

Может быть, есть другой язык, например PHP, или что-то лучше для этой задачи? – Art

0

Yahoo YQL ... ..

У меня есть подозрение, подлое вы не владеете/управлять сайтом внешней ссылки, поэтому получение контента с другого сайта будет подпадать под ограничения междоменной безопасности (в современный браузер).

Так, чтобы восстановить «силу для пользователя», просто используйте http://query.yahooapis.com/.
jQuery не требуется.

Пример 1:
Использование SQL-как команда: (! Обход междоменного быка безопасности $ # 7)

select * from html 
where url="http://stackoverflow.com" 
and xpath='//div/h3/a' 

Следующая ссылка будет скрести SO для новейших вопросов:
http://query.yahooapis.com/v1/public/yql?q=select%20title%20from%20html%20where%20url%3D%22http%3A%2F%2Fstackoverflow.com%22%20and%0A%20%20%20%20%20%20xpath%3D%27%2F%2Fdiv%2Fh3%2Fa%27%0A%20%20%20%20&format=json&callback=cbfunc

Как вы можете видеть, это вернет массив JSON (также можно выбрать xml) и вызовет функцию обратного вызова: cbfunc.

Действительно, в качестве «бонуса» вы также принимаете save a kitten каждый раз, когда вам не нужны данные регулярных выражений из «tag-soup».

Вы слышите, как ваш маленький безумный ученый внутри вас начинает хихикать?

Для получения более подробной информации см. this answer (и не забудьте о комментариях).

Удачи!