powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / текст из нтм
18 сообщений из 18, страница 1 из 1
текст из нтм
    #38768410
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В папке куча файлов нтм типа. От 1 до 250000. Задача батником с каждого файла взять по 30 букв из контекста . Повторяю только буквы и никаких body или href так как файлы не тхт а с расширением htm. Имена файлов начинаются от 1.htm до 250000.htm. Возможно некоторых файлов нет так что при несуществующем файле перейти к следующему файлу. Вот примерный грубый алгоритм. Как это осуществить в cmd(батнике)

for i=1 то 250000
if folder1\i.htm exist then read folder1\i.htm,30
next i
...
Рейтинг: 0 / 0
текст из нтм
    #38768778
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj,

for %i in (*.html) do (
:: тут делаешь что-то с каждым файлом, для примера
echo %i
)
...
Рейтинг: 0 / 0
текст из нтм
    #38768783
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj,

А вот с извлечением первых символов без тегов будет проблема - нужна будет какая-то утилитка для парсинга. Парсить файл на cmd - нафиг-нафиг...
...
Рейтинг: 0 / 0
текст из нтм
    #38768857
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача батником не решается. Потребуется внешняя утилита, которая загрузит к себе ХТМЛ и вытащит из него его текстовое представление. В принципе такое вполне реализуется в скрипт-процессинге следующего поколения - VBS либо JS, причём не сказать чтобы сильно сложно.
...
Рейтинг: 0 / 0
текст из нтм
    #38769059
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда если можно на JS объясните пожалуйста , и если можно вывод определённого количества символов на txt файл, разделение надо поставить символом конца строки. И объясните плзз как запустить JS скрипт.
...
Рейтинг: 0 / 0
текст из нтм
    #38769100
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj,

Зачем тебе JS, если ты не знаешь, как его запустить?
...
Рейтинг: 0 / 0
текст из нтм
    #38769866
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот вот, результат любыми возможными путями , в php нашёл вот этот код но видимо где то ошибаюсь

echo file_get_html('http://www.moisait.com/Folder1/5.htm')->plaintext;
...
Рейтинг: 0 / 0
текст из нтм
    #38769871
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или для HTM расширения другое используют?
...
Рейтинг: 0 / 0
текст из нтм
    #38770097
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RomantiktjВот вот, результат любыми возможными путями , в php нашёл вот этот код но видимо где то ошибаюсь

echo file_get_html('http://www.moisait.com/Folder1/5.htm')->plaintext;

И что выводится? Полный код на php можешь привести? И как ты его пытаешься выполнить тоже.
...
Рейтинг: 0 / 0
текст из нтм
    #38770265
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема в том что ничто не выводится, я просто пример с интеа нашёл, результатов никаких, поэтому прошу помощи в вытаскивании текста без тегов из файлов HTM
...
Рейтинг: 0 / 0
текст из нтм
    #38770368
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romantiktj,

Ну а сам PHP у тебя стоит? Или ты просто эту строчку куда-то скопировал и ждешь, что она заработает?
...
Рейтинг: 0 / 0
текст из нтм
    #38770405
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прямо на хосте запускал
<?php

echo file_get_html('http://konun.tmweb.ru/R/2.htm')->plaintext;



?>

результат пустота, но
http://konun.tmweb.ru/R/2.htm
работает
...
Рейтинг: 0 / 0
текст из нтм
    #38770422
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
текст из нтм
    #38770448
Romantiktj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Искал читал и ничё не понял, ещё не дорос видимо, возможно хостер не поддерживает чего либо или же какую библиотеку надо подключить ась?
...
Рейтинг: 0 / 0
текст из нтм
    #38772261
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
   Dim IE,fso,URLStr, dirStart, folder
'---------------------------------------------------------------'    

ScanFolger

