forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Читаем информацию с html страницы (http://forum.boolean.name/showthread.php?t=4988)

andresyuk_be 11.11.2007 13:37

Читаем информацию с html страницы
 
Есть такая страница
http://123.ru/info.html
На этой странице есть данные
1.Строка данных 1
2.Строка данных 2
3.Строка данных 3
4.Строка данных 4
5.Строка данных 5
Как считать эти данные?

Piligrim 11.11.2007 16:32

Re: Читаем информацию с html страницы
 
Не совсем понял вопрос. Речь идет о загрузке страницы и ее парсинге?

andresyuk_be 11.11.2007 18:56

Re: Читаем информацию с html страницы
 
ну да.как это реализовать.можно еще вместо страницы обычный текстовый файл но опять же как это сделать.

Kurdt 11.11.2007 21:29

Re: Читаем информацию с html страницы
 
парси.. отрезай b <> и все... делается просто..

andresyuk_be 11.11.2007 22:42

Re: Читаем информацию с html страницы
 
а ты не мог бы дать пример какой-нибудь

Bruteo 11.11.2007 22:48

Re: Читаем информацию с html страницы
 
На сервере генерируй документ с любым разделяющим символом между строк. В мидлете разбирай полученные данные на несколько строк, считая границей использованный символ. В чем проблема то?

andresyuk_be 12.11.2007 11:08

Re: Читаем информацию с html страницы
 
проблема в том что я не знаю как обратиться к этой странице,скачать ее и выполнить парсинг.

jimon 12.11.2007 11:55

Re: Читаем информацию с html страницы
 
общая теория :
1) открываем поток на страницу типа "www.google.com"
2) записываем в етот поток такую байду :
"GET /index.html HTTP/1.1
Host: www.google.com"
3) сервер запишет заголовок в поток
его нужно будет пропустить, заголовок обычно выглядит так
Цитата:

HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Etag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8
и дальше после него идет сама страница
ее уже и нужно обрабатывать

ps. практическую реализацию на mp не знаю :)

andresyuk_be 12.11.2007 12:56

Re: Читаем информацию с html страницы
 
так ну разобрался с этим.Теперь вся страница в строке.а есть ли какая-либо функция удаления подстроки в строке?

Kurdt 13.11.2007 15:55

Re: Читаем информацию с html страницы
 
С тебя магар...

Kurdt 13.11.2007 16:01

Re: Читаем информацию с html страницы
 
Код:

//грузим гет запрос
Function geturl(getstr:string):string;
var htmlBody,contentType:string;
conn: http;
Begin
if not openHttp(conn,getstr) then
                                geturl:='Ошибка, проверьте настройки сети!!!' else
                                        begin

    setHttpMethod(conn, GET);
    addHttpHeader(conn, 'User-agent', '');
    if sendHttpMessage(conn) <> 200 then geturl:='Невозможно отправить запрос к серверу !'
                        else
                                begin
                                            htmlBody := getHttpResponse(conn);
                                contentType := getHttpHeader(conn, 'Content-type');
                                closeHttp(conn);
                                        geturl:=htmlBody;                                       
                        end;

end;
end;

Пример использования
Код:

s:= geturl('http://gayvoron.org.ua/');
s - будет содержать текст страници
('<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta name="generator" content="vBulletin 3.5.4" />............' - типа того
)

Теперь парсер... ща выложу как на дельфе делал.

Код:

function removeHTML(s:string):string;
Var ss:string;
    b:boolean;
    i:integer;
begin
b:=true;
for i:=1 to length(s) do
        begin
        if b and (s[i]<>'<') then ss:=ss+s[i];
        If (s[i]='>')or(s[i]='<') then b:=not b;
        end;
removeHTML:=ss;
end;

перепишишь на мп (фигня) и будет те щастье....

andresyuk_be 13.11.2007 18:40

Re: Читаем информацию с html страницы
 
угу спасиба
только в мп нельзя обратиться к итому символу s[i]
[ operator can only be used on array types

Piligrim 13.11.2007 18:50

Re: Читаем информацию с html страницы
 
вроде как CharAt еще никто не отменял

Kurdt 13.11.2007 19:29

Re: Читаем информацию с html страницы
 
GetChar - тебе в замену... тот же эффект тока по другому пишетсо

andresyuk_be 14.11.2007 19:41

Re: Читаем информацию с html страницы
 
спасиба огромное за вашу помощь
а возможно ли чтобы русские буквы нормально отображались?
я думал сделать парсер таким
на странице добавить нужный текст русскими буквами
создать строку из русского алфавита а затем пробегаться по странице и если текущий символ из русского алфавита тогда добавить к результату
но изза этих глюков задача усложняется


Часовой пояс GMT +4, время: 08:54.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot