網頁爬蟲:就是一個程序用於在互聯網中獲取指定規則的數據。這篇文章主要介紹了使用正則表達式實現網頁爬蟲的思路詳解,須要的朋友能夠參考下html
網頁爬蟲:就是一個程序用於在互聯網中獲取指定規則的數據。前端
思路:java
1.爲模擬網頁爬蟲,咱們能夠如今咱們的tomcat服務器端部署一個1.html網頁。(部署的步驟:在tomcat目錄的webapps目錄的ROOTS目錄下新建一個1.html。使用notepad++進行編輯,編輯內容爲:web
)2.使用URL與網頁創建聯繫
3.獲取輸入流,用於讀取網頁中的內容
4.創建正則規則,由於這裏咱們是爬去網頁中的郵箱信息,因此創建匹配 郵箱的正則表達式:String regex="\w+@\w+(.\w+)+";
5.將提取到的數據放到集合中。正則表達式
代碼:網頁爬蟲
`import java.io.BufferedReader;`
`import java.io.InputStream;`
`import java.io.InputStreamReader;`
`import java.net.URL;`
`import java.util.ArrayList;`
`import java.util.List;`
`import java.util.regex.Matcher;`
`import java.util.regex.Pattern;`
`/*`
`* 網頁爬蟲:就是一個程序用於在互聯網中獲取指定規則的數據`
`*`
`*`
`*/`
歡迎加入全棧開發交流划水交流圈:582735936
面向划水1-3年前端人員
幫助突破划水瓶頸,提高思惟能力
`public class RegexDemo {`
`public static void main(String[] args) throws Exception {`
`List<String> list=getMailByWeb();`
`for``(String str:list){`
`System.out.println(str);`
`}`
`}`
`private static List<String> getMailByWeb() throws Exception {`
`//1.與網頁創建聯繫。使用URL`
`String path=``"[http://localhost:8080//1.html](http://localhost:8080//1.html)"``;//後面寫雙斜槓是用於轉義`
`URL url=``new` `URL(path);`
`//2.獲取輸入流`
`InputStream is=url.openStream();`
`//加緩衝`
`BufferedReader br=``new` `BufferedReader(``new` `InputStreamReader(is));`
`//3.提取符合郵箱的數據`
`String regex=``"\\w+@\\w+(\\.\\w+)+"``;`
`//進行匹配`
`//將正則規則封裝成對象`
`Pattern p=Pattern.compile(regex);`
`//將提取到的數據放到一個集合中`
`List<String> list=``new` `ArrayList<String>();`
`String line=``null``;`
`while``((line=br.readLine())!=``null``){`
`//匹配器`
`Matcher m=p.matcher(line);`
`while``(m.find()){`
`//3.將符合規則的數據存儲到集合中`
`list.add(m.group());`
`}`
`}`
`return` `list;`
`}`
`}`
複製代碼
注意:在執行前須要先開啓tomcat服務器tomcat
運行結果:bash
總結服務器
以上所述是小編給你們介紹的使用正則表達式實現網頁爬蟲的思路詳解,但願對你們有所幫助,若是你們有任何疑問請給我留言app