使用正则表达式实现网页爬虫的思路解读

优采云 发布时间: 2020-05-06 08:04

  网页爬虫:就是一个程序用于在互联网中获取指定规则的数据。

  思路:

  1.为模拟网页爬虫,我们可以如今我们的tomcat服务器端布署一个1.html网页。(部署的步骤:在tomcat目录的webapps目录的ROOTS目录下新建一个1.html。使用notepad++进行编辑网络爬虫 正则表达式,编辑内容为:

  

  )

  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;

/*

* 网页爬虫:就是一个程序用于在互联网中获取指定规则的数据

*

*

*/

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";//后面写双斜杠是用于转义

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服务器

  运行结果:

  

  总结

  以上所述是小编给你们介绍的使用正则表达式实现网页爬虫的思路解读,希望对你们有所帮助,如果你们有任何疑惑请给我留言,小编会及时回复你们的。在此也特别谢谢你们对优采云的支持!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线