PDA

Просмотр полной версии : результат поиска яндекса - в массив


uncle_sam
18.03.2006, 18:07
есть страничка Яндекса с результатами поиска.
Нужно написать скрипт чтобы эти 10 результатов поиска записались в массив из 10 элементов. вся проблема в том что я не знаю как сделать чтоб
значениям переменных присваивались названия ссылок.
Подскажите как это лучше и удобнее сделать! оч нужно!

Den0k
18.03.2006, 18:41
может пригодится
http://xml.yandex.ru/

uncle_sam
18.03.2006, 19:20
а можно в данном случае обойтись без ХМЛ? обычными скриптовыми командами?
это дело оч срочно нужно сделать, а начинать изучать хмл с нуля для одной задачи
не хочеца.

Den0k
18.03.2006, 19:33
может и можно, не интересовался:)
насколько срочно? 30 минут что-ли. А вообще что там такого уж сложного изучать?
Я хоть и не супер специалист но вроде всё просто, а не хоче"ц"а это наверно лень такая, по себе сужу ;)

silin
18.03.2006, 22:45
не пойму, во флеше предлагается разобрать яндексовскую страничку ?
а проблема только в том чтоб значениям переменных присваивались названия ссылок..
затейливо, если учесть что нужны тока результаты, а не все три-четыре десятка ссылок со страницы..
или я не понял

uncle_sam
18.03.2006, 23:28
Silin ты все понял правильно. Объясню подробнее что нужно:
допустим есть страничка яндекса
http://www.yandex.ru/yandsearch?text=%EB%F3%F7%F8%E8%E9+%F4%F3%F2%E1%EE%EB%E8%F1%F2+%EC%E8%F0%E0&stype=www

нужно в массив закинуть первые 10 результатов поиска
arr[1]="Игроки"
arr[2]="Lenta.ru: Спорт: Москва не увидит лучшего футболиста мира"
arr[3]="СПОРТ: Роналдинью сделал золотой дубль"
.....
ну и так далее до 10й ссылки включительно.Вот как это дело мне записать в массив я не знаю.

Fl00r
18.03.2006, 23:34
Только XML Yandex.

uncle_sam
19.03.2006, 00:06
Ок. Чтож, будем изучать...

silin
19.03.2006, 00:33
ради интереса:
System.useCodepage=true;
var tmp:XML=new XML();
var arr=[];
tmp.onData=function(s){
for(var i=1;i<11;i++){
var n=s.indexOf('<div class="title">',s.indexOf('<li value='+i));
var ab=s.indexOf('</A',n);
var af=s.lastIndexOf('blank>',ab)+6;
arr.push(s.substring(af,ab));
}
//смотрим..
for(var i=0;i<10;i++)trace((i+1)+": "+arr[i]);
}
tmp.load("http://www.yandex.ru/yandsearch?text=%EB%F3%F7%F8%E8%E9+%F4%F3%F2%E1%EE%EB%E8%F1%F2+%EC%E8%F0%E0&stype=www");
читает.., но где гарантия что будет читать завтра..
ps: пробел лишний в ссылке..

uncle_sam
20.03.2006, 14:12
silin
вот цикл по значениям li value ты здорово придумал.
а вот если бы были нужны не результаты поиска а та строчка которая зеленым цветом под каждым результатом, которая в теге <span> находится и пишет ссылку.
как тогда эти "спаны" перечислить? у нее же нет числового значения.

silin
20.03.2006, 19:00
"а вот если бы были нужны не результаты поиска а та строчка которая зеленым цветом", то ловить придется стиль/класс.., а завтра они его поменяют и придется ловить еще что-то.., короче - порочный путь, имхо..
но мы ж не ищем легких путей.. :)