Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];

Вниз

старый добрый HTML   Найти похожие ветки 

 
lordalexander   (2011-04-04 22:49) [0]

Здравствуйте уважаемый программисты
Пытаюсь сохранить код страницы  сайта в тхт файл. Но, он отображается в одну строку, а не в столбик тегами.
Код страница вытаскиваю следующим образом
Memo1.Lines.Add(IdHTTP1.Get("http://www.delphimaster.ru")) как в конце тега  поставить Enter


 
sniknik ©   (2011-04-04 23:02) [1]

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


 
lordalexander   (2011-04-04 23:12) [2]

мне нужно автоматически т.к  таких HTML очень много


 
Медвежонок Пятачок ©   (2011-04-04 23:33) [3]

для "столбика тегами" требуется рендеринг этого хтмл.


 
lordalexander   (2011-04-04 23:35) [4]

Как это сделать в этом у меня проблема


 
Медвежонок Пятачок ©   (2011-04-04 23:36) [5]

для этого надо всего лишь написать свой браузер


 
brother ©   (2011-04-05 05:28) [6]

надо писать парсер тэгов, для правильного форматирования html


 
sniknik ©   (2011-04-05 07:52) [7]

> мне нужно автоматически т.к  таких HTML очень много
для автоматической обработки совершенно пофигу форматирован текст или нет... т.е. если их много то и смотреть в каждый человек не будет так? а в который случайно посмотрит пусть смотрит редактором.

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

и кстати самое простое допущение, типа все теги на своих строках, все строки тогда кончаются на ">"... т.е. полученный текст прогнать через функцию stringreplace заменить все ">" на ">"#13#10.


 
brother ©   (2011-04-05 08:35) [8]

> заменить все ">" на ">"#13#10.

а уровень вложенности несколькими пробелами в начале не будем форматировать?


 
Медвежонок Пятачок ©   (2011-04-05 09:13) [9]

да нет, не прокатит все это.

<div id="one">one</div><div id="two">one</div>

+ css лежащий где-то там

и что и как здесь заменить?
а если там еще и клиентский js, то вообще мрак.


 
sniknik ©   (2011-04-05 09:29) [10]

> а уровень вложенности несколькими пробелами в начале не будем форматировать?
вообще не будем! в условии этого нет.

+
самое простое не есть самое лучшее...
лучше всего с этим справится человек, но это не просто.

++
если в его html-ях форматирования нет, значит они сгенерированы чем то... и значит не продполагалось для чтения кода человеком... значит не нужно оно там... с чего я и начал.

> а если там еще и клиентский js
так он вроде не то что получится хочет в форматированном виде, а сам исходный код.


 
lordalexander   (2011-04-05 19:38) [11]

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


 
Sapersky   (2011-04-05 20:10) [12]

Возможно, дело в том, что Memo1.Lines.Add добавляет весь текст как одну строку.
Попробуй Memo1.Lines.Text := IdHTTP1.Get();
Если требуется напрямую в файл - можно вместо Memo использовать TStringList, или писать строку в файл через TFileStream.


 
sniknik ©   (2011-04-05 20:20) [13]

> дело в том, что Memo1.Lines.Add добавляет весь текст как одну строку.
> Попробуй Memo1.Lines.Text := IdHTTP1.Get();
дело в том, что пофигу, если исходный текст не форматирован.

> чтоб каждый тег был на одной строке
чем не подходит предложенный вариант ([7])? будет именно так, каждый тег на своей строчке... неважно открывающий он или закрывающий. есть вложения или нет.


 
Sapersky   (2011-04-05 20:22) [14]

Или поискать у IdHTTP1 метод для получения HTML сразу в TStream (TFileStream), у Synapse вон есть.


 
sniknik ©   (2011-04-05 20:35) [15]

стрим, волшебными свойствами авто форматирования тоже не обладает... хотя, да, получение в стрим, метод есть, с тем же названием (перекрыт). избавлю от поисков. но, НЕ ПОМОЖЕТ.


 
Sapersky   (2011-04-05 20:36) [16]

Пардон, [14] было в дополнение к [12].

дело в том, что пофигу, если исходный текст не форматирован.

Сохранил Оперой http://www.delphimaster.ru - вроде более-менее человеческое форматирование, или это браузер?
И когда работал в своё время с HTTP через Synapse - обычно форматирование имелось, не весь текст в одну строку.
А что автор хочет каждый тэг с новой строки - ну пусть посмотрит для начала на исходное форматирование, может его устроит. Нормальные "блокноты" с подсветкой тэгов (напр. AkelPad) помогают, опять же.


 
sniknik ©   (2011-04-05 20:59) [17]

