java实现网络爬虫,jsoup入门demo
2018-08-03
阅读 {{counts.readCount}}
评论 {{counts.commentCount}}
偶然翻到很久以前的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);
- }
- }
评论区空空如也,赶紧添加一条评论吧
评论 {{counts.commentCount}}

{{comment.name}}
{{comment.os}}
{{comment.browser}}

{{comment.reply.name}}
{{comment.reply.os}}
{{comment.reply.browser}}
