Android解析HTML+android爬虫框架jsoup
16lz
2021-01-26
jsoup简介
jsoup是一个用于处理真实世界HTML的Java库。它提供了一个非常方便的API来提取和操作数据,使用最好的DOM,CSS和类似jquery的方法。jsoup实现WHATWG HTML5规范,并将HTML解析为与现代浏览器相同的DOM。
maven地址 http://www.mvnrepository.com/artifact/org.jsoup/jsoupcompile 'org.jsoup:jsoup:1.9.2'
爬取方法:
Document doc = Jsoup.connect("https://nba.hupu.com/games/playbyplay/154254") //.data("query", "Java") //请求参数 //.userAgent("I’mjsoup") //设置User-Agent //.cookie("auth", "token") //设置cookie .timeout(3000) //设置连接超时时间 .get();
解析方法: Elements trs = doc.select("table").select("tr"); for (int i = 0; i < trs.size(); i++) { Elements tds = trs.get(i).select("td"); if (!trs.get(i).id().equals("")) { if (!trs.get(i).id().equals("10000") && !trs.get(i).id().equals("10001")) { describeBean = new DescribeBean(); for (int j = 0; j < tds.size(); j++) { String text = tds.get(j).text(); switch (j) { case 0: describeBean.setTime(text); break; case 1: describeBean.setScore(text); break; case 2: describeBean.setTeamName(text); break; case 3: describeBean.setDescribe(text); break; } } } if (describeBean != null) { list.add(describeBean); } } } System.out.println(JSON.toJSONString(list));
这里写一个解析示例: String s = " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " ABC15829684580\n" + " \n" + " \n" + " \n" + "
\n" + " \n" + "\n";
Document doc = Jsoup.parse(s); Elements trs = doc.select("div").select("p").select("span").select("span").select("strong").select("em"); LogUtils.e(trs.get(0).text());
这里从div开始解析 从div逐一解析到em ("div").select("p").select("span").select("span").select("strong").select("em")
最后输出的结果是 ABC15829684580
更多相关文章
- SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
- Android(安卓)ART invoke 代码生成
- android 判断字符串是否为空的最优方法
- Hello Android(安卓)- PULL方式解析XML
- MPAndroidChart开源图表库(一)之饼状图
- Android(安卓)Volley 完全解析(三),定制自己的Request
- android中-----JSON数据解析
- android media server 解析1-media player service 结构部分
- 使用线程执行堆栈StackTraceElement设计Android日志模块