crawler4j是一個(gè)基于Java開(kāi)發(fā)的開(kāi)源網(wǎng)絡(luò)爬蟲(chóng)框架,它提供了豐富的API讓我們能夠在爬取網(wǎng)頁(yè)的過(guò)程中獲取想要的信息。其中,獲取json數(shù)據(jù)也是非常常見(jiàn)的需求。下面我們來(lái)看看如何使用crawler4j獲取json數(shù)據(jù)。
public class JsonCrawler extends WebCrawler { @Override public void visit(Page page) { String url = page.getWebURL().getURL(); if (page.getContentType().contains("application/json")) { String json = page.getWebResponse().getContentAsString(); //處理獲取到的json數(shù)據(jù) } } }
以上的代碼實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的爬蟲(chóng),當(dāng)訪問(wèn)的頁(yè)面的內(nèi)容類(lèi)型為application/json時(shí),便會(huì)獲取到該頁(yè)面的json數(shù)據(jù)。其中,page.getWebResponse().getContentAsString()方法返回的就是頁(yè)面的json數(shù)據(jù)。我們可以根據(jù)需求,對(duì)獲取到的json數(shù)據(jù)進(jìn)行處理。
當(dāng)然,我們也可以通過(guò)設(shè)置爬蟲(chóng)的User agent,來(lái)訪問(wèn)一些需要驗(yàn)證用戶(hù)身份才能獲取到j(luò)son數(shù)據(jù)的網(wǎng)站,如下所示:
CrawlConfig config = new CrawlConfig(); config.setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3");
以上就是使用crawler4j獲取json數(shù)據(jù)的簡(jiǎn)單方法,希望對(duì)您有所幫助!