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

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用正则表达式实现网页爬虫的思路详解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

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

思路:

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

运行结果:

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

总结

脚本宝典总结

以上是脚本宝典为你收集整理的使用正则表达式实现网页爬虫的思路详解全部内容,希望文章能够帮你解决使用正则表达式实现网页爬虫的思路详解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。