一 jsoup的主要功能如下:
- 从一个URL,文件或字符串中解析HTML;
- 使用DOM或CSS选择器来查找、取出数据;
-
可操作HTML元素、属性、文本;
jsoup是基于MIT协议发布的,可放心使用于商业项目。
二 jsoup包
1.所使用到的jar包:jsoup-*.jar
三 jsoup发动post请求来获取指定接口的返回数据
项目的工程结构
接下来是配置文件(post的请求参数)
url = http://www.okooo.com/Lottery06/SportterySoccer/ajax.php?action=getLotteryBonus LotteryNo = 2017-03-08 MultiNum = 1 MinHit=0 MaxHit=0 type=SportterySoccerMix Matches=3002:16;3003:15,11;3004:14,13;3005:11,13 AbsMatches= PassTypeStr=4_1,2_1,3_1
测试类
package com.ok.test;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class Test {
//程序主入口
public static void main(String[] args) {
//获取配置参数
String lotteryNo = getProperties("LotteryNo");
String Multiunm = getProperties("MultiNum");
String minhit = getProperties("MinHit");
String maxhit = getProperties("MaxHit");
String type = getProperties("type");
String matches = getProperties("Matches");
String absmatche = getProperties("AbsMatches");
String passTypestr = getProperties("PassTypeStr");
try {
//jsoup向指定页面发送post请求
postOk(lotteryNo, Multiunm, minhit, maxhit, type, matches, absmatche, passTypestr);
} catch (IOException e) {
e.printStackTrace();
}
}
/*
* jsoup向指定的页面发送post请求
*/
public static String postOk(String lotteryNo,String Multiunm ,String minhit,String maxhit,String type ,String matches,String absmatche,String passTypestr ) throws IOException{
lotteryNo = getProperties("LotteryNo");
//获取请求连接
Connection con = Jsoup.connect("http://www.okooo.com/Lottery06/SportterySoccer/ajax.php?action=getLotteryBonus").userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31");
//发送参数
con.data("LotteryNo", lotteryNo);
con.data("MultiNum",Multiunm);
con.data("MinHit", minhit);
con.data("MaxHit", maxhit);
con.data("type",type);
con.data("Matches",matches);
con.data("AbsMatches", absmatche);
con.data("PassTypeStr", passTypestr);
Document doc = con.post();
//将获取到的内容打印出来
System.out.println(doc.body().text());
return doc.toString();
}
/*
* 读取配置信息
*/
public static String getProperties(String key){
Properties props = new Properties();
try {
//读取配置文件
FileInputStream in = new FileInputStream("config/config.properties");
props.load(in);
//关闭资源
in.close();
} catch (IOException e) {
e.printStackTrace();
}
return props.getProperty(key);
}
}
返回结果:
返回的结果是一个json数组,这样我就可以将其中的有效数据解析出来操作使用了。
热门评论
dgdfdfdg不错的东西