Java正则表达式--网页爬虫
Posted 菜鸟奋斗史
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java正则表达式--网页爬虫相关的知识,希望对你有一定的参考价值。
网页爬虫:其实就一个程序用于在互联网中获取符合指定规则的数据 爬取邮箱地址,爬取的源不同,本地爬取或者是网络爬取
(1)爬取本地数据:
1 public static List<String> getMails() throws IOException { 2 // 1.读取源文件 3 // 爬取本地文件 4 BufferedReader bufr = new BufferedReader(new FileReader("D:\\mail.txt")); 5 // 2.对读取的数据进行规则的匹配,从中获取符合规则的数据 6 String mail_regex = "\\[email protected]\\w+(\\.\\w+)+"; 7 List<String> list = new ArrayList<String>(); 8 Pattern p = Pattern.compile(mail_regex); 9 String line = null; 10 while ((line = bufr.readLine()) != null) { 11 Matcher m = p.matcher(line); 12 while (m.find()) { 13 // 3.将符合规则的数据存储到集合中 14 list.add(m.group()); 15 } 16 } 17 return list; 18 }
运行结果:
[email protected] [email protected] 163@com.cn [email protected]163.com.cn
(2)爬取网络数据
1 public static List<String> getWebMails() throws IOException { 2 // 1.读取源文件 3 URL url = new URL("http://sina.com.cn"); 4 BufferedReader bufIn = new BufferedReader(new InputStreamReader( 5 url.openStream())); 6 // 2.对读取的数据进行规则的匹配,从中获取符合规则的数据 7 String mail_regex = "\\[email protected]\\w+(\\.\\w+)+"; 8 List<String> list = new ArrayList<String>(); 9 Pattern p = Pattern.compile(mail_regex); 10 String line = null; 11 while ((line = bufIn.readLine()) != null) { 12 Matcher m = p.matcher(line); 13 while (m.find()) { 14 // 3.将符合规则的数据存储到集合中 15 list.add(m.group()); 16 } 17 } 18 return list; 19 }
运行结果:
以上是关于Java正则表达式--网页爬虫的主要内容,如果未能解决你的问题,请参考以下文章
请大家帮帮忙. 使用java爬虫得到网页以后怎么提取里面自己需要的内容呢?如果会代码请您写一下.谢谢您
JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫
系统进阶学习python,爬虫,网页设计,正则表达式(附源代码)