Quellcode durchsuchen

根据城市获取天气

詹子聪 vor 5 Jahren
Ursprung
Commit
150b79eb25

+ 2 - 2
src/main/java/com/miekir/shibei/controller/api/JsonController.java

@@ -36,7 +36,7 @@ public class JsonController {
      */
     @RequestMapping(value = "/api/getWeather", method = RequestMethod.GET, produces = "application/json; charset=utf-8")
     @ResponseBody
-    public String getWeather(String token) {
+    public String getWeather(String token, String city) {
         WeatherBean weatherBean = new WeatherBean();
 
         // 根据token查找用户
@@ -61,7 +61,7 @@ public class JsonController {
         }*/
         String currentDate = DateTool.getCurrentDate();
         if (!TextUtils.equals(mLastWeatherDate, currentDate) || TextUtils.isEmpty(mWeatherBean.temperatureRange)) {
-            mWeatherBean = WebTool.getWeatherInfo(weatherBean);
+            mWeatherBean = WebTool.getWeatherInfo(weatherBean, city);
             mLastWeatherDate = currentDate;
         }
         return JSON.toJSONString(mWeatherBean);

+ 8 - 2
src/main/java/com/miekir/shibei/tool/WebTool.java

@@ -140,13 +140,19 @@ public class WebTool {
         return content;
     }
 
-    public static WeatherBean getWeatherInfo(WeatherBean weatherBean) {
+    public static WeatherBean getWeatherInfo(WeatherBean weatherBean, String city) {
         Document document;
         //百度搜索结果每页大小为10,pn参数代表的不是页数,而是返回结果的开始数
         //如获取第一页则pn=0,第二页则pn=10,第三页则pn=20,以此类推,抽象出模式:(page-1)*pageSize
         int page = 1;
         int pageSize = 10;
-        String keyword = "天气";
+        String keyword;
+        if (TextUtils.isEmpty(city)) {
+            keyword = "天气";
+        } else {
+            keyword = city + "天气";
+        }
+
         String url = "http://www.baidu.com/s?pn="+(page-1)*pageSize+"&wd="+keyword;
         try {
             // 直接使用Jsoup爬会被百度拦截,需要安全验证,所以用普通方法爬