导入依赖
<!--爬虫-->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
</dependency>
使用hutool工具解析json数据
@GetMapping("/pachou")
@ApiOperation("爬虫")
public String teamMessage() {
// s = HttpUtil.get("https://china.nba.cn/stats2/season/conferencestanding.json?");
s = HttpUtil.get("https://china.nba.cn/stats2/league/playerlist.json");
return s;
}
提取并保存在磁盘中
@PostMapping("/addBatch2")
@ApiOperation(value = "批量插入")
public Result addBatch2(@RequestBody String str) throws IOException, InterruptedException {
JSONArray jsonArray = JSONArray.parseArray(str);
FileOutputStream outputStream =null;
// FileInputStream inputStream =null;
InputStream inputStream=null;
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = JSONObject.parseObject(jsonArray.get(i).toString());
String playerProfile = jsonObject.getString("playerProfile");
String teamProfile = jsonObject.getString("teamProfile");
JSONObject object = JSONObject.parseObject(playerProfile);
JSONObject object2 = JSONObject.parseObject(teamProfile);
// System.out.println(object.getString("displayName"));
// System.out.println(object2.getString("city"));
String playerImg = object.getString("playerId");
String displayName = object.getString("displayName");
System.out.println(playerImg);
try {
String url="https://res.nba.cn/media/img/players/head/260x190/"+playerImg+".png";
URL imgsrcUrl = new URL(url);
URLConnection connection = imgsrcUrl.openConnection();
inputStream = connection.getInputStream();
String path="F:\\chenchao\\NBA\\"+displayName+".png";
outputStream = new FileOutputStream(path);
byte[] bytes = new byte[1024];
int len = 0;
while((len=inputStream.read(bytes))!=-1){
outputStream.write(bytes,0,len);
}
System.out.println("下载完成");
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
return Result.success();
}
效果