2012-02-27 3 views
0

私は何千ものhtmlファイルを持っており、それらをfirefoxを使ってtxtとして保存する必要があります。何千ものhtmlファイルをtxtファイルとして保存し、firefoxを使ってこの仕事を自動化する方法は?

私はこのジョブを手動で行うと、firefoxで各htmlファイルを開き、「ファイル」メニューをクリックし、「ページを名前を付けて保存」メニュー項目をクリックして、「テキスト」としてフォーマットを選択してローカルディスクに保存します。

しかし、この仕事を自動化するには?

どのようなスクリプト/ツールを使用しても問題ありませんか?

ありがとうございました。

+0

どのスクリプト言語も知っていますか?あなたはどんなシステムにいますか? – jdi

+0

スクリプト言語はすべてOkです。あまりにも多くのスクリプトのプログラミングはここで必要と仮定します。 Windowsプラットフォーム。 – Hardbone

+0

別のオプションは、テキストブラウザhttp://en.wikipedia.org/wiki/Lynx_%28web_browser%29 – Hardbone

答えて

1

私はhtmlファイルの数千を持っている...

は、あなたが実際に手にこれらのファイルを持っていますか、または彼らがオンラインでありますか?

...とTXTとしてそれらのそれぞれを保存する必要が...

任意のテキストエディタは、内のデータを保存することができるはずです(つまり、なぜFirefoxを使用して)、と私はストレートだと思います.htmまたは.htmlの名前を.txtに変更します。少なくとも(すべてのWindowsシステムで)動作します。つまり、と表示されているのは、のHTMLファイルのテキストですか?


EDIT:

まず、あなたがこれを行う必要がありますSHDOCVW、使用を開始する方法の良い説明を有し、this linkで始めます。あなたは参照が機能

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がこの仕事をうまくやることができるので、私はFirefoxを使ってhtml版の仕事をしたいと思います。はい、HTMLタグ/ css/javascriptがなくても、htmlファイルの表示されたテキストだけを保存します。 – Hardbone

+0

私は** IE **でVBAを使ってこの経験があります。あなたはVBAを使用することはできますか? (私はFFでその仕事をするには小さな変更が必要だと信じています) – Gaffi

2

あなたの目標が、各ページからhtmlを取り除き、テキストだけを保存することをファイアウォールにさせるのであれば、たくさんのオプションがあります。各ファイルから

  1. Refer to this SO question regarding how to use python to strip the html:私はので、ここでいくつかのオプションがあり、マクロを実行するために、ディレクトリ内のすべてのファイルをループに十分なインテリジェントになります任意のFirefoxのアドオンを認識していませんよ。それはHTMLParserモジュールに建てられ、あなたのウェブブラウザを自動化するBeautifulSoup

  2. 利用セレンを使用するための両方のための例を提供します:http://seleniumhq.org/

  3. JavaScriptを知っていれば、あなたはPhantomJSを使用することができます。 http://www.phantomjs.org/、ヘッドレスウェブでありますあなたが のjavascriptスクリプトで駆動するブラウザ。

関連する問題