迷失的風(fēng)

          就這樣活著
          隨筆 - 1, 文章 - 1, 評(píng)論 - 1, 引用 - 0
          數(shù)據(jù)加載中……

          2008年6月16日

          PostMethod獲取post提交的頁(yè)面代碼

          http://lsg.cnki.net/grid20/Brief.aspx?ID=1&classtype=&systemno=&NaviDatabaseName=&NaviField=

          這個(gè)是中國(guó)期刊網(wǎng)的檢索請(qǐng)求,我現(xiàn)在需要通過(guò)這個(gè)來(lái)獲取檢索出來(lái)的信息,解決方法已經(jīng)有了,就是得不到檢索信息,查詢內(nèi)容是空的。
          應(yīng)該是少add了一些檢索所需內(nèi)容。

          下面是我的代碼
           1import java.io.IOException; 
           2import java.util.Calendar; 
           3import java.util.GregorianCalendar; 
           4import org.apache.commons.httpclient.HttpClient; 
           5import org.apache.commons.httpclient.HttpException; 
           6import org.apache.commons.httpclient.HttpStatus; 
           7import org.apache.commons.httpclient.methods.PostMethod; 
           8
           9
          10public class PostTest 
          11
          12public static void main(String[] args)
          13
          14PostMethod postMethod = new PostMethod("http://lsg.cnki.net/grid20/Brief.aspx?ID=1&classtype=&systemno=&NaviDatabaseName=&NaviField="); 
          15postMethod.addParameter("advancedvalue1","java"); 
          16postMethod.addParameter("advancedfield1","主題"); 
          17postMethod.addParameter("yearstart","1979"); 
          18postMethod.addParameter("yearend",String.valueOf(GregorianCalendar.getInstance().get(Calendar.YEAR))); 
          19postMethod.addParameter("RecordsPerPage","20"); 
          20postMethod.addParameter("SearchRange","All"); 
          21postMethod.addParameter("searchmatch","0"); 
          22postMethod.addParameter("order","dec"); 
          23postMethod.addParameter("display","chinese"); 
          24postMethod.addParameter("NaviDatabaseName","ZJCLS"); 
          25postMethod.addParameter("encode","gb"); 
          26postMethod.addParameter("VarNum","1"); 
          27postMethod.addParameter("singleleafcode","J"); 
          28postMethod.addParameter("strNavigatorName",",A,B,C,D,E,F,G,H,I,J"); 
          29postMethod.addParameter("strNavigatorValue",",理工A(數(shù)學(xué)物理力學(xué)天地生),理工B(化學(xué)化工冶金環(huán)境礦業(yè)),理工C(機(jī)電航空交通水利建筑能源),農(nóng)業(yè),醫(yī)藥衛(wèi)生,文史哲,政治軍事與法律,教育與社會(huì)科學(xué)綜合,電子技術(shù)及信息科學(xué),經(jīng)濟(jì)與管理"); 
          30HttpClient client = new HttpClient(); 
          31client.setConnectionTimeout(1000 * 60); 
          32int status=0
          33try 
          34status = client.executeMethod(postMethod); 
          35}
           catch (HttpException e) 
          36// TODO Auto-generated catch block 
          37e.printStackTrace(); 
          38}
           catch (IOException e) 
          39// TODO Auto-generated catch block 
          40e.printStackTrace(); 
          41}
           
          42if(status==HttpStatus.SC_OK) 
          43makeResponseObject(postMethod.getResponseBodyAsString()); 
          44}
           else 
          45}
           
          46postMethod.releaseConnection(); 
          47
          48}
           
          49// 根據(jù)HTTP請(qǐng)求后返回的字串生成結(jié)果封裝類的實(shí)例 
          50private static void makeResponseObject(String sResponse) 
          51System.out.println("-------------------"+sResponse); 
          52System.out.println("-------------------"); 
          53String regExNums = "<TD\\s*style=\"FONT-SIZE:\\s*9pt;\\s*COLOR:\\s*#000000;\\s*WORD-WRAP:\\s*break-word\"\\s*vAlign=center\\s*bgColor=#f4f5f6\\s*height=30>\\s*共有記錄\\s*(\\d+)\\s*條\\s* \\s*</TD>"
          54String regExData = "<TR>\\s*<TD\\s*style=\"FONT-SIZE:\\s*9pt;\\s*WORD-WRAP:\\s*break-word\"\\s*(?:align=left)?\\s*bgColor=#\\S+\\s*>([\\s\\S]*?)</TR>"
          55String regExPage = "<TD\\s*style=\"FONT-SIZE:\\s*9pt;\\s*COLOR:\\s*#000000;\\s*WORD-WRAP:\\s*break-word\"\\s*vAlign=center\\s*bgColor=#f4f5f6\\s*height=30>\\s*<A\\s*href=\"(.*)\">(?:上頁(yè)|下頁(yè))</A>"
          56}
           
          57
          58}
           
          59

          哪位大哥幫幫忙,解決下

          posted @ 2008-06-16 10:25 迷失的風(fēng) 閱讀(3261) | 評(píng)論 (1)編輯 收藏

          主站蜘蛛池模板: 和硕县| 绵阳市| 广东省| 巴青县| 河源市| 会东县| 安多县| 集安市| 大石桥市| 沙田区| 靖宇县| 兴隆县| 阜康市| 墨玉县| 勃利县| 巢湖市| 平利县| 曲靖市| 赫章县| 布拖县| 札达县| 凌云县| 额敏县| 广河县| 黄龙县| 荥阳市| 曲沃县| 宁河县| 镇坪县| 司法| 赫章县| 布拖县| 隆尧县| 玉田县| 丹阳市| 尉氏县| 武穴市| 广宗县| 霸州市| 台北市| 金乡县|