'---------------------------------------------------------------'
Function ScanFolger()
Set IE = CreateObject("InternetExplorer.Application")
Set fso =  CreateObject ("Scripting.FileSystemObject")
    IE.Visible = false
	IE.MenuBar = false
	IE.Toolbar = false
	
  dirStart = fso.GetFolder("D:\Projects\FolgerSanGetText\html\") ' здесь указать какую папку сканируем'
set folder = fso.GetFolder( dirStart )

   ProcessDir(folder)
   MsgBox "Готово."
   
End Function
'---------------------------------------------------------------------------'
'обработка  директории' 
Sub ProcessDir( folder )
    dim file, subfolder
    For Each file in folder.Files
    if (InStr(file.Path, ".htm")>0) then
        log( file.Path ) 
		GetText file.Path
        end if        
    next
	
    For Each subfolder in folder.SubFolders
        ProcessDir( subfolder )
    Next
	
End Sub
'---------------------------------------------------------------'
Function GetText(FromFile)

	    URLStr="file:///" & FromFile  
          
        IE.Navigate URLStr
        While IE.readyState < 4
	    Wait 1, "Ждем открытия..."
	    Wend 
 
	    ' здесь текст, сохранение в файл'
	    log IE.document.body.innertext
		
End Function
'---------------------------------------------------------------'
Sub Wait(Seconds, Message) 
  On Error Resume Next 
  CreateObject("wscript.shell").Popup Message, Seconds, "", 64 
End Sub 
'---------------------------------------------------------------'
Sub log(sData) 'Пишем логи'
    Dim ts, ForAppending
    ForAppending = 8
    Set ts = fso.OpenTextFile("D:\Projects\FolgerSanGetText\Innertext.txt", ForAppending, True)
    ts.Write sData & chr(13) & chr(10)
    ts.Close
End Sub



Сохранить в файл с расширением VBS
Исправить пути у папке с HTM файлами и путь к логу
Выполнить.
...
Рейтинг: 0 / 0
текст из нтм
    #38772296
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно проверить, не остаётся ли в списке процессов iexplore
Если остаётся то добавить в скрипт его корректное гашение

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

Можно выкинуть функцию wait
Или исправить так, чтобы не порождала каждый раз объект wscript.shell
...
Рейтинг: 0 / 0
текст из нтм
    #38772320
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И забыл про фреймы - по ним еще нужно цикл сделать и сохранять их текст.
...
Рейтинг: 0 / 0
текст из нтм
    #38772865
ART-CODE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз уж начал, то доделаю:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
   Dim IE,fso, dirStart, folder, Sh, LogFile, DirHTM, FilesCount
'---------------------------------------------------------------'   

ScanFolder

'---------------------------------------------------------------'
Function ScanFolder()
Dim rez
Set IE  = CreateObject("InternetExplorer.Application")
Set fso = CreateObject ("Scripting.FileSystemObject")
Set Sh  = CreateObject("wscript.shell")

    IE.Visible = false
	IE.MenuBar = false
	IE.Toolbar = false
	
	DirHTM = "D:\Projects\HTM"
	LogFile = DirHTM & "\Innertext.txt"
	FilesCount = 0
	
set folder = fso.GetFolder( DirHTM )

   ProcessDir(folder)
   IE.Quit
   rez = "Сканирование в каталога: " & DirHTM & vbcrlf & "завершено, обработано файлов: " & CStr(FilesCount) & vbcrlf & vbcrlf & "Резульат записан в файл: " & vbcrlf & LogFile
   Wait 600, rez
   
End Function
'---------------------------------------------------------------------------'
'обработка  директории '
Sub ProcessDir( folder )
    dim file, subfolder
    For Each file in folder.Files
    if (InStr(file.Path, ".htm")>0) then
	    FilesCount=FilesCount+1
        log( Date & " " & Time & " " & file.Path ) 
		GetText "file:///" & file.Path
        end if        
    next
	
    For Each subfolder in folder.SubFolders
        ProcessDir( subfolder )
    Next
	
End Sub
'---------------------------------------------------------------'
Function GetText(URLStr)
    dim frames, curr_frame, tmp_frame
	       
        IE.Navigate URLStr
        While IE.readyState < 4
	    Wait 1, "Ждем открытия..." & vbcrlf & URLStr
	    Wend 
 
	    'здесь текст, сохранение в файл'
	    log IE.document.body.innertext
		
		' теперь фреймы'
		frames = IE.document.frames.length
		curr_frame=frames
		while curr_frame>0
			log "Frame: " & CStr(curr_frame)
			set tmp_frame=IE.document.frames(curr_frame-1)
			log tmp_frame.document.body.InnerText
		curr_frame=curr_frame-1
		wend

End Function
'---------------------------------------------------------------'
Sub Wait(Seconds, Message) 
  On Error Resume Next 
  Sh.Popup Message, Seconds, "", 64 
End Sub 
'---------------------------------------------------------------'
Sub log(sData)
    Dim ts, ForAppending
    ForAppending = 8
    Set ts = fso.OpenTextFile( LogFile , ForAppending, True)
    ts.Write sData & chr(13) & chr(10)
    ts.Close
End Sub

...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / текст из нтм
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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