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

Поиск:

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


Бывалый
*


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

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



Допусти есть нечто подобное:
Код

<table cellspacing=0 cellpadding=2>
<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=Дон">Донецк</a></b> (Украина)</td><td align=right><b>&nbsp;&nbsp; 9 км</b></td></tr><tr><td><b><a href="?type=town&name=%CC%E0%F0%E8%F3%EF%EE%EB%FC&fi=2860&la=2247&code=8114&template=AviaTemplate&id=34519&req=findtown&town=Дон">Мариуполь</a></b> (Украина)</td><td align=right><b>&nbsp;&nbsp; 47 км</b></td></tr><tr><td><b><a href="?type=town&name=%D2%E0%E3%E0%ED%F0%EE%E3&fi=2832&la=2331&code=9483&template=AviaTemplate&id=34519&req=findtown&town=Дон">Таганрог</a></b> (Российская Федерация)</td><td align=right><b>&nbsp;&nbsp; 119 км</b></td></tr><tr><td><b><a href="?type=town&name=%C3%F3%EB%FF%E9%EF%EE%EB%E5&fi=2859&la=2176&code=7240&template=AviaTemplate&id=34519&req=findtown&town=Дон">Гуляйполе</a></b> (Украина)</td><td align=right><b>&nbsp;&nbsp; 122 км</b></td></tr></table><tr><td colspan=3><table border=0 cellpadding=0><tr><td><img src=http://img.gismeteo.ru/images/lt.gif></td><td valign=middle>&nbsp;<a href="/?req=findtown&town=Дон">Назад</a></td></tr>
<

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


Опытный
**


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

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



Я вот так извлекал в php:
Код

$parsed = '';
$ourtext = @file_get_contents($_POST['txt0']);
$ourtext = addslashes($ourtext);
    preg_match_all("/http:\/\/[A-Z0-9_\-\.]*/i", $ourtext, $matches);
    if (count($matches)) {
        $matches = $matches[0];
        $nummatches = count($matches);
        foreach($matches as $match) {
            if (strpos($match, "www.kto-to.ru") !== false) continue; / игнорируемый адрес
            if (strpos($match, "www.kuda-to.ru") !== false) continue; / игнорируемый адрес
            $parsed = $parsed.$match.';';
        }
    }


В JavaScript, шаблон похожий...


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

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


Бывалый
*


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

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



Ghirik, Дело в том что тут не совсем URL тут запись вида : ?type=town&name=%C4%EE%ED%E5%F6%EA&fi=2884&la=2264&code=6864&template=AviaTemplate&id=34519&req=findtown&town=Дон
я не могу составить шаблон что бы подобное извлеч!
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Хрипа
Дата 5.2.2008, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



type(.|")*
type(.|>)*
type(&|=|.)*
((?:?|&|=|.)*)
Пробывал массу различных шаблонов но не как не подохит
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Ghirik
Дата 5.2.2008, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну а по кавычкам? href="......."

Добавлено @ 19:30
Типа как то так:
/http:\"\.*\"/gi

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


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

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


Новичок



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

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



Если я правильно понял задачу, то вот:

Код

//извлекаем href из ссылки
var links = document.getElementById('айди_элемента_с_которым_работаем').getElementsByTagName('a')

for(var i=0; i<links.length; i++){
alert(links[i].href)
}
//извлекаем src картпнок
var imgs = document.getElementById('айди_элемента_с_которым_работаем').getElementsByTagName('img')

for(var i=0; i<imgs.length; i++){
alert(imgs[i].src)
}

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


Бывалый
*


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

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



Ghirik, не выдерает в масив всё что между ковычек пробывал вот таким выражением:
href="((?:.)*)
Может что-то не так делаю помогите пожалуйста ))

Добавлено через 1 минуту и 23 секунды
Dr.Zlo, данный текст не есть Документом это большая строка полученная Ajax запросом
Задача в том что бы пропарсить документ на ссылки

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


Опытный
**


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

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



