java实现网络爬虫,jsoup入门

偶然翻到很久以前的jsoup入门代码,现在只要一提爬虫就是python,其实java的爬虫框架jsoup也是很好用的。

jsoup他最大的特色就是,把爬取到的网页内容,解析成Document类,可以用类似jquery的语法去取需要的内容。

有java和jquery基础的话,学习陈本极低,基本上5分钟看个入门就可以学会。

尬聊完毕直接贴上代码跑路。


maven导包

		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.5.3</version>
		</dependency>
		<dependency>
			<groupId>org.jsoup</groupId>
			<artifactId>jsoup</artifactId>
			<version>1.10.2</version>
		</dependency>


java demo

package com.bumblebee.demo;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
/**
 * JSOUP demo
 * @author bumblebee
 */
public class JSOUP {
	public static void main(String[] args) throws Exception {
		CloseableHttpClient httpclient = HttpClients.createDefault(); // 创建httpclient实例
		HttpGet httpget = new HttpGet("http://www.cnblogs.com/"); // 创建httpget实例

		CloseableHttpResponse response = httpclient.execute(httpget); // 执行get请求
		HttpEntity entity = response.getEntity(); // 获取返回实体
		String content = EntityUtils.toString(entity, "utf-8");
		response.close(); // 关闭流和释放系统资源

		Document doc = Jsoup.parse(content); // 解析网页 得到文档对象
		Elements elements = doc.getElementsByTag("title"); // 获取tag是title的所有DOM元素
		Element element = elements.get(0); // 获取第1个元素
		String title = element.text(); // 返回元素的文本
		System.out.println("网页标题是:" + title);

		Element element2 = doc.getElementById("site_nav_top"); // 获取id=site_nav_top的DOM元素
		String navTop = element2.text(); // 返回元素的文本
		System.out.println("口号:" + navTop);

	}
}

 

 

 

赠人玫瑰 手留余香
豆瓣250爬虫
maven settings.xml
立即登录, 发表评论.
没有帐号? 立即注册
0 条评论