为了账号安全,请及时绑定邮箱和手机立即绑定

java网页抓取问题

java网页抓取问题

SMILET 2019-03-13 18:15:42
在这个网站中:http://wwwapps.ups.com/WebTracking/track?HTMLVersion=5.0&loc=zh_CN&Requester=UPSHome&WBPM_lid=homepage%2Fct1.html_pnl_trk&trackNums=H8947154378&track.x=%E8%BF%BD%E8%B8%AA  需要抓取:页面中的运输进程的部分 该运输进程 查看源码为一个div层 () 点击层厚URL地址改变为:http://wwwapps.ups.com/WebTracking/detail 因为抓取的信息需要 第一个链接中的H8947154378 参数 所以URL改变后就不知道怎么抓取了  通过普通抓取 只能抓取到 层中的第一条数据和最后一条数据 火狐和其他浏览器查看第一个页面的源码也只有div中第一条数据和最后一条  public String getPageContent(String strUrl, String strPostRequest,int maxLength) {  // 读取结果网页  StringBuffer buffer = new StringBuffer();  System.setProperty("sun.net.client.defaultConnectTimeout", "5000");  System.setProperty("sun.net.client.defaultReadTimeout", "5000");  try {  URL newUrl = new URL(strUrl);  HttpURLConnection hConnect = (HttpURLConnection) newUrl.openConnection();  // POST方式的额外数据  if (strPostRequest.length() > 0) {  hConnect.setDoOutput(true);  OutputStreamWriter out = new OutputStreamWriter(hConnect.getOutputStream());  out.write(strPostRequest);  out.flush();  out.close();  }  // 读取内容  BufferedReader rd = new BufferedReader(new InputStreamReader(hConnect.getInputStream(),"utf-8"));  int ch;  for (int length = 0; (ch = rd.read()) > -1 && (maxLength <= 0 || length < maxLength); length++)  buffer.append((char) ch);  String s = buffer.toString();  s.replaceAll("//&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "");  System.out.println(s);  rd.close();  hConnect.disconnect();  return buffer.toString().trim();  } catch (Exception e) {  return "错误:读取网页失败!";  //  }  }  public static void main(String[] args) {  String url = "http://wwwapps.ups.com/WebTracking/track?HTMLVersion=5.0&loc=zh_CN&Requester=UPSHome&WBPM_lid=homepage%2Fct1.html_pnl_trk&trackNums=H8947154378&track.x=%E8%BF%BD%E8%B8%AA";  String url2 = "http://wwwapps.ups.com/WebTracking/detail";  Test p = new Test();  p.getPageContent(url, "post", 100500);  Test3 p3 = new Test3();  p3.getPageContent(url2, "post", 100500);  System.out.print("已经执行!");  }  上面是我写的普通抓取办法   想请教大家 是否有其他解决办法 没有公开的API接口
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 386 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信