Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как сделать парсер html-кода с чужого сайта на jquery?!

86K
28 февраля 2013 года
Kaufmann
8 / / 28.02.2013
Привет! Ребят, возникло затруднение... Есть чужой сайт, страница на котором содержит:

1. Навигацию по названиям товаров в алфавитном виде (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Other)

2. Таблицу значений, подгружаемую ajax'ом, которая содержит поля с названиями и ценами товаров.

3. Постраничную навигацию по товарам, название которых начинается с выбранной буквы. (Например, выбираем букву "A", подгружается страница с таблицей товаров название которых начинается с этой буквы (выводится по 20 элементов) и постраничной навигацией (1 2 3 4 5 6 7 8 9 10 11-12)).

Так вот, пытаюсь написать скрипт который должен выполнять алгоритм:

1. Собрать все ссылки на страницы из навигации по товарам из пункта 1 и 3

2. Перейти по каждой из собранных ссылок и забрать соответствующую таблицу с названиями и ценами.

Это в теории... Но, как это реализовать на практике?!
37K
28 февраля 2013 года
freets
97 / / 15.10.2010
Открываешь Firebug.Console (ну или что-нить ещё), смотришь как меняются параметры\url аjax-запроса, что он возвращает, и парсишь скорее не html, а ответ этого-самого ajax-запроса... в цикле ессна. Лучше приведи ссылку на т. н. "чужой сайт", если не секрет конечно.
86K
28 февраля 2013 года
Kaufmann
8 / / 28.02.2013
Цитата: freets
Лучше приведи ссылку на т. н. "чужой сайт", если не секрет конечно.

Вот - ссылка на "чужой сайт".

8
28 февраля 2013 года
mfender
3.5K / / 15.06.2005
Начинать нужно с того, что на сайте не окажется внезапно jQuery. Значит его нужно встрамить в window.
После того как он встрамлён, внезапно может выясниться, что там уже живёт другой фреймворк, и происходит конфликт переменной $.
Ломайте голову дальше.
37K
28 февраля 2013 года
freets
97 / / 15.10.2010



По предоставленной ссылке ajax-запросами и не пахнет... по крайней мере в реализации постраничной навигации их нет
вот урлы, по которым нужно делать GET:

http://www.nyse.com/about/listed/lc_ny_name_A.html?ListedComp=US
http://www.nyse.com/about/listed/lc_ny_name_B.html?ListedComp=US
************************************************************************************
http://www.nyse.com/about/listed/lc_ny_name_Z.html?ListedComp=US
http://www.nyse.com/about/listed/lc_ny_name_Other.html?ListedComp=US

разбирать нужно содержимое div.sp5

8
28 февраля 2013 года
mfender
3.5K / / 15.06.2005
freets, один вопрос: за что минусуешь? :D
37K
28 февраля 2013 года
freets
97 / / 15.10.2010
я не минусовал, откуда такие сведения?)
хотя по сути что значит "на сайте не окажется jquery"? я так понимаю TC у себя на сайте собирается парсить содержимое страниц "чужого сайта".
86K
28 февраля 2013 года
Kaufmann
8 / / 28.02.2013
Цитата: freets
вот урлы, по которым нужно делать GET:



Так-то да, спасибо! А какими средствами делать GET-запрос по этим адресам PHP или JQuery... Просто у меня не получилось вернуть содержимое этих файлов через $.ajax() , т.к. запрос кроссдоменный, ответ не приходит. И с помощью JSONP, не вытянуть, т.к. там данные в другом формате... Поэтому я пока спарсил содержимое этих фалов на сервер, с помощью php, а именно file_get_contents. Ну и уже затем полученный код разобрал!

А можно сделать проще?!! Расскажите как бы Вы сделали!

8
28 февраля 2013 года
mfender
3.5K / / 15.06.2005
фсё, жу, пойду забухаю. комедиклуб на выезде.
37K
28 февраля 2013 года
freets
97 / / 15.10.2010
Ну в общем примерно так можно парсить контент в цикле используя jquery
 
Код:
$.get(url, function(data) {
          var $obj = $(data).find(".sp5");
      //дальше легко вытягиваем данные из $obj
     }
  );
86K
28 февраля 2013 года
Kaufmann
8 / / 28.02.2013
freets, вот в том-то и дело, что так и следует делать, если мы пытаемся вернуть контент в пределах одного домена, нашего же. Но, в данном случае мы отсылаем запрос на чужой сайт, прав на котором мы не имеем.. т.е. посколько мы выполняем запрос к чужому домену, код НЕ сработает. Попробуйте сами! Так для безопасности сделано.
37K
28 февраля 2013 года
freets
97 / / 15.10.2010
да, о кроссдоменности не подумал.. тогда PHP, Хотя можно ещё покопать в сторону YQL + jquery. Сам как-то использовал jsonp, но это другая история.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог