激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java利用url實現網頁內容的抓取

java利用url實現網頁內容的抓取

2020-08-27 14:52zangcunmiao Java教程

本文主要介紹了java利用url實現網頁內容抓取的示例。具有很好的參考價值。下面跟著小編一起來看下吧

閑來無事,剛學會把git部署到遠程服務器,沒事做,所以簡單做了一個抓取網頁信息的小工具,里面的一些數值如果設成參數的話可能擴展性能會更好!希望這是一個好的開始把,也讓我對字符串的讀取掌握的更加熟練了,值得注意的是JAVA1.8 里面在使用String拼接字符串的時候,會自動把你要拼接的字符串用StringBulider來處理,大大優化了String 的性能,閑話不多說,show my XXX code~

運行效果:

java利用url實現網頁內容的抓取

首先打開百度百科,搜索詞條,比如“演員”,再按F12查看源碼

java利用url實現網頁內容的抓取

然后抓取你想要的標簽,注入LinkedHashMap里面就ok了,很簡單是吧!看看代碼羅

java" id="highlighter_616868">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.*;
/**
 * Created by chunmiao on 17-3-10.
 */
public class ReadBaiduSearch {
 //儲存返回結果
 private LinkedHashMap<String,String> mapOfBaike;
 //獲取搜索信息
 public LinkedHashMap<String,String> getInfomationOfBaike(String infomationWords) throws IOException {
  mapOfBaike = getResult(infomationWords);
  return mapOfBaike;
 }
 //通過網絡鏈接獲取信息
 private static LinkedHashMap<String, String> getResult(String keywords) throws IOException {
  //搜索的url
  String keyUrl = "http://baike.baidu.com/search?word=" + keywords;
  //搜索詞條的節點
  String startNode = "<dl class=\"search-list\">";
  //詞條的鏈接關鍵字
  String keyOfHref = "href=\"";
  //詞條的標題關鍵字
  String keyOfTitle = "target=\"_blank\">";
  String endNode = "</dl>";
  boolean isNode = false;
  String title;
  String href;
  String rLine;
  LinkedHashMap<String,String> keyMap = new LinkedHashMap<String,String>();
  //開始網絡請求
  URL url = new URL(keyUrl);
  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
  InputStreamReader inputStreamReader = new InputStreamReader(urlConnection.getInputStream(),"utf-8");
  BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
  //讀取網頁內容
  while ((rLine = bufferedReader.readLine()) != null){
   //判斷目標節點是否出現
   if(rLine.contains(startNode)){
    isNode = true;
   }
   //若目標節點出現,則開始抓取數據
   if (isNode){
    //若目標結束節點出現,則結束讀取,節省讀取時間
    if (rLine.contains(endNode)) {
     //關閉讀取流
     bufferedReader.close();
     inputStreamReader.close();
     break;
    }
    //若值為空則不讀取
    if (((title = getName(rLine,keyOfTitle)) != "") && ((href = getHref(rLine,keyOfHref)) != "")){
     keyMap.put(title,href);
    }
   }
  }
  return keyMap;
 }
 //獲取詞條對應的url
 private static String getHref(String rLine,String keyOfHref){
  String baikeUrl = "http://baike.baidu.com";
  String result = "";
  if(rLine.contains(keyOfHref)){
   //獲取url
   for (int j = rLine.indexOf(keyOfHref) + keyOfHref.length();j < rLine.length()&&(rLine.charAt(j) != '\"');j ++){
    result += rLine.charAt(j);
   }
   //獲取的url中可能不含baikeUrl,如果沒有則在頭部添加一個
   if(!result.contains(baikeUrl)){
    result = baikeUrl + result;
   }
  }
  return result;
 }
 //獲取詞條對應的名稱
 private static String getName(String rLine,String keyOfTitle){
  String result = "";
  //獲取標題內容
  if(rLine.contains(keyOfTitle)){
   result = rLine.substring(rLine.indexOf(keyOfTitle) + keyOfTitle.length(),rLine.length());
   //將標題中的內容含有的標簽去掉
   result = result.replaceAll("<em>|</em>|</a>|<a>","");
  }
  return result;
 }
}

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持服務器之家!

原文鏈接:http://www.cnblogs.com/sospopo/p/6533797.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黄色大片高清 | 久久精品国产亚洲一区二区 | 天天透天天狠天天爱综合97 | 免费看一级视频 | 在线免费亚洲 | 免费在线观看毛片视频 | 97人操 | 国产正在播放 | 一级做a爱片久久毛片a高清 | 91精品片 | www.国产免费| 欧美成人午夜精品久久久 | 国产成人精品一区二区视频免费 | 99在线精品视频免费观看20 | av国产免费 | 国产精品久久在线观看 | 99riav国产在线观看 | 精品亚洲视频在线 | 久久久久成人精品免费播放 | 99精品国产一区二区三区 | 久久影院免费观看 | 欧美三级欧美成人高清www | 一区二区三区四区国产精品视频 | 久草在线新时代视觉 | 国产亚洲精品久久久久婷婷瑜伽 | 一级免费黄视频 | 91一区二区在线观看 | 欧美 日韩 亚洲 中文 | 欧美一级精品片在线看 | av色哟哟| 欧美视频网 | 日韩视频观看 | 亚洲人成电影在线 | 二区视频 | 免费看综艺策驰影院 | 性色av免费在线观看 | 欧美wwwwww | 成人不卡一区二区 | 欧美交在线| 亚洲日本高清 | 成年人在线免费 |