使用WebClient爬文時
如果非單純的靜態網頁
就需要多增加設定 才可以取得想要的
爬文的流程 取得畫面上的html原始碼
再將原始碼轉換成JSOUP文件處理
wc = new WebClient();
wc.addRequestHeader("Accept-Charset", "utf-8");
// 開啟js
wc.getOptions().setJavaScriptEnabled(true);
// 支援ajax
wc.setAjaxController(new NicelyResynchronizingAjaxController());
wc.getOptions().setCssEnabled(false);
wc.getOptions().setThrowExceptionOnScriptError(false);
// 設定連線超時,10秒(0為無限期等待)
wc.getOptions().setTimeout(10000);
wc.getOptions().setUseInsecureSSL(true);
// 開啟連線 爬文
HtmlPage page = wc.getPage(target_url);
// 非同步執行JS所需耗時,設定30秒,等待JS執行完畢
wc.waitForBackgroundJavaScript(30000);
底色標註是必要的設定👈
否則只可以取得到靜態網頁內容
沒有留言:
張貼留言