java爬虫简单实例

爬虫的实质就是打开网页源代码进行匹配查找,然后获取查找到的结果。/** 获取* 将正则规则进行对象的封装。 * Pattern p = Pattern.compile("a*b");* //通过正则对象的matcher方法字符串相关联。获取要对字符串操作的匹配器对象Matcher .* Matcher m = p.matcher("aaaaab");* //通过Matcher匹配器对象的方法对字符串进行操作。* boolean b = m.matches();*/package com.js.ai.modules.pointwall.testxfz;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Spider {
public static List<String> getMailsByWeb() throws IOException{
	//1,读取源文件。
	URL url=new URL("http://www.cnblogs.com/Renyi-Fan/p/6896901.html");
	BufferedReader bufr=new BufferedReader(new InputStreamReader(url.openStream()));
	//2,对读取的数据进行规则的匹配。从中获取符合规则的数据.
	String mail_regex = "\\[email protected]\\w+(\\.\\w+)+";
	List<String> list=new ArrayList<String>();
	Pattern p = Pattern.compile(mail_regex);
	String line = null;
	while((line=bufr.readLine())!=null){
		Matcher m = p.matcher(line);
		while(m.find()){
			//3,将符合规则的数据存储到集合中。
			list.add(m.group());
		}
	}
	return list;
}
public static List<String> getMails() throws IOException{
	//1,读取源文件。
	BufferedReader bufr=new BufferedReader(new FileReader("c:\\mail.html"));
	//2,对读取的数据进行规则的匹配。从中获取符合规则的数据.
	   String mail_regex = "\\[email protected]\\w+(\\.\\w+)+";
	   List<String> list = new ArrayList<String>();
	   Pattern p = Pattern.compile(mail_regex);
	   String line = null;
	   while((line=bufr.readLine())!=null){
	     Matcher m = p.matcher(line);
	     while(m.find()){
	       //3,将符合规则的数据存储到集合中。
	       list.add(m.group());
	     }
	   }
	return list;
}
public static void main(String[] args) throws IOException {
//  List<String> list = getMails();
//  for(String mail : list){
//    System.out.println(mail);
//  }
	List<String> list=getMailsByWeb();
	for(String mail:list){
		System.out.println(mail);
	}
}
}

  

时间: 2024-08-15 23:50:58

java爬虫简单实例的相关文章

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

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

主题:Java WebService 简单实例

链接地址:主题:Java WebService 简单实例    http://www.iteye.com/topic/1135747 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作. 一.准备工作(以下为本实例使用工具) 1.MyEclipse10.7.1 2.JDK 1.6.0_22 二.创建服务端 1.创建[Web Service Project],命名为[TheService].   2.创建[Class]类,命名为[ServiceHello],位于[com.

Java 多线程 简单实例 (消费者与生成者)的关系

PS::线程这套东西在PHP里完全是不存在的概念,有待进一步的学习: PS::这个实例是根据书本上的知识进行扩展的,理解程度50%左右吧! 1.定义生产消费环境 package second; public class Queue { int value = 0; boolean isEmpty = true; /** * 生产者 * @param v */ public synchronized void put(int v){ if(!isEmpty){//如果存在数据没有被消费 try{

java爬虫简单实现

以下为源码 package WebSpider; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.nio.charset.Charset; import java.util.regex.Matcher; import

Java WebService 简单实例[转载]

[注意,本文转载自  http://hyan.iteye.com/    ] 一.准备工作(以下为本实例使用工具) 1.MyEclipse10.7.1 2.JDK 1.6.0_22 二.创建服务端 1.创建[Web Service Project],命名为[TheService]. 2.创建[Class]类,命名为[ServiceHello],位于[com.hyan.service]包下. 3.编写供客户端调用的方法,即编译方法代码. 4.进行编译 说明:编译失败的话,请将该项目引用的jdk设置

Java WebService 简单实例

前言:开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作. 一.准备工作(以下为本实例使用工具) 1.MyEclipse10.7.1 2.JDK 1.6.0_22 二.创建服务端 1.创建[Web Service Project],命名为[TheService].   2.创建[Class]类,命名为[ServiceHello],位于[com.hyan.service]包下.   3.编写供客户端调用的方法,即编译方法代码. 4.进行编译 说明:编译失败的话,请将该项目引用的jdk

Java WebService简单实例

一.准备工作(以下为本实例使用工具) 1.MyEclipse10.7.1 2.JDK 1.6.0_22 二.创建服务端 1.创建[Web Service Project],命名为[TheService].   2.创建[Class]类,命名为[ServiceHello],位于[com.hyan.service]包下.   3.编写供客户端调用的方法,即编译方法代码. 4.进行编译 说明:编译失败的话,请将该项目引用的jdk设置为1.6.0_17版本或更高版本   5.测试结果 测试地址:http

00009 python3爬虫简单实例

OS: ubuntu-18.04.1 apt install -y python3-pip pip3 install bs4 pip3 install lxml #!/usr/bin/env python3 import requests r = requests.get('http://www.wise.xmu.edu.cn/people/faculty') html = r.content from bs4 import BeautifulSoup soup = BeautifulSoup(

利用Java编写简单的WebService实例

使用Axis编写WebService比较简单,就我的理解,WebService的实现代码和编写Java代码其实没有什么区别,主要是将哪些Java类发布为WebService.下面是一个从编写测试例子到发布WebService,以及编写测试代码的过程介绍. 本例子的WebService提供了两个方法,分别是sayHello和sayHelloToPerson,第一个只是返回一个"Hello"字符串,没有参数,第二个函数接受一个字符串作为参数,返回"Hello 参数值",