2012-02-27 2 views
0

У меня есть тысячи html-файлов, и вам нужно сохранить каждый из них как txt, используя firefox.Сохраните тысячи html-файлов в виде файлов txt, используя firefox - как автоматизировать эту работу?

Если я сделаю это задание вручную, я открою каждый файл html в firefox, откройте меню «Файл», выберите пункт «Сохранить страницу как», затем выберите формат «ТЕКСТ» и сохраните его на локальный диск.

Но как автоматизировать эту работу?

Любой скрипт/инструмент может помочь в этом?

Спасибо.

+0

Знаете ли вы языки скриптинга? В какой системе вы работаете? – jdi

+0

Любой язык скриптов - это хорошо. Я предполагаю, что здесь не требуется слишком много программирования скриптов. Платформа Windows. – Hardbone

+0

Другой вариант использует текстовый браузер http://en.wikipedia.org/wiki/Lynx_%28web_browser%29 – Hardbone

ответ

1

У меня есть тысячи файлов HTML ...

ли вы на самом деле эти файлы на руку, или они в Интернете?

... и нужно сохранить каждую из них как TXT ...

Любой текстовый редактор должен иметь возможность сохранить данные в пределах (т.е. почему использовать FireFox), и я думаю, что прямая переименовать .htm или .html в .txt. будет работать (по крайней мере, в любой системе Windows). Или вы имеете в виду: сохранить только текст в формате HTML?


EDIT:

Во-первых, начать с this link, которая имеет хорошее объяснение того, как приступить к работе с shdocvw, что вам нужно будет сделать это. После того, как у вас есть ссылка настроить, используя функции

Function GetNewIE() As SHDocVw.InternetExplorer 

и

Function LoadWebPage(i_IE As SHDocVw.InternetExplorer, i_URL As String) As Boolean 

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

Dim IE As SHDocVw.InternetExplorer 
Dim lRow as Long 'Long in case you have a LOT of files 
Dim iFNum As Integer 
Dim sFilePath As String 

Set IE = GetNewIE 
For lRow = 1 To 5000 Step 1 ' Assuming you have 5,000 html files, so 5,000 rows with the paths to each 
    sFilePath = ActiveSheet.Range("A" & lRow).Value ' This should also include the filepath. i.e. "C:\dir\..." 
    If LoadWebPage(IE, sFilePath) Then 
     iFNum = FreeFile(lRow) 
     Open sFilePath & ".txt" For Output As iFNum 
     Write #iFNum, IE.Document.InnerText 
     Close #iFNum 
    End If 
Next lRow 
+0

1. Эти файлы сохраняются на локальном диске, а не в онлайн-файлах html. – Hardbone

+0

2. Я хочу использовать Firefox для работы в html-strip, потому что Firefox может хорошо справиться с этой задачей. Да, я хочу сохранить только отображаемый текст html-файла, без каких-либо html-тегов/css/javascript. – Hardbone

+0

У меня есть хороший опыт с этим в ** IE ** с использованием VBA. Вы можете использовать VBA? (Я считаю, что только небольшие изменения потребуются для работы с FF.) – Gaffi

2

Если ваша цель - получить firefox, чтобы удалить html из каждой страницы и сохранить только текст, тогда есть тонна опций. Я не знает ни Firefox дополнения, которые будут интеллигентными достаточно перебрать каждый файл в каталоге, чтобы выполнить макрос, так вот несколько вариантов:

  1. Refer to this SO question regarding how to use python to strip the html из каждого файла. Он содержит примеры как для встроенного HTMLParser модуля и для использования BeautifulSoup

  2. Использование Selenium для автоматизации WebBrowser: http://seleniumhq.org/

  3. Если вы знаете JavaScript, вы можете использовать PhantomJS: http://www.phantomjs.org/, что безголовый веб браузер, который вы диск с javascript скриптами.

Смежные вопросы