Вот, синтаксис посмотрите, там вроде всё есть...


Цитата

href="((?:.)*)


Во первых, заднюю кавычку нужно обязательно показывать, во вторых, все спец символы нужно закрывать обратными слэшами.

Добавлено через 1 минуту и 7 секунд
Цитата

Если я правильно понял задачу, то вот:


Нет, не правильно, там не URL-ы а билеберда всякая....


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

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


Бывалый
*


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

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



Ghirik, href=\"((?:.)*)\" не работает
Кстати  я знаю примочки регулярных выражений в php уже бы довно получил данные между двумя тегами или ещё чего а вот в JS возвращает бпер какой-то!!
Может кто-то пример кинет кто много работал с регами JS ?

Добавлено @ 19:45
Ghirik, получается задача в том что бы извлеч все что между href="...." в массив или обьект
что бы можно было работать с этим потом! 
Код:

Код

                var reg = new RegExp('href=\"((?:.)*)\"',"igm");
                reg.multiline = true;
                var ars = reg.exec(result[0]);
                document.write(ars[0]);

На выходе:
Код

href="?type=town&name=%C4%EE%ED%E5%F6%EA&fi=2884&la=2264&code=6864&template=AviaTemplate&id=34519&req=findtown&town=?">???a></b> (???/td><td align=right><b>&nbsp;&nbsp; 9 ?/b></td></tr><tr><td><b><a href="?type=town&name=%CC%E0%F0%E8%F3%EF%EE%EB%FC&fi=2860&la=2247&code=8114&template=AviaTemplate&id=34519&req=findtown&town=?">???</a></b> (???/td><td align=right><b>&nbsp;&nbsp; 47 ?/b></td></tr><tr><td><b><a href="?type=town&name=%D2%E0%E3%E0%ED%F0%EE%E3&fi=2832&la=2331&code=9483&template=AviaTemplate&id=34519&req=findtown&town=?">???/a></b> (??? ????)</td><td align=right><b>&nbsp;&nbsp; 119 ?/b></td></tr><tr><td><b><a href="?type=town&name=%C3%F3%EB%FF%E9%EF%EE%EB%E5&fi=2859&la=2176&code=7240&template=AviaTemplate&id=34519&req=findtown&town=?">????a></b> (???/td><td align=right><b>&nbsp;&nbsp; 122 ?/b></td></tr></table><tr><td colspan=3><table border=0 cellpadding=0><tr><td><img src=http://img.gismeteo.ru/images/lt.gif></td><td valign=middle>&nbsp;<a href="/?req=findtown&town=?">??</a></td></tr></table></td></tr><tr><td colspan=3><table border=0 cellpadding=0><tr><td><img src=http://img.gismeteo.ru/images/ltlt.gif></td><td valign=middle>&nbsp;<a href=index.php>?? ??a></td></tr></table></td></tr><tr><td colspan=3>&nbsp;</td></tr><table border="0" cellpadding="0" cellspacing="0" width="100%"


Добавлено @ 19:50
Проблема в том что оно не извлекает а возвращает полный бред!
 PHP возврашает всё по шаблону в многомерный массив а тут непонятно что!

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


Опытный
**


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

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



А-а-а..... дак вам вообще не то нужно.... smile  smile  smile

Добавлено через 52 секунды
Счас сделаю.....


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

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


Бывалый
*


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

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



Ghirik, Может поможите примером как это реализовуется на JS ?
Того что я прочёл массу документации и так ничего не нашол.  smile

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


Опытный
**


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

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



Этож надо так тупить!!!!! smile 

Вот:

Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<title>Title block</title>
<script type="text/javascript">
<!--
function getHref() {
    var href;
    var a = document.getElementById('table1').getElementsByTagName('a');
    for (var i = 0; i < a.length; i++) {
        href = a[i].href;
        document.getElementById('p1').innerHTML += href + '<br>';
    }
}
//-->
</script>
</head>
<body>
<p><input type="button" value="Кнопка" name="B1" onclick="getHref()"></p>
<table border="1" width="100%" id="table1">
<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=Дон">Донецк</a></b> (Украина)</td><td align=right><b>&nbsp;&nbsp; 9 км</b></td></tr><tr><td><b><a href="?type=town&name=%CC%E0%F0%E8%F3%EF%EE%EB%FC&fi=2860&la=2247&code=8114&template=AviaTemplate&id=34519&req=findtown&town=Дон">Мариуполь</a></b> (Украина)</td><td align=right><b>&nbsp;&nbsp; 47 км</b></td></tr><tr><td><b><a href="?type=town&name=%D2%E0%E3%E0%ED%F0%EE%E3&fi=2832&la=2331&code=9483&template=AviaTemplate&id=34519&req=findtown&town=Дон">Таганрог</a></b> (Российская Федерация)</td><td align=right><b>&nbsp;&nbsp; 119 км</b></td></tr><tr><td><b><a href="?type=town&name=%C3%F3%EB%FF%E9%EF%EE%EB%E5&fi=2859&la=2176&code=7240&template=AviaTemplate&id=34519&req=findtown&town=Дон">Гуляйполе</a></b> (Украина)</td><td align=right><b>&nbsp;&nbsp; 122 км</b></td></tr></table><tr><td colspan=3><table border=0 cellpadding=0><tr><td><img src=http://img.gismeteo.ru/images/lt.gif></td><td valign=middle>&nbsp;<a href="/?req=findtown&town=Дон">Назад</a></td></tr>
</table>
<p id="p1">
</p>
</body>
</html>


Добавлено через 2 минуты и 30 секунд
В этом примере, вначале получаем массив элементов "<a></a>", а потом в цикле складываем атрибуты "href" в нужное место.


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

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


Бывалый
*


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

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



Ghirik, не вы не поняли ))
я Получил Ajax запросом страничку она хранится в переменной. а А это текст и в нём только регулярными выражениями работать! так то я получил бы и сам тут ничего трудного! )
А вот насчёт работы с регулярными выражениями ? П/С DOM не подходит!
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Ghirik
Дата 5.2.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Ghirik, не вы не поняли ))


 smile  smile  smile 

