1、创建Maven项目,导入相关依赖 (或者直接向项目中导入Jsoup的Jav包)
<!--HTML解析-->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
</dependency>
2、自己建立数据库保存各个城市的代码(在这演示,没有查询数据库,直接定义变量了)
URL是固定的。
code是城市代码,例:北京:bj、杭州:hz。
district:是区的名字。
下面的Document的包注意不要导错,是import org.jsoup.nodes.Document;路径下的,
没有办法导入这个包的看我的另一篇文章。链接。
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class main {
public static void main(String[] args) {
String code = "hz";
String district = "滨江区";
//1、定义发出路径URL
String url = "http://m." + code + ".bendibao.com/news/yqdengji/?qu=" + district;
try {
//2、Jsoup.connect()发送,.get()得到返回的HTML代码,用Document来接受,注意不要到错包
Document document = Jsoup.connect(url).get();
//因为网站的那个标签没有类、id名,所以只能通过这种间接的方式实现元素的获取
//此处的返回是数组格式
//3、类似与JS的DOM模型(此处是通过类名返回一个组数据)
Elements elements = document.getElementsByClass("list-content");
//4、如果长度>0表示查到数据
if (elements.size() > 0) {
//由图中的信息可知,该数据为类名是list-content的第一个元素,所以取第一个
Element element = elements.get(0);
// element.select()里传入CSS选择器名称,。text()方法得到该选择器选中元素的值
String result = element.select("p:last-child").text();
System.out.println(result);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}