2019独角兽企业重金招聘Python工程师标准>>>
http://www.17k.com/chapter/76839/8810097.html
这是17K的一个小说的章节,内容是通过JS加载的,当我们用httpclient去抓取时,因为取得的是原始页面,所以无法获得章节的具体内容。
用HtmlUnit模拟浏览器运行,获得执行后的html页面,然后就可以抓取到想要的具体内容了^_^
public class HtmlUnitTest {public static void main(String[] args) throws Exception {// 新建一个WebClient对象,此对象相当于浏览器 final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);// 构造一个URL URL url = new URL("http://www.17k.com/chapter/76839/8810097.html");// 通过getPage()方法,返回相应的页面 HtmlPage page = (HtmlPage) webClient.getPage(url);System.out.println(page.getHtmlElementById("chapterContent").asText());}}