Почему только регуляркой? Если у вас в переменной html, то можно через getElementsByTagName

Вы дайте точное содержимое переменной, и станет всё понятно... не добавляя ни чего, голую строку...


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

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


Бывалый
*


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

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



Код

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>GISMETEO.?? ?? ????, ????? ????????, ??? ?????? ???? ???? ?????????</title>
    <style type="text/css">@import "style.css";</style>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <meta name="description" content="????? ????, ??? ??????????
    <meta name="keywords" content="??? ?? ????????????">
  </head>

<body topmargin=10 leftmargin=10 marginwidth=0 marginheight=0 bgcolor=#ffffff>
<table border="0"  cellspacing="0" cellpadding="0" width="775">
    <tr><td colspan="3"> 
        <table border="0"  cellspacing="0" cellpadding="0" width="775" height="67">
           <tr>
                      <td width="300" height="64"><a href="/"><img src="img/logo.gif" width="246" height="56" border=0 alt="Gismeteo.Widget"></a></td><img height=1 width=1 src="http://d3.c7.b2.a1.top.list.ru/counter?id=1209273"/><img src="http://counter.rambler.ru/top100.cnt?1079107" width=1 height=1><img height=1 width=1 src="http://da.cd.b0.a1.top.list.ru/counter?id=1104443"/><script type="text/javascript">document.write("<img src='http://counter.yadro.ru/hit?r" + escape(document.referrer) + ((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth)) + ";u" + escape(document.URL) + ";" + Math.random() + "' width=1 height=1 alt=''>")</script></td><td align="right"><script language=JavaScript> document.write('<IF'+'RAME src=http://a.gismeteo.ru/show.php?pl=1&bt=1&ref='+escape(document.location.href)+'&ac='+ Math.round(Math.random()*100000)+' width=468 height=60 frameborder=0 vspace=0 hspace=0 marginwidth=0'+ ' marginheight=0 scrolling=no></IF'+'RAME>'); </script></td>
                  </tr>
        </table>
