Android爬取网页JSON数据详细教程【新手向】

本文介绍了如何在Android中获取动态网页的JSON数据,通过使用阿里巴巴的Fastjson库,配合HTTP请求,解析并转化为实体类。详细讲解了从导入第三方库、分析网页JSON数据到创建实体类的步骤,适合初学者学习。
摘要由CSDN通过智能技术生成

 

这几天做一个Android获取Json的任务,发现Jsoup只能获取静态页面,无法获取动态页面的Json数据。

有同学给我更正:Jsoup可以爬取动态页面,但必须要加请求头(data),以下为正确例子:

String url = "你的网页接口";
Map data = Maps.newHashMap();
data.put("countryCode", "+86");
data.put("mobile", mobile);
data.put("password", "f20332f07cdaab9ec0472655a83438d4");
data.put("invitionCode", "PU9HFMNMZ2FL");
data.put("validateCode", codeCallable);
data.put("geetest_challenge", challenge);
data.put("geetest_validate", validate);
data.put("geetest_seccode", validate + "|jordan");
String json = JSON.toJSONString(data);
Connection.Response response = Jsoup.connect(url).ignoreContentType(true).data(data).requestBody(json)
.header("Accept", "application/json, text/plain, */*")
.header("Content-Type", "application/json;charset=UTF-8")
.method(Connection.Method.POST).timeout(70000).execute();
System.out.println(response.body());

 

我换了一个思路,用是阿里巴巴alibaba:fastjson第三方包获取json数据,并可以直接转为为实体类,

几行代码就可以解决。代码编写的效率非常高,不得不称赞马爸爸牛逼。

 

我们先在Gradle Scripts下找到build.gradle(Modele:app)的build.gradle下加入这一行代码

    implementation 'com.alibaba:fastjson:1.2.10'

导入第三方库就完成了。

 

爬取的网页:https://www.6tennis.com/schedule

爬取第三方库的方法很简单,先打开你要爬取得网页,打开你的谷歌浏览器,按F12进入开发者调试模式

然后刷新一下网页页面,就会显示这个网页嗅探到的一些文件,只需要单击小放大镜,然后输入你需要搜索的数据(可以是JSON里面的数据或者文件名)

 

单击上图第三步骤,就会发现右手方框框里出现一系列的JSON数据。

{"code":"200","message":"\u8bf7\u6c42\u6210\u529f","data":{"total":69,"list":[{"id":8,"game_name":"ATP Cup","is_grandslm":0,"game_level":"750","ground_name":"\u786c

\u5730","match_time":"01.03-01.12"},{"id":13,"game_name":"\u5361\u5854\u5c14\u516c\u5f00\u8d5b","is_grandslm":0,"game_level":"250","ground_name":"\u786c

\u5730","match_time":"01.06-01.11"},{"id":9,"game_name":"\u963f\u5fb7\u83b1\u5fb7\u56fd\u9645\u8d5b","is_grandslm":0,"game_level":"250","ground_name":"\u786c

\u5730","match_time":"01.12-01.18"},{"id":15,"game_name":"
  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值