拿網頁代碼的一些小方法

 目前我正在使用的一些拿網頁代碼的一些小方法:

Ø 在網頁鏈接後追加參數進行傳參,然後直接用Jsoup post或者get網頁代碼,這個是最簡單的,如果可用使用,一般優先使用,特別是選擇時間範圍的網站,如http://www.nbct.com.cn:7001/nbct/qryChuanBoYuGao.jsp?date1=#{BeginTime}&date2=#{EndTime}&submit=%B2%E9+%D1%AF

一般性追加寫法:(假如鏈接是.jsp結束的)"?username=#{username}&pwd=#{pwd}&submit=submit",注意,當要追加的內容含有特殊字符,如空格等,要轉換爲html格式,如使用super.getHTMLEnCode(datelastString);轉化

Ø 直接用Jsoup傳參,設置需要傳遞的參數,直接post網頁代碼,這時候注意type=hide的input標籤。如

Document doc = Jsoup.connect(websiteURL.getWebURLOne())

                                  .data("query", "Java")

                                  .data("ename", vesselname)

                                  .timeout(60000).post();


Ø 使用網頁模擬點擊獲得網頁代碼,如:

webClient = new WebClient();

webClient.getOptions().setTimeout(30000);

page = webClient.getPage(websiteURL.getWebURLOne());

                     vessel = page.getElementByName("txtShipname");

                     voyagein = page.getElementByName(voyageiInOrOut);

                     search = (HtmlElement) page.getElementById("btnSearch");

                     vessel.focus();

                     vessel.type(vesselname);

                     voyagein.focus();

                     voyagein.type(voyage);

                     page = search.click();

doc = Jsoup.parse(page.asXml());


最後,將捕獲到的網頁代碼進行Jsoup解析出我們需要的數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章