<table border=0 width=775>
<tr><td colspan=2 height=6></td></tr>
<tr>
<td align=left nowrap><b>GISMETEO:</b></a> <a href="http://www.gismeteo.ru"><b>????0 ??a></b> | <a href="http://month.gismeteo.ru"><b>? ???></b> | <a href="http://news.gismeteo.ru"><b>???a></b> | <a href="http://auto.gismeteo.ru"><b>??a></b> | <a href="http://tourism.gismeteo.ru"><b>??</a></b> | <a href="http://informer.gismeteo.ru"><b>???/a></b> | <a href="http://fan.gismeteo.ru"><b>??a></b> | <a href="http://www.gismeteo.ru/pda.htm"><b>PDA</a></b> | <a href="http://www.gismeteo.ru/wap.htm"><b>WAP</a></b></td>
<td align=right align=right><a href="javascript:document.href" onClick="window.external.AddFavorite(document.location, document.title); return false">??? ????/a>&nbsp;</td>
</tr>
</table>
<table border="0"  cellspacing="0" cellpadding="0" width="775">
    </td></tr> 
    <tr><td height="10" bgcolor="ffffff" colspan="3"></td></tr>
    <tr><td valign="top">
          <table border="0"  cellspacing="0" cellpadding="0">
         <tr><td bgcolor="ffffff" width="240">
          <table border="0"  cellspacing="0" cellpadding="0" width="240">
            <tr><td height="19" class="title">&nbsp;&nbsp;&nbsp;????td></tr>
            <tr><td height="4" bgcolor="#D4D8EC"></td></tr>
            <tr><td>
            <table border="0"  cellspacing="0" cellpadding="0">
            <tr><td height="5"></td></tr>
            <tr><td>??????? <b>Gismeteo.??- ?? ????</b>, ?????????? ?? ?????. <a href="about.php">????.</a></td></tr>
            <tr><td height="10"></td></tr>
            </table>
            </td></tr>
            <tr><td height="19" bgcolor="red" class="title2">&nbsp;&nbsp;&nbsp;???/td></tr>
            <tr><td height="4" bgcolor="#FFDFDF"></td></tr>
            <tr><td height="4"></td></tr>
            <tr><td width="240" align="center"><script language=JavaScript> 
<!--
document.write('<IF'+'RAME src=http://a.gismeteo.ru/show.php?pl=1&bt=5&ref='+escape(document.location.href)+'&ac='+ Math.round(Math.random()*100000)+
' width=240 height=400 frameborder=0 vspace=0 hspace=0 marginwidth=0'+ ' marginheight=0 scrolling=no></IF'+'RAME>');
-->
</script></td></tr>
            <tr><td height="8"></td></tr> 
            <tr><td height="19" class="title">&nbsp;&nbsp;&nbsp;???????/td></tr>
            <tr><td height="4" bgcolor="#D4D8EC"></td></tr>
            <tr><td>
<table border="0" cellpadding="0" cellspacing="0" style="padding:5 5 0 5">
    <tr>
    <td class='newsbody'>
  <img src="img/pimpa.gif" width="13" height="13">&nbsp;<a class='newsmore' href='./news.php?id=3914'>                            ?????????, ??? ??-??a><br><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a class='newsmore' href='./news.php?id=3915'>                            ?? ????? ????? ????</a><br><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a class='newsmore' href='./news.php?id=3916'>                            ??? ???? ?? ?? ??/a><br><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a class='newsmore' href='./news.php?id=3917'>                            ?????? - ?? ????????? ?????/a><br><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a class='newsmore' href='./news.php?id=3918'>                            Sky Express ?? ?????? ??</a><br></td>
</tr>
                    <tr><td height="5"></td></tr>
