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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> javascript парсер, вытащить нужную информацию 
:(
    Опции темы
golfV
Дата 21.11.2009, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Привет,

есть такая задача, вытаскиваю  с помощью WinHttpReq код странички MHTML, код выглядит так

 
Код

From: "Saved by Windows Internet Explorer 7"
Subject: server/folder/
Date: Tue, 01 Nov 2008 16:30:20 +0100
MIME-Version: 1.0

<A =href=3D"http://server/folder/003-003-000.txt">003-003-000.txt</A><BR>        7. september 2007. a.    15:36     111111111
<A =href=3D"http://server/folder/003-003-000.jpg"> 003-003-000.jpg</A><BR> 7. september 2007. a.    15:36     22222222
.........
 

нужно вытащить только названия файлов с раширением .txt(003-003-000.txt), знаю что это можно сделать с помощью регулярных вырожений но никак немогу в них разобраться. Поскажите как это сделать с помощью регулярных вырожений или подскажите какой нить парсер с помощью которого смогу вытащить нужную информацию.

Заранее большое спасибо!
PM MAIL   Вверх
Veve
Дата 21.11.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 1.1.2005
Где: Латвия, Рига

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



Код

<script>
function test(){

        var text=document.getElementById('test').innerHTML;
        var reg=/>(.*\.txt)</
        var arr=reg.exec(text)
        alert(arr[1]);
}
</script>


Код

<input type="button" onclick="test()" value="click"/>

<div id="test">
From: "Saved by Windows Internet Explorer 7"
Subject: server/folder/
Date: Tue, 01 Nov 2008 16:30:20 +0100
MIME-Version: 1.0
<A =href=3D"http://server/folder/003-003-000.txt">003-003-000.txt</A><BR>        7. september 2007. a.    15:36     111111111
<A =href=3D"http://server/folder/003-003-000.jpg"> 003-003-000.jpg</A><BR> 7. september 2007. a.    15:36     22222222
.........
</div>


Это сообщение отредактировал(а) Veve - 21.11.2009, 18:00
PM MAIL ICQ Skype MSN   Вверх
golfV
Дата 21.11.2009, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



попробовал сделать как ты подсказал только я немогу в MHTML файле ничего менять, я сделал так

Код


var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
WinHttpReq.Open("GET", "http://erver/folder/file.mht", false);
WinHttpReq.Send();
var tt=WinHttpReq.responseText;
var reg=/>(.*\.txt)</
var arr=reg.exec(tt)
alert(arr[1]);

но он мне выдает что массив null. 
PM MAIL   Вверх
golfV
Дата 21.11.2009, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



все нормально заработал,  спасибо
PM MAIL   Вверх
Veve
Дата 21.11.2009, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 1.1.2005
Где: Латвия, Рига

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



1. Hаверное тебе следует вначале разобраться в том, что ты делаешь.
2. Сформулируй вопрос. Тебе нужна регулярка, или тебе парсер написать?
3. Прежде чем задовать очередной вопрос, попытайся несколько раз разобраться сам.

Во-первых: ты работаешь в асинхронном режиме: то есть ты должен дождаться результата. 

Код

 WinHttpReq.Send();
        if (WinHttpReq.Status==200)
        {
            tt=WinHttpReq.ResponseText;
           
        }
        else
        {
         ....
        }

Во вторых по http://erver/folder/file.mht , цитирую The server name or address could not be resolved
В третьих, если правильный url : http://www.erver.com/folder/file.mht
,то в исходниках я никак не вижу ни одного txt файла

PM MAIL ICQ Skype MSN   Вверх
golfV
Дата 23.11.2009, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



появилась такая проблемка, в html коде большой список файлов, а после
Код

var reg=/>(.*\.txt)</
var arr=reg.exec(tt)
alert(arr[1]);


массив arr  содержит только имя одного файла, если записываю не в массив а просто в переменую то выводит 2 имени файла, подскажите как сделать чтоб выводил весь список который есть в html коде?
PM MAIL   Вверх
golfV
Дата 23.11.2009, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



все таки это проблема с  регулярным выражением, помогите составить, вот код mhtml 

Код

Content-Transfer-Encoding: quoted-printable
Content-Location: http://srv-dk/cheet/
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18049

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>srv-dk - /cheet/</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3DUTF-8">
<META content=3D"MSHTML 6.00.6001.18294" name=3DGENERATOR></HEAD>
<BODY>
<H1>msan-dc-01 - /cheetah/</H1>
<HR>
<PRE><A href=3D"http://srv-dk/">[To Parent Directory]</A><BR><BR>    =
   10. september 2007. a.    11:01       234249 <A =
href=3D"http://srv-dk/cheet/02HAT00103ACY_003-003-000.cth">02HAT001=
03ACY_003-003-000.cth</A><BR>        7. september 2007. a.    15:36     =
20893651 <A =
href=3D"http://srv-dk/cheet/02HAT00103ACY_003-003-000.dxf">02HAT001=
03ACY_003-003-000.dxf</A><BR>        12. oktoober 2009. a.     9:25      =
 289705 <A =
href=3D"http://srv-dk/cheet/02HAT00103ACY_004-003-000.cth">02HAT001=
03ACY_004-003-000.cth</A><BR>        12. oktoober 2009. a.     8:31     =
20893651 <A =
href=3D"http://srv-dk/cheet/02HAT00103ACY_004-003-000.dxf">02HAT001=
03ACY_004-003-000.dxf</A><BR>        6. detsember 2007. a.    12:30      =
 628867 <A =
href=3D"http://srv-dk/cheet/02HAT00162AAD_005-002-000.cth">02HAT001=
62AAD_005-002-000.cth</A><BR>        10. oktoober 2007. a.     7:48     =
28983640 <A =
href=3D"http://srv-dk/cheet/02HAT00162AAD_005-002-000.dxf">02HAT001=
62AAD_005-002-000.dxf</A><BR>        12. oktoober 2009. a.     7:53      =
 703627 <A =
href=3D"http://srv-dk/cheet/02HAT00162AAD_005-003-000.cth">02HAT001=
62AAD_005-003-000.cth</A><BR>        12. oktoober 2009. a.     7:36     =
28983640
href=3D"http://srv-dk/cheet/02HBA00195AAL_R4B.cth">02HBA00195AAL_R4=
B.cth</A><BR>         7. november 2007. a.    13:16     22512556 <A =
href=3D"http://srv-dk/cheet/02HBA00195AAL_R4B.dxf">02HBA00195AAL_R4=
B.dxf</A><BR>        13. oktoober 2009. a.    14:57       517080 <A =
href=3D"http://srv-dk/cheet/02HBA00195AAL_R5B.cth">02HBA00195AAL_R5=
B.cth</A><BR>        12. oktoober 2009. a.    13:21     22174830 <A =
href=3D"http://srv-dk/cheet/02HBA00195AAL_R5B.dxf">02HBA00195AAL_R5=
B.dxf</A><BR>        23. november 2007. a.    14:39       117129 <A =
href=3D"http://srv-dk/cheet/02HBA00200AAU_003-001-000.cth">02HBA002=
00AAU_003-001-000.cth</A><BR>        20. november 2007. a.    15:49      =
6337439 <A =
href=3D"http://srv-dk/cheet/02HBA00200AAU_003-001-000.dxf">02HBA002=
00AAU_003-001-000.dxf</A><BR>        22. november 2007. a.    12:52      =
 115208
..........


надо вытащить только имя файла у котором расширение .cth и чтоб расширение тоже небыло видно, никак немогу с этис справится

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


 




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


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

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