Jsoup是一款Java的HTML解析器,主要用来对HTML解析,可以从网页源码中取出我们想要的内容。
1.通过url 获得doucment对象,
2.调用select()等方法获得Elements对象,
3.调用.text()等方法,获得自己想要的内容。
Eg1.1
Document document=Jsoup.connect("https://im.qq.com/index").timeout(3000).get();
Eg1.2
HttpClient httpClient=new DefaultHttpClient();
String urlString="https://im.qq.com/index/";
HttpGet httpGet=new HttpGet(urlString);
HttpResponse response=httpClient.execute(httpGet);
HttpEntity entity=response.getEntity();
String htmlString= EntityUtils.toString(entity);
Document document= Jsoup.parse(htmlString);
Elements elements=document.getElementsByClass("middle-content__item-function__txt"); System.out.println(elements.text());
Eg1.3
WebClient webClient=new WebClient(); // 实例化Web客户端 HtmlPage page = null;
try { page=webClient.getPage("https://im.qq.com/index"); // 解析获取页面
System.out.println("网页html:"+page.asXml()); // 获取Html
} catch (FailingHttpStatusCodeException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace(); } catch (IOException e) {
e.printStackTrace();
}finally{
webClient.close(); // 关闭客户端,释放内存
}
webClient.waitForBackgroundJavaScript(30000);//异步JS执行需要耗时,所以这里线程要阻塞30秒,等待异步JS执行结束
String pageXml = page.asXml();//直接将加载完成的页面转换成xml格式的字符串
//下面是对字符串的操作,常规的爬虫操作,用到了比较好用的Jsoup库
Document document = Jsoup.parse(pageXml);//获取html文档
System.out.println(document);
Elements elements=document.getElementsByClass("middle-content__item-function__txt"); System.out.println(elements.text());