HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0507
名無しHSP_Forum_logのようなものを作成するツール作ってみた5解決


名無し

リンク

2015/5/7(Thu) 15:31:16|NO.69041

読んで字のごとくです。

・各スレのURLは次の通り
 過去ログ:http://hsp.tv/play/pforum.php?mode=pastwch&num={番号}
 現在ログ:http://hsp.tv/play/pforum.php?mode=all&num={番号}
・現在ログをmode=pastwchで読もうとすると一覧ページ
 (http://hsp.tv/play/pforum.php)に無条件で飛ばされ、
 過去ログをmode=allで読もうとするとmode=pastwchにリダイレクトされる。
 要するに全部mode=allで読めばオーケー
・HSP_Forum_logの最後のログはこちら。ここから更新がない現状
 http://hsp.tv/play/pforum.php?mode=pastwch&num=58303
・HSP_Forum_logでは次のような処理が行われている模様
 Shift_JIS+CRLFへの変換
  ↓
 DOCTYPEの削除、<head>内の大幅な簡略化(テンプレ?)、
 題名の抽出、各レス毎に付く余計なタグの削除
・とりあえず見よう見まねででっち上げたコンバータなので精度はご容赦



この記事に返信する


名無し

リンク

2015/5/7(Thu) 15:32:15|NO.69042

で、実際のコードはこちらになります
※無闇に走らせないで下さい


#include "hspinet.as" #module #defcfunc clip var text, int p, str str1, str str2 p1 = instr(text, p, str1) if(p1 == -1) :return "" p2 = instr(text, p + p1 + strlen(str1), str2) if(p2 == -1) :return "" return strmid(text, p + p1 + strlen(str1), p2) #global string1 = "margin-top:1px;\">" string2 = "</a>" string3 = "width=\"130\"><p>" string4 = "</p>" netinit ;netproxy "hogehoge.jp",8080 ;number = 56422 number = 68835 //ダウンロード neturl "http://hsp.tv/play/" netrequest_get "pforum.php?mode=all&num=" + number repeat netexec res if(res != 0) :break await 5 loop if(res < 0) :stop netgetv retval nkfcnv decoded, retval, "-c", -1, 32000 //加工 sdim output, 32000 output += "<html lang=\"ja\">\n" output += "<head>\n" output += "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n" output += "<meta http-equiv=\"Content-Style-Type\" content=\"text/css\">\n" output += "<title>\n" output += clip(decoded, 0, "margin-top:1px;\">", "</a>") + "\n</title>\n" output += "</head>\n" output += "<body>\n" output += "<font color=\"midnightblue\">" output += "<big>" output += clip(decoded, 0, "margin-top:1px;\">", "</a>") + "</big>" output += "</font>" output += "<br>" output += "<hr>" ;ループ p = instr(decoded, 0 ,"<a name=") + strlen("<a name=") repeat output += "<font color=\"royalblue\">" output += clip(decoded, p, "width=\"130\"><p>", "</p>") + "</font>" output += "<small>        " output += clip(decoded, p, "<p class=\"numberres\">\n", "<span>") + "" output += "<span>|</span>" output += clip(decoded, p, "</span>", "</p>") + "" output += "</small>" output += "<br>" output += "<br>" output += clip(decoded, p, "<div class=\"main\">\n", "</div>") + "<br><hr>" if(instr(decoded, p ,"<a name=") == -1) :break p += instr(decoded, p ,"<a name=") + strlen("<a name=") loop output += "</body>\n</html> \n" notesel output :notesave strf("%06d", number) + "_.htm" end



名無し

リンク

2015/5/7(Thu) 15:33:54|NO.69043

ところで、これで例えば
http://hsp.tv/play/pforum.php?mode=all&num=56422
を読みに行った場合、タイトルバーの文字が
「大至急! ツールチップ llmod3について 」
になりますが、元ネタだと
「[943577] 大至急! ツールチップ llmod3について 」
になってるんですよね……この前の数字なんなの?



名無し

リンク

2015/5/7(Thu) 15:36:41|NO.69044

うーん、適当に走らせると、リダイレクトしてトップページに飛ぶ可能性があるな……
その辺も対策するか



名無し

リンク

2015/5/7(Thu) 16:12:30|NO.69045

ちなみにこの見よう見まねで生成した方をhdl.exeに読ませるとちゃんと検索可能。よかったよかった



名無し

リンク

2015/5/7(Thu) 17:48:55|NO.69047

はい、HSP_Forum_logの更新版()一丁上がり! みんなDLしてねー
https://drive.google.com/file/d/0B22mWPiNr-6-aXRQdjJaRk9xWnM/view?usp=sharing

※こちらでDLしたのは
http://hsp.tv/play/pforum.php?mode=all&num=56423
以降となります。また、フォルダ名は「HSP_Forum_log_」としましたので
旧HSP_Forum_logとは別に扱えます



ONION software Copyright 1997-2023(c) All rights reserved.