通過JAVA的API可以順利的抓取網路上的大部分指定的網頁內容
JAVA 抓取網頁內容2011-01-06 16:43通過JAVA的API可以順利的抓取網路上的大部分指定的網頁內容,現與大家分享一下這方法理解與心得。最簡單的一種抓取方法就是:
URL url = new URL(myurl);
BufferedReader br = new BufferedReader(newInputStreamReader(url.openStream()));
String s = "";
StringBuffer sb = new StringBuffer("");
while ((s = br.readLine()) != null) {
i++;
sb.append(s+"\r\n");
}
這種方法抓取一般的網頁應該沒有問題,但當有些網頁中存在一些巢狀的redirect連線時,它就會報Server redirected too many times這樣的錯誤,這是因為此網頁內部又有一些程式碼是轉向其它網頁的,迴圈過多導致程式出錯。如果只想抓取本URL中的網頁內容,而不願意讓它有其它的網頁跳轉,可以用以下的程式碼。
URL urlmy = new URL(myurl);
HttpURLConnection con = (HttpURLConnection) urlmy.openConnection();
con.setFollowRedirects(true);
con.setInstanceFollowRedirects(false);
con.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));
String s = "";
StringBuffer sb = new StringBuffer("");
while ((s = br.readLine()) != null) {
sb.append(s+"\r\n");
}
這樣的話,抓取的時候程式就不會跳換其它頁面去抓取其它的內容了,這就達到我們的目的了。
如果是我們是處於內部網的話,還需要專門給它加上代理, Java以特殊的系統屬性為代理伺服器提供支援,只要在上面的程式加上以下程式就可以了。
System.getProperties().setProperty( "http.proxyHost", proxyName );
System.getProperties().setProperty( "http.proxyPort", port );
這樣的話就可以實現處於內部網中而向網際網路抓取自己想要的東西了。
上面的程式抓取回來的全部內容都存放在sb這個字串,我們就可以通過正規表示式對它進行分析,提取出自己想要的具體的內容,為我所用,呵呵,這是多麼美妙的一件事情啊!
相關文章
- php中抓取網頁內容的程式碼PHP網頁
- 爬網入門:JAVA抓取網站網頁內容Java網站網頁
- 凶猛的網頁內容抓取規則配置工具網頁
- java抓取有驗證的頁面內容Java
- C#抓取網頁HTML內容C#網頁HTML
- java抓取網頁的郵件地址Java網頁
- 在oracle中通過utl_http獲得指定網頁內容,支援中文OracleHTTP網頁
- 修改網頁內容的方法網頁
- toapi:抓取任意網頁內容並提供 HTTP API獲取資料API網頁HTTP
- Linux企業級專案實踐之網路爬蟲(9)——通過URL抓取網頁內容Linux爬蟲網頁
- CURL抓取網頁內容並用正則提取。網頁
- 通過NSInputStream讀取大檔案的指定起始內容
- java抓取網頁的亂碼問題(通用)Java網頁
- 使用代理抓取網頁的原因網頁
- 抓取網頁中的原始碼.網頁原始碼
- 通過代理抓取網頁code方法 proxy httpurlconnection網頁HTTP
- 實現java讀取網頁內容並下載網頁中出現的圖片Java網頁
- 在指定的檔案過濾想要的內容
- 部落格時代之殤:網際網路上23%的內容將永遠消失
- scrapy抓取ajax請求的網頁網頁
- 爬取網頁後的抓取資料_3種抓取網頁資料方法網頁
- 網頁可讀內容抽取 API 資料介面網頁API
- php獲取網頁內容的三種方法PHP網頁
- mac內容如何更改maven指定的java版本MacMavenJava
- IP地址在網頁抓取中的作用網頁
- 網頁抓取的重要性介紹網頁
- 爬蟲抓取網頁的詳細流程爬蟲網頁
- 用thinkphp寫的一個例子:抓取網站的內容並且儲存到本地PHP網站
- 網頁內容只是寫給訪客看的嗎?網頁
- 禁止複製網頁內容的程式碼例項網頁
- 怎麼更改網頁上的內容並儲存網頁
- C#簡單的web網頁html抓取並提取指定a標籤連結C#Web網頁HTML
- 網頁設計內容網頁中關於圖片預覽的設計網頁
- JavaScript 列印網頁指定的區域JavaScript網頁
- 使用PHP的正則抓取頁面中的網址PHP
- 有沒有通過網頁線上使用的CRM?網頁
- Java抓取網頁資料(原網頁+Javascript返回資料)網頁JavaScript
- 爬蟲,可用於增加訪問量和抓取網站全頁內容爬蟲網站