Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№120-12-2011 12:23:31

rafael
Участник
 
Группа: Members
Зарегистрирован: 11-10-2011
Сообщений: 11
UA: Chrome 16.0

вопрос по XMLHTTPRequest

Возник вопрос по XMLHTTPRequest. Хочу сделать запрос на этот сайтhttp://www.google.com/adplanner/static/top1000/  и далее хочу сделать сравнение текущего URL адреса и тех адресов что на этом сайте. Как мне реализовать этот сравнение? Как URL адреса с этого сайта преобразовать чтобы их можно было сравнивать с текущим? Организовать массив?
Приведите хотя бы примерный скрипт или дайте ссылку на полезную инфу.

Отсутствует

 

№220-12-2011 12:28:34

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 8.0
Веб-сайт

Re: вопрос по XMLHTTPRequest

Я вот так и не понял, как название темы соотносится с вопросом внутри?


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№320-12-2011 12:45:55

rafael
Участник
 
Группа: Members
Зарегистрирован: 11-10-2011
Сообщений: 11
UA: Chrome 16.0

Re: вопрос по XMLHTTPRequest

Lynn пишет:

Я вот так и не понял, как название темы соотносится с вопросом внутри?

Как мне сделать запрос так чтобы получить содержимое сайта, а именно URL адреса, чтобы их сравнивать с текущим адресом?

Добавлено 20-12-2011 13:05:57
вернее мне нужно содержимое страницы

Отредактировано rafael (20-12-2011 13:05:57)

Отсутствует

 

№420-12-2011 23:42:04

arka
Участник
 
Группа: Members
Зарегистрирован: 10-08-2005
Сообщений: 183
UA: Firefox 8.0
Веб-сайт

Re: вопрос по XMLHTTPRequest

Видимо, Вам ещё рано учить наизусть такие сложные сочетание латинских букв. Сначала поизучайте, что такое URL, чем он отличается от контента, etc...

Отсутствует

 

№521-12-2011 13:01:09

rafael
Участник
 
Группа: Members
Зарегистрирован: 11-10-2011
Сообщений: 11
UA: Chrome 16.0

Re: вопрос по XMLHTTPRequest

arka пишет:

Видимо, Вам ещё рано учить наизусть такие сложные сочетание латинских букв. Сначала поизучайте, что такое URL, чем он отличается от контента, etc...

Прекрасно знаю что такое URL и чем он отличается от контента. Повторюсь что мне надо получить с этой страничкиhttp://www.google.com/adplanner/static/top1000/
URL адреса которые там содержатся. Каким способом их вытащить оттуда?

Отсутствует

 

№622-12-2011 03:16:27

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 9.0

Re: вопрос по XMLHTTPRequest

rafael
Если именно черех XMLHttpRequest - то можно так:

Выделить код

Код:

var xhr=new XMLHttpRequest();
xhr.onload=function()
{
  let dom = this.responseXML;
  let urlNodes = dom.evaluate("//table[@id='data-table']//a[img]", dom, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  let urls=[];
  for(var i=0; i<urlNodes.snapshotLength; i++)
    urls.push(urlNodes.snapshotItem(i).href);
}
xhr.open("GET", "http://www.google.com/adplanner/static/top1000/");
xhr.responseType="document";
xhr.send(null);

Нюансы: 1) запрос - только асинхронный, в синхронных запросах парсинг HTML в DOM не поддерживается; 2) согласно вот этому, работать будет только в FF11.0 и выше; в IE/chrome/opera данная фича также пока не реализована.
Если такой вариант не устраивает - остается обычным образом получить контент в виде текста, и парсить его регэкспами.
Есть еще один вариант - грузить документ в скрытый iframe, после загрузки вытаскивать нужные вам ссылки с помощью XPath так же, как в вышеприведенном коде.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]