本文目錄一覽:
- 1、怎麼用java寫網絡爬蟲將網頁中的指定數據下載到本地excel文檔中
- 2、java jsoup怎樣爬取特定網頁內的數據
- 3、如何通過Java代碼實現對網頁數據進行指定抓取
- 4、java爬蟲抓取指定數據
- 5、如何用java語言直接從web上下載數據,從而省去在網頁上手動點擊下載?
怎麼用java寫網絡爬蟲將網頁中的指定數據下載到本地excel文檔中
mport java.io.InputStream;
import java.net.*;
public class HelloHttp {
}
接着就可以仿照下列範例建立HTTP連線:
URL url = new URL(“”);
HttpURLConnection http = (HttpURLConnection) url.openConnection();
http.setRequestMethod(“POST”);
InputStream input = http.getInputStream();
http.disconnect();
第1行建立一個URL物件,帶入參數為想要建立HTTP連線的目的地,例如網站的網址。
第2行建立一個HttpURLConnection物件,並利用URL的openConnection()來建立連線。
第3行利用setRequestMethod()來設定連線的方式,一般分為POST及GET兩種。
第4行將連線取得的回應載入到一個InputStream中,然後就可以將InputStream的內容取出應用,以這個例子而言我們取得的會是網頁的原始碼。
第5行用disconnect()將連線關閉。
將InputStream內容取出應用的範例如下:
byte[] data = new byte[1024];
int idx = input.read(data);
String str = new String(data, 0, idx);
System.out.println(str);
input.close();
針對 str 作 regular expression 處理 , 依照需求取得內容。
java jsoup怎樣爬取特定網頁內的數據
1、Jsoup簡述
Java中支持的爬蟲框架有很多,比如WebMagic、Spider、Jsoup等。
Jsoup擁有十分方便的api來處理html文檔,比如參考了DOM對象的文檔遍歷方法,參考了CSS選擇器的用法等等,因此我們可以使用Jsoup快速地掌握爬取頁面數據的技巧。
2、快速開始
1)分析HTML頁面,明確哪些數據是需要抓取的
2)使用HttpClient讀取HTML頁面
HttpClient是一個處理Http協議數據的工具,使用它可以將HTML頁面作為輸入流讀進java程序中.
3)使用Jsoup解析html字符串
通過引入Jsoup工具,直接調用parse方法來解析一個描述html頁面內容的字符串來獲得一個Document對象。該Document對象以操作DOM樹的方式來獲得html頁面上指定的內容。
3、保存爬取的頁面數據
1)保存普通數據到數據庫中
將爬取的數據封裝進實體Bean中,並存到數據庫內。
2)保存圖片到服務器上
直接通過下載圖片的方式將圖片保存到服務器本地。
如何通過Java代碼實現對網頁數據進行指定抓取
通過Java代碼實現對網頁數據進行指定抓取方法思路如下:
在工程中導入Jsoup.jar包
獲取網址url指定HTML或者文檔指定的body
獲取網頁中超鏈接的標題和鏈接
獲取指定博客文章的內容
獲取網頁中超鏈接的標題和鏈接的結果
java爬蟲抓取指定數據
根據java網絡編程相關的內容,使用jdk提供的相關類可以得到url對應網頁的html頁面代碼。
針對得到的html代碼,通過使用正則表達式即可得到我們想要的內容。
比如,我們如果想得到一個網頁上所有包括「java」關鍵字的文本內容,就可以逐行對網頁代碼進行正則表達式的匹配。最後達到去除html標籤和不相關的內容,只得到包括「java」這個關鍵字的內容的效果。
從網頁上爬取圖片的流程和爬取內容的流程基本相同,但是爬取圖片的步驟會多一步。
需要先用img標籤的正則表達式匹配獲取到img標籤,再用src屬性的正則表達式獲取這個img標籤中的src屬性的圖片url,然後再通過緩衝輸入流對象讀取到這個圖片url的圖片信息,配合文件輸出流將讀到的圖片信息寫入到本地即可。
如何用java語言直接從web上下載數據,從而省去在網頁上手動點擊下載?
URL url = new URL(“”);
URLConnection uc = url.openConnection();
InputStreamReader is = new InputStreamReader(uc.getInputStream());
int line;
StringBuffer sb = new StringBuffer(“”);
while((line=is.read())!=-1){
sb.append((char)line);
}
String str = sb.toString();
//解析其中的內容
//可以通過 找到有用的地址文件,然後利用如下
url = new URL(「有用的文件路徑」);
BufferedInputStream in = new BufferedInputStream(url.openStream());
哈哈,得到它了,一切就ok啦
下面的會了嗎,流操作,寫到本地
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/129911.html