java之爬虫菜鸟运用
主要是一个简单的demo测试
1.首先找到一个html查看源码如图
如果是这样的一段代码,我们的目标是获取a标签中的href内容,和文本内容,以及<span></span>标签中的日期,和p标签中的数据
2.开始做准备
(1)加入相关工具包
<!-- html解析jar --> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.12.1</version> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.5.2</version> </dependency>
(2)上测试代码(注意导包很多都是运用的jsoup包中的工具如图)
public static void main(String[] args) { JSONObject result = JSONUtil.createObj(); StringBuilder html = new StringBuilder(); html.append("E:\\iis\\www.9218.com\\fenxi\\index.html"); FileReader fileReader = new FileReader(html.toString()); List<JSONObject> mainList = new ArrayList<JSONObject>(); /** * 下面是Jsoup展现自我的平台 */ Document document = Jsoup.parse(fileReader.readString()); // 获取class属性为newslist Dom对象 Element post = document.getElementsByClass("newslist").first(); // 获取含有li标签内容列表 Elements postList = post.getElementsByTag("li"); // 循环处理li标签中的内容 for (Element postItem : postList) { JSONObject param = JSONUtil.createObj(); // 像jquery选择器一样,获取文章作者元素 // 获取含有a标签内容列表 Elements titleEle = postItem.select("a"); param.set("title", titleEle.text()); param.set("url", titleEle.attr("href"));// 获取a标签中href属性内容 // 获取含有span标签内容列表 Elements footEle = postItem.select("span"); param.set("time", footEle.text()); // 获取含有p标签内容 Elements content = postItem.select("p"); param.set("content", content.text()); mainList.add(param); } result.set("main", mainList); System.out.println(result.toString()); }
(3)上测试结果截图后台打印图
通过json格式化的数据截图
可以了这个工具还是很强大的,很好用的
最后来个重要提示----爬虫虽好,请文明使用,如果对别人造成了大损失,后果很严重的
jsoup
不用重来才叫快;能够积累才叫多