https://faxue.inmoke.com

region);}public static void searchPlace(String keyword

UTF-8)).append();} catch (Exception e) {log.error(URL编码错误: {}, jsonResponse.getString(message));return true;}return false;}private static void processPlace(JSONObject place) {String name = place.getString(name);String address = place.getString(address);JSONObject location = place.getJSONObject(location);double lat = location.getDoubleValue(lat);double lng = location.getDoubleValue(lng);String uid = place.getString(uid);String detailUrl = String.format(%s?uid=%soutput=jsonscope=2ak=%s,状态码: {}, region);}public static void searchPlace(String keyword。

address);log.info(经度: {}。

String params) {StringBuilder urlBuilder = new StringBuilder(baseUrl);urlBuilder.append(?);for (Map.EntryString。

e.getMessage());}}return urlBuilder.toString().substring(0, AK);searchParams.put(page_num, String entry : params.entrySet()) {try {urlBuilder.append(entry.getKey()).append(=).append(URLEncoder.encode(entry.getValue(), region);searchParams.put(output, json);searchParams.put(ak。

AK);try {String detailResponseData = executeRequest(detailUrl);if (detailResponseData == null) {return;}JSONObject detailJsonResponse = JSON.parseObject(detailResponseData);if (isResponseSuccessful(detailJsonResponse)) {return;}JSONObject detailResult = detailJsonResponse.getJSONObject(result);String telephone = detailResult.getString(telephone);log.info(名称: {}, searchParams);try {String responseData = executeRequest(searchUrl);JSONObject jsonResponse = JSON.parseObject(responseData);if (isResponseSuccessful(jsonResponse)) {break;}JSONArray results = jsonResponse.getJSONArray(results);if (results == null || results.isEmpty()) {break;}for (int i = 0; i results.size(); i++) {JSONObject place = results.getJSONObject(i);processPlace(place);}pageNum++;} catch (IOException e) {log.error(请求报错: {}, response.code());return null;}return response.body().string();}}private static boolean isResponseSuccessful(JSONObject jsonResponse) {int status = jsonResponse.getIntValue(status);if (status != 0) {log.error(搜索请求失败,。

lat);log.info(联系方式: {},错误信息: {}, DETAIL_URL, urlBuilder.length() - 1);}private static String executeRequest(String url) throws IOException {Request request = new Request.Builder().url(url).build();try (Response response = CLIENT.newCall(request).execute()) {if (!response.isSuccessful()) {log.error(请求失败。

lng);log.info(纬度: {}, e.getMessage());}}} , keyword);searchParams.put(region, String region) {int pageNum = 0;while (true) {MapString。

telephone);log.info(--------------------------------------------);} catch (IOException e) {log.error(请求报错: {}, uid, MapString, TimeUnit.SECONDS).build();public static void main(String[] args) throws UnsupportedEncodingException {String keyword = 新丰小吃;String region = 杭州市萧山区;searchPlace(keyword, String searchParams = new LinkedHashMap();searchParams.put(query, [Java] 纯文本查看 复制代码 import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import lombok.extern.slf4j.Slf4j;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.LinkedHashMap;import java.util.Map;import java.util.concurrent.TimeUnit;@Slf4jpublic class BaiduMapSearch {private static final String SEARCH_URL = ;private static final String DETAIL_URL = ;public static String AK = ;private static final OkHttpClient CLIENT = new OkHttpClient.Builder().connectTimeout(10, e.getMessage());break;}}}private static String buildUrlWithParams(String baseUrl。

String.valueOf(pageNum));searchParams.put(page_size, 10);String searchUrl = buildUrlWithParams(SEARCH_URL。

name);log.info(地址: {}, TimeUnit.SECONDS).readTimeout(30。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读