私は1000のURLを持っています。 URLを取得し、そのページに表示されるすべてのテキストをエクスポートするツールが必要です。 私は背景がhtmlコードではなく、Webページに表示されるテキストが必要です。ウェブページ(1000ページ)にテキストを保存
あなたはどのようなソフトウェアや方法を知っていますか?
私は1000のURLを持っています。 URLを取得し、そのページに表示されるすべてのテキストをエクスポートするツールが必要です。 私は背景がhtmlコードではなく、Webページに表示されるテキストが必要です。ウェブページ(1000ページ)にテキストを保存
あなたはどのようなソフトウェアや方法を知っていますか?
batファイル(すなわちinnerTextGet.bat
)としてこれを保存します。それは、フェールセーフされていない
call innerTextGet.bat "https://stackoverflow.com/questions/46611374/save-texts-on-webpages-1000-pages" result.txt
- 場合は、結果のファイルが既に存在するかどうかをチェックしません:
@if (@X)==(@Y) @end /* JScript comment
@echo off
cscript //E:JScript //nologo "%~f0" %*
::pause
exit /b %errorlevel%
@if (@X)==(@Y) @end JScript comment */
var link=WScript.Arguments.Item(0);
var saveTo=WScript.Arguments.Item(1);
var IE = new ActiveXObject("InternetExplorer.Application");
IE.Visible=false;
IE.Navigate2(link);
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
var counter=0;
while (IE.Busy && counter<60*60*10) {
//WScript.Echo(IE.Busy);
sleep(1000);
counter++;
}
if(IE.Busy){
WScript.Echo("Cant wait 4ever");
WScript.Quit(10);
}
function writeContent(file,content) {
var ado = WScript.CreateObject("ADODB.Stream");
ado.Type = 2; // adTypeText = 2
ado.CharSet = "iso-8859-1"; // right code page for output (no adjustments)
//ado.Mode=2;
ado.Open();
ado.WriteText(content);
ado.SaveToFile(file, 2);
ado.Close();
}
var innerText=IE.document.body.innerText;
IE.Quit();
writeContent(saveTo,innerText);
など、それを使用パラメータはcorectlyに渡されますが、それは少なくとも動作します。バッチファイルに差し込むことが容易であるので、私はJScriptのをprefferものの@omegastripesによって提案されたように、それは再びInternetExplorer.Application
オブジェクトのinnerText
プロパティを使用しています。
リンクがどこに格納されているかについての情報がありませんでしたので、私はあなたがそれらを読み、反復する方法を知っていることを前提としています。
チェック[この回答](https://stackoverflow.com/a/21490198/2165759) – omegastripes
'lynx'多分? http://lynx.browser.org –
@MarkSetchell - lynxは古代であり、javascriptをレンダリングできません。現代的な選択肢はphantomjs – npocmaka