java爬取网页内容 简单例子(2)——附jsoup的select用法详解
来源:互联网 发布:淘宝手机详情页文字 编辑:程序博客网 时间:2024/06/05 20:41
【准备工作】 复制代码
下载:jsoup-1.6.1.jar
【先看效果】
目标网站:中国天气
目的:获取今天的天气
目标HTML代码:
<li class="dn on" data-dn="7d1">
<h1>今天</h1>
<h2>8日</h2>
<big class="jpg50 d04"></big>
<big class="jpg50 n04"></big>
<p class="wea" title="雷阵雨">雷阵雨</p>
<p class="tem tem1"> <span>33</span><i>°C</i> </p>
<p class="tem tem2"> <span>25</span><i>°C</i> </p>
<p class="win">
<em>
<span title="无持续风向" class=""></span>
<span title="无持续风向" class=""></span>
</em>
<i>微风</i>
</p>
<div class="slid"></div>
</li>
复制代码
解析的java代码:
(1)审查网页元素后发现,我们要的内容在上面的目标HTML代码中,在整个网页中是在 class="dn on" data-dn="7d1" 的<li>中
(2)“今天” 两字在<h1></h1>中
(3)“8日” 两字在<h2></h2>中
(4)“雷阵雨” 三字在 class="wea" 中
(5)“33” 在第一个<span>中
(6)“25” 在第二个<span>中
(7)“微风” 两字在 第三个<i> 中
有了上面的分析,要获取到这些天气内容就易如反掌了。如下java代码:
复制代码
1 package com.zjm.www.test;
42 String lowTemperature = elements5.get(1).text()+"°C"; 2
3 import java.io.IOException;
4
5 import org.jsoup.Jsoup;
6 import org.jsoup.nodes.Document;
7 import org.jsoup.select.Elements;
8
9 public class TestJsoup {
10
11 public Document getDocument (String url){
12 try {
13 return Jsoup.connect(url).get();
14 } catch (IOException e) {
15 e.printStackTrace();
16 }
17 return null;
18 }
19
20 public static void main(String[] args) {
21 TestJsoup t = new TestJsoup();
22 Document doc = t.getDocument("http://www.weather.com.cn/html/weather/101280101.shtml");
23 // 获取目标HTML代码
24 Elements elements1 = doc.select("[class=dn on][data-dn=7d1]");
25 // 今天
26 Elements elements2 = elements1.select("h1");
27 String today = elements2.get(0).text();
28 System.out.println(today);
29 // 几号
30 Elements elements3 = elements1.select("h2");
31 String number = elements3.get(0).text();
32 System.out.println(number);
33 // 是否有雨
34 Elements elements4 = elements1.select("[class=wea]");
35 String rain = elements4.get(0).text();
36 System.out.println(rain);
37 // 高的温度
38 Elements elements5 = elements1.select("span");
39 String highTemperature = elements5.get(0).text()+"°C";
40 System.out.println(highTemperature);
41 // 低的温度
43 System.out.println(lowTemperature);
【详解】44 // 风力
45 Elements elements6 = elements1.select("i");
46 String wind = elements6.get(2).text();
47 System.out.println(wind);
48 }
49 }
复制代码
结果打印出:
1 今天
2 8日
3 雷阵雨
4 33°C
5 25°C
6 微风
附:
jsoup的官方中文文档为:http://www.open-open.com/
API为:http://jsoup.org/apidocs/
0 0
- java爬取网页内容 简单例子(2)——附jsoup的select用法详解
- java爬取网页内容 简单例子(2)——附jsoup的select用法详解
- java爬取网页内容 简单例子(2)——附jsoup的select用法详解
- java爬取网页内容 简单例子
- java爬取网页内容 简单例子
- Java爬取网页内容的简单例子
- java爬取网页内容 简单例子(1)——使用正则表达式
- java-jsoup自适应爬取网页表格的内容
- 【Jsoup爬取网页内容】
- 利用Jsoup爬取网页内容
- 利用Jsoup爬取网页内容
- java学习--网络爬虫(使用jsoup爬取网页内容)
- java简单爬取网页内容实例
- 推荐 - Jsoup(附网页批量抓取例子)
- java Jsoup 爬取网页数据
- jsoup爬取分页的内容
- jsoup爬取需要登录的网页(个人备份)
- jsoup中select用法详解
- ES6中的箭头函数的定义和调用方式
- 我读过的最好的epoll讲解--转自”知乎“
- HDU 1010
- IT项目管理-项目组合、项目群、项目
- 每天一个linux命令(3):pwd命令
- java爬取网页内容 简单例子(2)——附jsoup的select用法详解
- Git命令
- 初学C语言:比较交换3个实数值大小,并按序输出
- 浅谈进程和线程
- rz -be 从windows上发送二进制文件
- JAVA多线程之UncaughtExceptionHandler——处理非正常的线程中止
- json对象(json-lib)转换成list-map集合
- 树状菜单
- TextInputLayout使用以及EditText自己实现监听