powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как прочитать данные из .Htm ?
11 сообщений из 11, страница 1 из 1
Как прочитать данные из .Htm ?
    #32930374
nataSid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я получаю данные формата .htm довольно большого объема, так что перевод в Excel занимает много времени. Мне нужна только одна колонка из этого отчета.
Как я могу получить одну колонку автоматически с помощью VFP из файла .htm ?
...
Рейтинг: 0 / 0
Как прочитать данные из .Htm ?
    #32930421
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не смотря на то, что HTM в Excel грузиться долго, думаю это самый оптимальный вариант. А иначе ручной разбор страницы и выуживание нужной информации.
...
Рейтинг: 0 / 0
Как прочитать данные из .Htm ?
    #32930509
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По тегам, например, так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
* 1 . Получить из HTML файла строку любым способом.
* 2 . Искать нужные вхождения, например, начало:
*<TD WIDTH=* CLASS="msgbody">
*, а конец - первый после этого
*</TD>
*и выкусывать по одному (например, с помощью at() в цикле).
*Строку при этом можно урезать с начала.
* 3 .Каждое вхождение сохранять в ячейке EXCEL
Может, будет быстрее, а может и нет.
...
Рейтинг: 0 / 0
Как прочитать данные из .Htm ?
    #32930552
anKr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UrriПо тегам, например, так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
* 1 . Получить из HTML файла строку любым способом.
* 2 . Искать нужные вхождения, например, начало:
*<TD WIDTH=* CLASS="msgbody">
*, а конец - первый после этого
*</TD>
*и выкусывать по одному (например, с помощью at() в цикле).
*Строку при этом можно урезать с начала.
* 3 .Каждое вхождение сохранять в ячейке EXCEL
Может, будет быстрее, а может и нет.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  lcHtml = GETFILE( "HTML" )
  lcStr = FILETOSTR( lcHtml )
  lcData = ""
  IF ATC( [CLASS="msgbody"], lcStr ) #  0  
     lcData = STREXTRACT( lcStr, [CLASS="msgbody"], [</TD>] ) 
  ENDIF
  ? lcData 
...
Рейтинг: 0 / 0
Как прочитать данные из .Htm ?
    #32930583
nataSid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CLASS="msgbody"
msgbody я должна точно знать? Я только знаю, что мне нужны данные в определенной колонке. А какие они будут я не знаю. Что мне писать на месте "msgbody" ?
...
Рейтинг: 0 / 0
Как прочитать данные из .Htm ?
    #32930591
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну положим тэги можно отсеч сразу
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
LOCAL loInetApp as Object 

loInetApp = CreateObject('InternetExplorer.Application')  
loInetApp.Navigate(<HTMfileName>)  
PUBLIC lcDocumentText as memo

lcDocumentText = ""
* Только текст из тела документа
lcDocumentText=loInetApp.Document.activeElement.outertext

А дальше ручной разбор инфы.
...
Рейтинг: 0 / 0
Как прочитать данные из .Htm ?
    #32930908
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nataSidCLASS="msgbody"
msgbody я должна точно знать? Я только знаю, что мне нужны данные в определенной колонке. А какие они будут я не знаю. Что мне писать на месте "msgbody" ?
Ната, это просто пример: я открыл текущую страницу в notepad'е и придумал, что хочу сохранить только тексты всех сообщений с нее. Без заголовков и данных об авторе. И 'CLASS="msgbody"' - это не более чем строковая константа, по которой я ищу начало каждого сообщения.
...
Рейтинг: 0 / 0
Как прочитать данные из .Htm ?
    #32930960
nataSid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожелению файл мой большой на 154 страницы
Команда

lcDocumentText=loInetApp.Document.activeElement.outertext

охватывает только 20 страниц, видимо ширина memo маленькая, но больше ее нет смысла делать.

Как мне сделать цикл, пока файл .htm не кончится ?
...
Рейтинг: 0 / 0
Как прочитать данные из .Htm ?
    #32931043
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Придется немного изменить код.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
LOCAL loInetApp as Object 

loInetApp = CreateObject('InternetExplorer.Application')  
loInetApp.Navigate(<HTMfileName>) 
 
* Ждем пока документ загрузится
Do While loInetApp.ReadyState #  [b]4 
   DoEvents  
Enddo[/b]

PUBLIC lcDocumentText as memo

lcDocumentText = ""
* Только текст из тела документа
lcDocumentText=loInetApp.Document.activeElement.outertext

P.S. Детализированный отчет МТС по компании тоже не маленький
...
Рейтинг: 0 / 0
Как прочитать данные из .Htm ?
    #32931072
nataSid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем!

никогда бы не додумалось, что дело в короткой загрузке!
...
Рейтинг: 0 / 0
Как прочитать данные из .Htm ?
    #32932352
Как вариант - ставим Perl или Php пишем простейший парсер, благо там регулярные выражения и шаблоны ОЙОЙОЙ крутые :) и используем сначало скрипт или в инете находим конвертер Perl->exe и делаем экзешник!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как прочитать данные из .Htm ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]