> вроде более-менее человеческое форматирование, или это браузер?
нет, это "более-менее человеческое форматирование". как есть.

> обычно форматирование имелось, не весь текст в одну строку.
обычно оно и есть. а весь текст в одну строку это чем то "тупым" сгенерированно. (в кавычках т.к. чаще всего оно и не нужно, не люди код читают)


 
Sapersky   (2011-04-05 21:49) [18]

нет, это "более-менее человеческое форматирование". как есть.

Ну я так понял, автору нужно скорее "как есть", чем переформатирование HTML под свои вкусы.


 
sniknik ©   (2011-04-05 22:22) [19]

у него -
> [0] Но, он отображается в одну строку, а не в столбик тегами.
"как есть" строка. а "столбик тегами" это "ручное" форматирование (можно и генератором так писать, собственно данный форум, динамические страницы, делаются скриптами на перле... форматирование присутствует).


 
Sapersky   (2011-04-05 23:08) [20]

1) Он пробовал на delphimaster.ru - в результате получается весь файл одной строкой.
2) У меня delphimaster.ru сохраняется с форматированием, и вы говорите, что так и надо.
3) Вывод: исходное форматирование убито кривым кодом сохранения.
4) Результат: желание странного в виде ручной разбивки по тегам, которое, полагаю, ему не нужно на самом деле.

В общем, мой телепатор так видит :) Может где-то и ошибается, но пусть уж тогда автор, если появится, уточняет.


 
antonn ©   (2011-04-05 23:35) [21]

скорее всего знак переноса строки по-юниксовому, одним символом.


 
sniknik ©   (2011-04-05 23:46) [22]

> 3) Вывод: исходное форматирование убито кривым кодом сохранения.
"код" можно проверить. он приведен в [0]
и сделать другой вывод на этом основании, - что он врет.

а можно почитать дальше, например [2]
> мне нужно автоматически т.к  таких HTML очень много
и сделать еще один вывод, - что форматирования нет в этих многих HTML, а ссылка в [0] на дельфимастер приведена для примера...
тут конечно возникает вопрос, а че же автор не проверил свой же пример и не сказал об этом в вопросе. типа мол, вот тут работает. а где надо нет, и пример вот тут такое форматирование, а тут вот такая одна строка... но вопрос этот без ответа. модно списать на врожденную... ну скажем застенчивость автора. стесняется может человек говорить полно и понятно, предпочитает "тупить". ну, да это его проблема.
а вот в чем проблема отвечающего который имеет телепатор и не видит очевидного, и не проверяет то, что советует?


 
sniknik ©   (2011-04-05 23:55) [23]

> скорее всего знак переноса строки по-юниксовому, одним символом.
точно.
тогда просто заменить TMemo на TRichEdit, и все наладится.


 
Sapersky   (2011-04-06 01:26) [24]

тогда просто заменить TMemo на TRichEdit, и все наладится.

Ну вот, такая тирада была в [22] о злобном коварстве автора, а всё мимо, даже жалко :)
Memo.Lines.Text, кстати, нестандартные сепараторы тоже лечит, так что с кодом я угадал.
Проверить idHTTP не мог т.к. Инди не было под рукой, а насчёт Memo.Lines.Add - поленился, с нормальными сепараторами оно на самом деле работает. Ну так написал же в [12] - "возможно".


 
sniknik ©   (2011-04-06 07:55) [25]

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


 
lordalexander   (2011-04-06 22:42) [26]

Через TRichEdit не всегда каждый тег на своей строке встречаться 2-5 тегов на одной строке как их расставить по строчкам?


 
sniknik ©   (2011-04-06 23:00) [27]

сказка про белого бычка



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.07.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.005 c
15-1301659966
clickmaker
2011-04-01 16:12
2011.07.17
В Гугле открылась отличная вакансия


2-1301942963
lordalexander
2011-04-04 22:49
2011.07.17
старый добрый HTML


1-1258987492
Diplomat
2009-11-23 17:44
2011.07.17
Удалить сведения об ранее подключенных устройствах


15-1301936177
Leon-Z
2011-04-04 20:56
2011.07.17
БД в формате XML ???


2-1301685503
Gu
2011-04-01 23:18
2011.07.17
Еще раз про ani курсоры из ресурсов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский