這篇文章主要介紹了java爬蟲實(shí)戰(zhàn)之模擬登陸的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了文峰免費(fèi)建站歡迎大家使用!
Java是一門面向?qū)ο缶幊陶Z言,可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序。
使用jsoup工具可以解析某個(gè)URL地址、HTML文本內(nèi)容,是java爬蟲很好的優(yōu)勢(shì),也是我們?cè)诰W(wǎng)絡(luò)爬蟲不可缺少的工具。本文小編帶領(lǐng)大家使用jsoup 實(shí)現(xiàn)java爬蟲模擬登陸,通過省力的API,很好的實(shí)現(xiàn)java爬蟲模擬登陸。
一、使用工具:Jsoup
jsoup 是一款Java 的HTML解析器,可直接解析某個(gè)URL地址、HTML文本內(nèi)容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數(shù)據(jù)。
二、實(shí)現(xiàn)java爬蟲模擬登陸
1、確定想要爬取的url
import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.Map.Entry; import java.util.Set; import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; public class SplitTable { public static void main(String[] args) throws IOException { //想要爬取的url String url = "http://jwcnew.nefu.edu.cn/dblydx_jsxsd/xskb/xskb_list.do? Ves632DSdyV=NEW_XSD_PYGL"; String username = ""; String password = ""; String sessionId = getSessionInfo(username,password); spiderWebSite(sessionId,url); }
2、獲取sessionId
private static String getSessionInfo(String username,String password) throws IOException{
3、登錄網(wǎng)站,返回sessionId信息
Connection.Response res = Jsoup.connect("http://jwcnew.nefu.edu.cn/dblydx_jsxsd/xk/LoginToXk")
4、獲得sessionId
String sessionId = res.cookie("JSESSIONID"); System.out.println(sessionId); return sessionId; }
5、爬取內(nèi)容
private static void spiderWebSite(String sessionId,String url) throws IOException{ //爬取 Document doc = Jsoup.connect(url).cookie("JSESSIONID", sessionId).timeout(10000).get(); Element table = doc.getElementById("kbtable"); //System.out.println(table); BufferedWriter bw = new BufferedWriter (new OutputStreamWriter(new FileOutputStream("F:/table.html"))); bw.write(new String(table.toString().getBytes())); bw.flush(); bw.close(); } }
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“java爬蟲實(shí)戰(zhàn)之模擬登陸的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!