通過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這個字串,我們就可以通過正規表示式對它進行分析,提取出自己想要的具體的內容,為我所用,呵呵,這是多麼美妙的一件事情啊!
相關文章
- 修改網頁內容的方法網頁
- toapi:抓取任意網頁內容並提供 HTTP API獲取資料API網頁HTTP
- 使用代理抓取網頁的原因網頁
- 跳轉個人主頁的指定標籤內容
- php獲取網頁內容的三種方法PHP網頁
- 網頁可讀內容抽取 API 資料介面網頁API
- 爬蟲抓取網頁的詳細流程爬蟲網頁
- 網頁抓取的重要性介紹網頁
- IP地址在網頁抓取中的作用網頁
- C#簡單的web網頁html抓取並提取指定a標籤連結C#Web網頁HTML
- 網頁內容只是寫給訪客看的嗎?網頁
- 怎麼更改網頁上的內容並儲存網頁
- 網頁設計內容網頁中關於圖片預覽的設計網頁
- 網站主網頁修改,如何更新網站主頁內容網站網頁
- 網頁抓取與IPIDEA代理IP的關係網頁Idea
- 網頁抓取常見的問題有哪些?網頁
- 網頁抓取五種常用的HTTP標頭網頁HTTP
- 透過awk在指定的列後面加內容
- 如何讓Safari網頁中的內容更易於閱讀網頁
- 爬蟲,可用於增加訪問量和抓取網站全頁內容爬蟲網站
- comfyui的官網內容摘要UI
- 有沒有通過網頁線上使用的CRM?網頁
- Positive Technologies:85%的ATM機可以在15分鐘內通過網路被攻破
- 抓取網頁的含義和URL基本構成網頁
- 基於Chrome的Easy Scraper外掛抓取網頁Chrome網頁
- 網站頁面內的內容結構怎樣佈局才合理?網站
- 免費的網頁截圖API網頁API
- Python 爬取網頁中JavaScript動態新增的內容(一)Python網頁JavaScript
- Python 爬取網頁中JavaScript動態新增的內容(二)Python網頁JavaScript
- python 爬蟲如何爬取動態生成的網頁內容Python爬蟲網頁
- 純CSS如何禁止使用者複製網頁的內容?CSS網頁
- 列印網頁的時候,如何讓指定的元素另起一頁(列印分頁)?網頁
- 三國演義內容抓取(詩詞名句網)
- java 爬取網頁內容。 標題、圖片等Java網頁
- 怎麼建立屬於自己的網址,教你怎樣建網頁,裝修頁面內容網頁
- 藉助sIoT可以通過手機app實現區域網內的裝置操控。APP
- vs2010 怎麼準確的建立內容頁到指定的路徑下 ?
- 基於Java的網站內容管理系統(SpringBoot版)Java網站Spring Boot
- 怎麼透過Python獲取檔案指定行的內容?Python