网页爬取--小白入门

匿名 (未验证) 提交于 2019-12-03 00:25:02
附上原代码:备注:需要下载一个json.jar的包放在src下面;
package Sementic; import org.json.JSONArray; import org.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.List; import java.util.Map; import Task.TaskVal;  rameter run() {  String output = new String();     String out = sendGet("");   return output;  }  public String sendGet(String url) {   String result = "";   BufferedReader in = null;// 读取响应输入流   StringBuffer sb = new StringBuffer();// 存储参数   String params = "";// 编码之后的参数   try {    // 编码请求参数    //System.out.println(TAG + parameters.size());    String full_url = "http://122.228.236.80:8007/web_connect/index.php/Home/Question/getQuestionAnswer?content=报销&user_id=15"; //            params =java.net.URLEncoder.encode("content= 报销&user_id=15", "UTF-8"); //            String full_url = url + "?" + params;    //System.out.println(full_url);    // 创建URL对象    //full_url  = "http://122.228.236.80:8007/android_connect/get_page_info.php";    java.net.URL connURL = new java.net.URL(full_url);    // 打开URL连接    java.net.HttpURLConnection httpConn = (java.net.HttpURLConnection) connURL.openConnection();    httpConn.connect();    // 响应头部获取    Map<String, List<String>> headers = httpConn.getHeaderFields();    // 定义BufferedReader输入流来读取URL的响应,并设置编码方式    in = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8"));    String line;    // 读取返回的内容    while ((line = in.readLine()) != null) {     JSONObject json = new JSONObject(line);     JSONArray jsonArray = json.getJSONArray("data");     String data = jsonArray.getString(0);     JSONObject js = new JSONObject(data);     String que = js.getString("question_key");     String ques = js.getString("question");     System.out.println(data);     System.out.println(que);     System.out.println(ques);     result += line;    }   } catch (Exception e) {    e.printStackTrace();   } finally {    try {     if (in != null) {      in.close();     }    } catch (IOException ex) {     ex.printStackTrace();    }   }   return result;  }


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!