Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Извлечения URL из HTML, Как сделать извлечения ? 
V
    Опции темы
Ghirik
Дата 5.2.2008, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Если вам вернулся ответ в переменную response, то так

Код

var a = response.getElementsByTagName('a');


 можно достать все тэги "a" в массив "a"

Добавлено через 8 минут и 54 секунды
Хрипа, не понял, это Вы что выложили? Там нарушен формат html. Так и есть в оригинале? Если html нарушен, то может и кавычек не быть, значит ни каким регулярным выражением не достать. smile 
На сколько я помню в ajax-овском респонсе возвращается строковое значение.


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Ghirik
Дата 5.2.2008, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Я вставил вашу страницу в html-редактор, там во многих местах нет кавычек, поэтому веся разметка сбита. Это вы сами просто что-то вырезали, или такая страница и есть?


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Хрипа
Дата 5.2.2008, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



Вот именно текстовое значения а не документ. Поэтому Всякие getElement не работают!
Резать надо регами а я немогу нефига сделать! так как либо руки корявые либо нет документации нормальной, да и работает оно по странному да и вся документация на всех сайтах оденнаковая.

Добавлено через 33 секунды
Ghirik, http://avia.gismeteo.ru/avia.php?id=34519&...mp;req=findtown

Добавлено через 3 минуты и 35 секунд
Мне надо выташить ссылки с http://avia.gismeteo.ru/avia.php?id=34519&...mp;req=findtown которые в таблице Список ближайших аэропортов к городу:

После чего бежать в цикле и выдерать по ним погоду! а я немогу не как получить ссылки так как регулярные выражения возвращают совсем не то!

--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Ghirik
Дата 5.2.2008, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Ай да молодцы!!! счас попробую....

А ссылку лучше удалите.....

Это сообщение отредактировал(а) Ghirik - 5.2.2008, 20:57


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Хрипа
Дата 5.2.2008, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



Ghirik, обратится getElement тоже не работают, вторые сутки мучаюсь а толку 0.
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Ghirik
Дата 5.2.2008, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



php точно нельзя применить?
а то у меня есть готовое решение...


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Хрипа
Дата 5.2.2008, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



Ghirik, на PHP вырезаю все в плоть до конкретного TD или DIV а мне надо Ajaxсом вырезать так как если из php то сервак меня банит а цеплять каждый раз прокси это долго!
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Ghirik
Дата 5.2.2008, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Так, всё сначала....  smile 

В переменной, AJAX-ответ.
AJAX-ответ не содержит переводов строк(\n).
Значит, у вас в переменной вся страница, только одной строкой.

Правильно?


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Хрипа
Дата 5.2.2008, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



Ghirik, содержит \n\r

Добавлено через 1 минуту и 28 секунд
Ghirik, вы то сами попробуйте. написать скрипт а то ешё больше времени потеряем и посматрите что и как ) если получится извлеч кинте пример буду век благодарен
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Ghirik
Дата 5.2.2008, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Ясно, буду пробовать, но это не быстро, потому, как сам плохло дружу с регуляркой.
Но подобное делал, не могу найти тот файл с регуляркой, весь комп перерыл....
Думаю, через часок разберусь...

Это сообщение отредактировал(а) Ghirik - 5.2.2008, 21:09


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Хрипа
Дата 5.2.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



Ghirik, тут проблема что регулярки JS работают фигово
preg_match_all(); / возвращает все совпадения в масив 
а в js regexp.exec(); возврашает только то что попало под шаблон а не совпадения.

Добавлено через 25 секунд
Ghirik, буду очень благодарен если поможите разобратся что и как тут работает!
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Ghirik
Дата 6.2.2008, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Хрипа, я там черкнул на мыло (@mail.ru)... проверьте ящик, который здесь регистрировали...


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
ksnk
Дата 6.2.2008, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Хрипа, А вот такой пример вам не поможет?
Код

var s='src="ggg\\"gg" \r\n <tr><td><b><a href="?type=town&name=%C4%EE%ED%E5%F6%EA&fi=2884&la=2264&code=6864&template=AviaTemplate&id=34519&req=findtown&town=Дон"  src="sssss" href=hello ';
var reg=new RegExp("(src|href)="+
            "(?:"+
                "([\"'])((?:\\\\.|[^\\2\\\\])*?)\\2"+
            "|"+
                "([^\S]*)"+
            ")",'g'); // << модификатор g
var m ;
while(m=reg.exec(s) ) alert(m[3]||m[4]||'Oops!');
 Насколько я понял, состряпать регулярку - это не проблема, проблема - вызвать reg.exec достаточное количство раз ;-)


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Ghirik
Дата 6.2.2008, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Я сделал, письмом отправил.... выкладывать не хочу, чтоб народ не баловался.
А кто соображает и сам сделает.
ksnk, если интересно, могу дать ссылку в личке.

Добавлено через 14 минут и 35 секунд
На мой взгляд, нужно что то убирать из этой темы... либо ссылки, либо решение... лучше решение. Если автором задумывалось парсить именно этот сайт, то оставив ссылки можно дождаться появления новых механихмов защиты, какой ни будь периодической смены синтаксиса в параметрах. Да и вообще, не хорошо это... smile плохие мы... smile  

Это сообщение отредактировал(а) Ghirik - 6.2.2008, 10:37


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Хрипа
Дата 7.2.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



Ghirik, ksnk, 
Спасибо за помошь )) теперь обсалютно понятно как работать с exec 
аказуется надо вызывать пока оно что-то возвращает и в цикле смотреть данные )) большое спасибо! 
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0633 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.