题注:很多时候用到抓取网页数据的功能,以前工作中曾经用到过,今天总结了一下
目的:抓取网页数据多是读一些地址连续的URL,获得页面信息,进而对页面DOM进行分析,处理得到粗糙的数据,然后进行加工,得到我们想要的内容。
首先选择一个地址,比如http://www.51leba.com
代码部分如下:
- try{
- URL url = new URL("http://www.51leba.com");
- URLConnection conn = url.openConnection();
- BufferedReader is = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- StringBuffer buffer = new StringBuffer();
- String str;
- while((str = is.readLine()) != null){
- buffer.append(str);
- buffer.append("\n");
- }
- str = buffer.toString().replaceAll("<script(.|\n)+?</script>", "").replaceAll("<(.|\n)+?>", "").replaceAll(" ", " ");
- String[] s = str.split("\n");
- buffer = new StringBuffer();
- for(int i=0;i<s.length;i++){
- if(s[i].trim().equals("") ){
- continue;
- }else{
- buffer.append(s[i]);
- buffer.append("\n");
- }
- }
- System.out.println(buffer.toString());
- is.close();
- }catch (Exception e) {
- e.printStackTrace();
- }
得到的结果是:
- 欢迎光临51乐吧!
- 欢迎光临51乐吧!
- 回家倒计时
- 拼音转汉字