</table>
            </td></tr>
<!--
            <tr><td height="10"></td></tr>
            <tr><td height="19" class="title">&nbsp;&nbsp;&nbsp;????? ??/td></tr>
            <tr><td height="4" bgcolor="#D4D8EC"></td></tr>
            <tr><td  width="245">
                      <table cellpadding="0" cellspacing="0" border="0" class="news" style="padding: 5 0 0 0">
                        <tr><td><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a href='http://www.tgt.ru/vip.php'>VIP-??</td></tr>
                        <tr><td><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a href='http://www.tgt.ru/strah.php'>????/a></td></tr>
                        <tr><td><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a href='http://www.tgt.ru/cards.php?id=0'>??????/a></td></tr>
                        <tr><td><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a href='http://www.tgt.ru/sata.php'>???????</td></tr>
                        <tr>
                          <td height="5"></td>
                        </tr>
                      </table>
-->
            </td></tr>
            <tr><td height="4"></td></tr>
            <tr><td height="19" class="title">&nbsp;&nbsp;&nbsp;???</td></tr>
            <tr><td height="4" bgcolor="#D4D8EC"></td></tr>
            <tr><td  width="245">
                      <table cellpadding="0" cellspacing="0" border="0" class="news" style="padding: 5 0 0 0">
                        <tr><td><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a href='about.php'>???? ???a><br><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a href='http://www.gismeteo.ru/guestbook.htm'>?????/a><br><img src="img/pimpa.gif" width="13" height="13">&nbsp;<a href='mailto:[email protected]'>???? ???a></td></tr>
                        <tr>
                          <td height="5"></td>
                        </tr>
                      </table>
            </td></tr>
          </table>
        </td></tr>
          </table>
        </td>
    <td width="10" bgcolor="ffffff"></td>
    <td width="515" valign="top">
            <table border="0"  cellspacing="0" cellpadding="0" width="525">
                <tr><td height="19" class="title">&nbsp;&nbsp;&nbsp;??????/td></tr>
                <tr><td height="4" bgcolor="#D4D8EC"></td></tr>
                <tr><td height="5"></td></tr>
                <tr>
                  <td align="center">
<center><b>????????? ???<br><font size="+1"<b>???b></font></center><table cellspacing=0 cellpadding=2><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=?">???a></b> (???/td><td align=right><b>&nbsp;&nbsp; 9 ?/b></td></tr><tr><td><b><a href="?type=town&name=%CC%E0%F0%E8%F3%EF%EE%EB%FC&fi=2860&la=2247&code=8114&template=AviaTemplate&id=34519&req=findtown&town=?">???</a></b> (???/td><td align=right><b>&nbsp;&nbsp; 47 ?/b></td></tr><tr><td><b><a href="?type=town&name=%D2%E0%E3%E0%ED%F0%EE%E3&fi=2832&la=2331&code=9483&template=AviaTemplate&id=34519&req=findtown&town=?">???/a></b> (??? ????)</td><td align=right><b>&nbsp;&nbsp; 119 ?/b></td></tr><tr><td><b><a href="?type=town&name=%C3%F3%EB%FF%E9%EF%EE%EB%E5&fi=2859&la=2176&code=7240&template=AviaTemplate&id=34519&req=findtown&town=?">????a></b> (???/td><td align=right><b>&nbsp;&nbsp; 122 ?/b></td></tr></table><tr><td colspan=3><table border=0 cellpadding=0><tr><td><img src=http://img.gismeteo.ru/images/lt.gif></td><td valign=middle>&nbsp;<a href="/?req=findtown&town=?">??</a></td></tr></table></td></tr><tr><td colspan=3><table border=0 cellpadding=0><tr><td><img src=http://img.gismeteo.ru/images/ltlt.gif></td><td valign=middle>&nbsp;<a href=index.php>?? ??a></td></tr></table></td></tr><tr><td colspan=3>&nbsp;</td></tr><table border="0" cellpadding="0" cellspacing="0" width="100%">
 <tbody><tr><td class="title" height="19">&nbsp;&nbsp;&nbsp;?????? ????/td></tr>
 <tr><td bgcolor="#d4d8ec" height="4"></td></tr>
 <tr><td height="8"></td></tr>
 <!-- tgt code -->
 <tr><td>
            ? ?? ?????? ???? ?? ???????? ?????
            C?? ????? ? <b>????? ???????? ??????!</b>
            ??? ??????? ????? ???? ???? ?bsp;?? ??sp;??????
 </td></tr>
 <tr><td height="8"></td></tr>
 <tr><td>
        <style type="text/css">
            #tgt-plane { padding: 10px 0px; }
            #tgt-button { padding: 20px 0px 10px 0px; }
            #tgt-button-bg { height: 51px; background: #0E6CBA url('img/arrow-right-2.gif') top right no-repeat; }
            #tgt-button-bg div { padding: 14px 30px 0px 14px; }
            #tgt-frame {border: 1px solid #F00}
        </style>
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
            <tr valign="top">
                <td width="7%">
                    &nbsp;
                </td>
                <td id="tgt-plane" width="51%">
                    <a href="http://booking.avia.gismeteo.ru/flight/index.asp"><img border="0" src="img/plane-2.jpg" width="201" height="71" alt="?????? /></a><br />
                </td>
                <td id="tgt-button" width="35%">
                    <form name="booking" action="http://booking.avia.gismeteo.ru/flight/index.asp" method="get">
                        <div id="tgt-button-bg"><div>
                            <input type="submit" value="?? ????
                        </div></div>
                    </form>
                </td>
                <td id="tgt-button" width="7%">
                    &nbsp;
                </td>
            </tr>
        </table>
