掲示板

掲示板の最新投稿(1ページ分のみ)チェックScript【sample】

最新投稿の見出し一覧だけを表示するScriptを作りました。
 ①browse.js :処理本体のScript
 ②test.bat  :①を呼び出すBATファイル
 ※やはり、
  とりあえず動きはする程度のモノ(sample)です。
  (実行、確認はWindows10[64bit]で行いました)

  mineoスイッチを使用中等、
  PCでWeb Bowserを開いて王国広場を確認すると
  表示されるまでとても遅い時などに、

  誰がどういったTopicを投稿したかを
  サラっと確認するくらいにしか使えませんが...

ただそれだけなんです。。。

①browse.js

var target_url = WScript.Arguments.Unnamed(0);

var page_txt = get_page_txt( target_url );
WScript.Echo( page_txt );
WScript.Quit();

// ---------- 関数 ----------
function get_page_txt( target_url )
{
var xhr = new ActiveXObject('MSXML2.XMLHTTP');
xhr.open("GET", target_url);
xhr.send();
while( true )
{
WScript.Sleep(100);
if( xhr.readystate == 4 )
{
var s = xhr.responseText
.replace( / /gi, " " )
.replace( /&lt;/gi, "<" )
.replace( /&gt;/gi, ">" )
.replace( /&quot;/gi, "'" )
;

// 主要タグ除去
s = s
.replace(/<head.*?>((\n|\r|.)*?)<\/head>/i, "")
.replace(/<script.*?>((\n|\r|.)*?)<\/script>/gi, "")
.replace(/<style.*?>((\n|\r|.)*?)<\/style>/gi, "")
.replace(/<span .*?>((\n|\r|.)*?)<\/span>/gi, "")
;

// 行別に加工
var arr = s.split(/(\r\n|\n)/);
for( var i = 0; i < arr.length; i ++ )
{
var line_old = arr[i];
var line_new = line_old
.replace( /<br *\/?>/gi, "\r\n" )
.replace( /<a class="list-group-item" href="(.*)">/gi, "◆Link: )
.replace( /<b class="text-link title-link">(.*)<\/b>/gi, "< Title :$1" )
.replace( /<p class="small">(.*)<\/p>/gi, "< Member:$1" )
.replace( /<b class="small text-muted">.*<\/b>/g, "" )
.replace( /<[^>]+>[0-9]{1,}<[^>]+>/g, "" )
.replace( /<[^>]+>([0-9]+\.[0-9]+\.[0-9]+)<[^>]+>/g, "" )
.replace( /<[^>]+>/g, "" )
.replace( /^[  \t]*/g, "" )
.replace( /アンケート回答数の多い順/g, "$" )
;
arr[i] = line_new;
}
// トリム
for( var i = arr.length - 1; i >= 0; i -- )
{
var line = arr[i];
if( line.length == 0 || line.match( /^[  \t\r\n]*$/ ) )
{
arr.splice( i, 1 );
}
}
s = arr.join("\r\n");
// 不要部分消去
s = s.replace( /◆Link:/g, "◆");
s = s.replace( /Copyright[\s\S]*?>/, "");
s = s.replace( /テーマとカテゴリーで絞り込み[\s\S]*?運営会社\r\n/, "");
s = s.replace( /注目の投稿[\s\S]*?新着順\r\n/, "");
s = s.replace( /検索[\s\S]*?$\r\n/, "");
s = s.replace( /< /g, " ");

return s;
}
}

}

②test.bat

cscript //nologo //E:JScript "%~dp0\browse.js" https://king.mineo.jp/reports
pause


1 件のコメント
1 - 1 / 1
永芳
永芳さん・投稿者
SGマスタ

DIFF.jpg

読み返してみたところ、投稿時に本文内に書き込んだScript内の特定の文字列(URL部分)が、システムにより自動的に削除された様ですので画像で訂正致します。

Postscript
追記ついでに。

そのままでも動きはしますが、
BATファイルで若干の誤りがありましたので併せて訂正します。
 誤 : "%~dp0\browse.js"
 正 : "%~dp0browse.js"
コメントするには、ログインまたはメンバー登録(無料)が必要です。