いちいちページをクリックして逐一確認する必要があるので面倒に感じます。
一応、未解決の質問だけリストアップするプログラムは作りましたが、
こんなのが要らなくなるように機能追加していただけませんかね……?
#include "hspinet.as" //定数宣言 #const kPages 15 #const kThreads 20 string1 = "<tr height=\"20\">" strlen1 = strlen(string1) string2 = "margin-top:1px;\">" strlen2 = strlen(string2) string3 = "</a>" strlen3 = strlen(string3) sdim string4, 1024 string4 = "<img src=\"../images/new.gif\" alt=\"\" height=\"11\" width=\"21\" border=\"0\" style=\"margin-left:2px;\">" strlen4 = strlen(string4) string5 = "num=" strlen5 = strlen(string5) //バッファを宣言 sdim output, 32000 output = "件名\tURL\n" sdim croped_text, 32000 sdim question_text, 32000 sdim subject, 1024 //画面描画 screen 0, 400, 400 mesbox output, 400, 400, 4 //DLおよび解析処理 netinit repeat kPages title "ダウンロード中……(" + (cnt + 1) + "/" + kPages + ")" //スレッド一覧を取得 neturl "http://hsp.tv/play/" netrequest_get "pforum.php?pn=" + cnt repeat netexec res if(res != 0) :break wait 5 loop if(res < 0) :stop netgetv retval //ShiftJIS、かつCR+LFに形式変換 nkfcnv decoded, retval, "-c", -1, 32000 ; notesel decoded :notesave "temp1.txt" //HTMLを解析して、質問者・件名・URLを取得する ;検索範囲を限定する p1 = instr(decoded, ,"mark_res") p2 = instr(decoded, p1 ,"mark_page") if((p1 == -1) || (p2 == -1)) :continue croped_text = strmid(decoded, p1, p2) ; notesel croped_text :notesave "temp2.txt" ;特徴的な文字列からHTMLを解析する croped_text += string1 p1 = instr(croped_text,,string1) for k, 0, kThreads ;1件づつ問題を切り出す p2 = instr(croped_text, p1 + strlen1, string1) question_text = strmid(croped_text, p1, p2) ; notesel question_text :notesave "temp3.txt" ;未解決問題であることを確認する if(instr(question_text,,"icon_mikaiketsu") != -1){ ;件名を取得する p3 = instr(question_text,,string2) + strlen2 p4 = instr(question_text, p3, string3) subject = strmid(question_text, p3, p4) strrep subject, string4, "" output += subject + "\t" ;URLを取得する p3 = instr(question_text,,string5) + strlen5 p4 = instr(question_text, p3, "\"") url = strmid(question_text, p3, p4) output += "http://hsp.tv/play/pforum.php?mode=all&num=" + url + "\n" } p1 += p2 + strlen1 next loop //出力 title "完了!" objprm 0, output stop