</td></tr>
<!-- /tgt code -->
<tr><td bgcolor="#d4d8ec" height="4"></td></tr>
<tr><td height="8"></td></tr>
<tr><td>?? ??????? <b><a href="http://www.tgt.ru/" target="_blank">??????</a></b>.</td></tr>
</tbody></table>            </td></tr>        
            <tr><td height="5" colspan="3"></td></tr>    
      </table>
       </td>
       </tr>
       <tr><td height="10" bgcolor="ffffff" colspan="3"></td></tr>
       <tr><td height="2" bgcolor="#D4D8EC" colspan="3"></td></tr>
       <tr><td height="5" bgcolor="ffffff" colspan="3"></td></tr>    
       <tr><td class="text" colspan="3">Copyright ? 2007, <A href="http://www.gismeteo.ru" target=_blank>Gismeteo.Ru</a></td></tr>
       <tr><td height="5" bgcolor="ffffff" colspan="3"></td></tr>
       <tr><td height="7" bgcolor="#0867B5" colspan="3"></td></tr>
       <tr><td height="3" bgcolor="#D4D8EC" colspan="3"></td></tr>
</table>
<p><a href="http://top100.rambler.ru/top100/"><img src="http://top100-images.rambler.ru/top100/banner-88x31-rambler-blue.gif" alt="Rambler's Top100" width=88 height=31 border=0></a>&nbsp;&nbsp;<a target=_top href="http://top.mail.ru/jump?from=1209273"><img SRC="http://d3.c7.b2.a1.top.list.ru/counter?id=1209273;t=231;l=1" border=0 height=31 width=88 alt="???Mail.ru"/></a>&nbsp;&nbsp;<a href="http://www.liveinternet.ru/click" target=_blank><img src="http://counter.yadro.ru/logo?12.11" border=0 width=88 height=31 alt="" title="LiveInternet: ?????????24 ?, ?????4 ? ????"></a></p>
<p><a href="stat.htm"><img src="http://dyn.gismeteo.ru/cgi-bin/mmcount3.dll?config=avia&fgcolor=B56708&bgcolor=FFFFFF&small=1" border=0></a></p>
</body>

</html>



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


 




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


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

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