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     }

运行结果:

[email protected]
[email protected]
时间: 2024-08-06 15:35:34

Java正则表达式--网页爬虫的相关文章

java实现网页爬虫

接着上面一篇对爬虫需要的java知识,这一篇目的就是在于网页爬虫的实现,对数据的获取,以便分析. -----> 目录:   1.爬虫原理 2.本地文件数据提取及分析 3.单网页数据的读取 4.运用正则表达式完成超连接的连接匹配和提取 5.广度优先遍历,多网页的数据爬取 6.多线程的网页爬取 7.总结 爬虫实现原理 网络爬虫基本技术处理 网络爬虫是数据采集的一种方法,实际项目开发中,通过爬虫做数据采集一般只有以下几种情况: 1) 搜索引擎 2) 竞品调研 3) 舆情监控 4) 市场分析 网络爬虫的

正则表达式--——网页爬虫

网页爬虫 import java.net.*; import java.io.*; import java.util.regex.*; class findMail { public static void main(String[] args) throws Exception { //读取流 关联文件 //BufferedReader bin = new BufferedReader(new FileReader("mail.txt")); //获取网页上的数据  需要获取输入流 

正则表达式--网页爬虫

1 /* 2 * 网页爬虫:其实就一个程序用于在互联网中获取符合指定规则的数据. 3 * 4 * 爬取邮箱地址. 5 * 6 */ 7 public class RegexTest2 { 8 9 /** 10 * @param args 11 * @throws IOException 12 */ 13 public static void main(String[] args) throws IOException { 14 15 16 List<String> list = getMail

JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫

JAVA之旅(三十四)--自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫 我们接着来说网络编程,TCP 一.自定义服务端 我们直接写一个服务端,让本机去连接,可以看到什么样的效果 package com.lgl.socket; import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; publ

网页爬虫的设计与实现(Java版)

网页爬虫的设计与实现(Java版)     最近为了练手而且对网页爬虫也挺感兴趣,决定自己写一个网页爬虫程序. 首先看看爬虫都应该有哪些功能. 内容来自(http://www.ibm.com/developerworks/cn/java/j-lo-dyse1/index.html?ca=drs-) 网页收集的过程如同图的遍历,其中网页就作为图中的节点,而网页中的超链接则作为图中的边,通过某网页的超链接 得到其他网页的地址,从而可以进一步的进行网页收集:图的遍历分为广度优先和深度优先两种方法,网页

java网页爬虫简单实例详解——获取天气预报。

[本文介绍] 爬取别人网页上的内容,听上似乎很有趣的样子,只要几步,就可以获取到力所不能及的东西,例如呢?例如天气预报,总不能自己拿着仪器去测吧!当然,要获取天气预报还是用webService好.这里只是举个例子.话不多说了,上看看效果吧. [效果] 我们随便找个天气预报的网站来试试:http://www.weather.com.cn/html/weather/101280101.shtml 从图中可用看出,今天(6日)的天气.我们就以这个为例,获取今天的天气吧! 最终后台打印出: 今天:6日

JavaSE学习笔记21:Java正则表达式

Java正则表达式   1.正则表达式(特点) 正则表达式,顾名思义,就是符合一定规则的表达式.作用是专门用于操作字符串,虽说String类中已经有了很多操作字符串的方法,但是它们的功能单一,操作起来还麻烦,正则弥补了它们的补足. 下面我们通过一个小例子来感受一下区别: 需求:对QQ号码进行校验,要求:5~15位,0不能开头,只能是数字. (1)常规的做法: class CheckQQ { public static void main(String[] args) { String qq="3

Java开发搜索引擎爬虫

1 package com.peidon.html; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.io.InputStream; 8 import java.io.InputStreamReader; 9 import java.net.HttpURLConnectio

Java 正则表达式(精华)

英文:Jakob Jenkov译文:严亮链接:ifeve.com/java-regex/ Java 提供了功能强大的正则表达式API,在java.util.regex 包下.本教程介绍如何使用正则表达式API. 正则表达式 一个正则表达式是一个用于文本搜索的文本模式.换句话说,在文本中搜索出现的模式.例如,你可以用正则表达式搜索网页中的邮箱地址或超链接. 正则表达式示例 下面是一个简单的Java正则表达式的例子,用于在文本中搜索 http:// String text = "This is th