spider.get("http://acm.nbut.edu.cn/Problem/view.xhtml?id=" + id, function(data, status, respheader) {
            var prob = util.problemObject.create("http://acm.nbut.edu.cn/");

            prob.setHtml(util.unixify(data));

            prob.setID(id);
            prob.setTitle(/<li id="title"><h3>\[[\d]+] (.*)<\/h3><\/li>/);
            prob.setTime(/时间限制: ([\d]+) ms/);
            prob.setMemo(/内存限制: ([\d]+) K/);
            prob.setDescription(/<li class="contents" id="description">[\s]*<div>[\s]*([\s\S]*)[\s]*<\/div>[\s]*<\/li>[\s]*<li class="titles" id="input-title">输入<\/li>/);
            prob.setInput(/<li class="contents" id="input">[\s]*<div>[\s]*([\s\S]*)[\s]*<\/div>[\s]*<\/li>[\s]*<li class="titles" id="output-title">输出<\/li>/);
            prob.setOutput(/<li class="contents" id="output">[\s]*<div>[\s]*([\s\S]*)[\s]*<\/div>[\s]*<\/li>[\s]*<li class="titles" id="sampleinput-title">样例输入<\/li>/);
            prob.setSampleInput(/<li class="contents" id="sampleinput">[\s]*<pre>([\s\S]*)<\/pre>[\s]*<\/li>[\s]*<li class="titles" id="sampleoutput-title">样例输出<\/li>/);
            prob.setSampleOutput(/<li class="contents" id="sampleoutput">[\s]*<pre>([\s\S]*)<\/pre>[\s]*<\/li>[\s]*<li class="titles" id="hint-title">提示<\/li>/);
            prob.setHint(/<li class="contents" id="hint">([\s\S]*)<\/li>[\s]*<li class="titles" id="source-title">来源<\/li>/);
            prob.setSource(/<li class="contents" id="source">([\s\S]*)<\/li>[\s]*<li class="titles" id="operation-title">操作<\/li>/);

            prob.setHtml(util.unixify(listData));

            var regStr = '<td style="text-align: center;" class="br">' + id + '</td>[\\s]*<td class="br"><a href="/Problem/view.xhtml\\?id=' + id + '">.*</a></td>[\\s]*<td style="text-align: center;">';
            var regStr1 = regStr + "([\\d]+) / [\\d]+ (.*)</td>";
            var regStr2 = regStr + "[\\d]+ / ([\\d]+) (.*)</td>";
            prob.setSubmitCount(new RegExp(regStr2));
            prob.setAcceptedCount(new RegExp(regStr1));
            prob.calcRatio();

            prob.remotify();
            prob.clearHtml();

            serverCallback("NOJ", prob, resp);
        });
        spider.get("http://acms.lsu.edu.cn:81/OnlineJudge/showproblem?problem_id=" + id, function(data, status, respheader) {
            var prob = util.problemObject.create();

            prob.setHtml(util.unixify(data));

            prob.setID(id);
            prob.setTitle(/<title>\d{4} -- ([\s\S]*)<\/title>/);
            prob.setTime(/Time Limit:([\d]+)MS&nbsp; Memory Limit:[\d]+K/);
            prob.setMemo(/Time Limit:[\d]+MS&nbsp; Memory Limit:([\d]+)K/);
            prob.setSubmitCount(/Total Submit:([\d]+) Accepted:[\d]+/);
            prob.setAcceptedCount(/Total Submit:[\d]+ Accepted:([\d]+)/);
            prob.calcRatio();
            prob.setDescription(/<font color="#333399" size="5">Description<\/font>[\s\S]*<font face="Times New Roman" size="3">([\s\S]*)<\/font><\/p>[\s\S]*<font color="#333399" size="5">Input<\/font>/);
            prob.setInput(/<font color="#333399" size="5">Input<\/font>[\s\S]*<font face="Times New Roman" size="3">([\s\S]*)<\/font><\/p>[\s\S]*<font color="#333399" size="5">Output<\/font>/);
            prob.setOutput(/<font color="#333399" size="5">Output<\/font>[\s\S]*<font face="Times New Roman" size="3">([\s\S]*)<\/font><\/p>[\s\S]*<font color="#333399" size="5">Sample Input<\/font>/);
            prob.setSampleInput(/<font color="#333399" size="5">Sample Input<\/font>[\s\S]*<font face="Times New Roman" size="3"><pre>\n([\s\S]*)<\/pre><\/font><\/p>[\s\S]*<font color="#333399" size="5">Sample Output<\/font>/);
            prob.setSampleOutput(/<font color="#333399" size="5">Sample Output<\/font>[\s\S]*<font face="Times New Roman" size="3"><pre>\n([\s\S]*)<\/pre><\/font><\/p>[\s\S]*<font color="#333399" size="5">[\s\S]*<\/font>/);
            prob.setHint(/<font color="#333399" size="5">Hint<\/font>[\s\S]*<font face="Times New Roman" size="3">([\s\S]*)<\/font><\/p>[\s\S]*<font color="#333399" size="5">Source<\/font>/);
            prob.setSource(/<font color="#333399" size="5">Source<\/font>[\s\S]*<font face="Times New Roman" size="3">([\s\S]*)<\/font><\/p>[\s\S]*<\/table>/);

            prob.clearHtml();

            serverCallback("LSUOJ", prob, resp)
        }, "gbk");