• 简单的Java网络爬虫(获取一个网页中的邮箱)


     1 import java.io.BufferedReader;
     2 import java.io.FileNotFoundException;
     3 import java.io.FileReader;
     4 import java.io.IOException;
     5 import java.io.InputStreamReader;
     6 import java.net.URL;
     7 import java.util.ArrayList;
     8 import java.util.List;
     9 import java.util.regex.Matcher;
    10 import java.util.regex.Pattern;
    11 import java.io.*;
    12 
    13 public class SpiderTest {
    14 
    15     public static void main(String[] args) throws IOException {
    16         // TODO 自动生成的方法存根
    17         List<String> list =Search();
    18    for(String mail:list)
    19    {
    20        System.out.println(mail);
    21    }
    22     }
    23  public static List<String> Search() throws IOException{
    24         @SuppressWarnings("resource")
    25       //要抓取的网页
    26         URL url =new URL("http://tieba.baidu.com/p/2314539885");   
    27       //获取网页html文件中的信息
    28         BufferedReader buf=new BufferedReader(new InputStreamReader(url.openStream()));  
    29       //创建一个list来保存数据
    30         List<String> list =new ArrayList<String>();   
    31       //使用正则表达式来匹配邮箱
    32        String main_regex="\w+@\w+(\.\w+)+";   
    33         Pattern p= Pattern.compile(main_regex);
    34        String line=null;
    35        while((line=buf.readLine())!=null)
    36        {
    37            Matcher m=p.matcher(line);
    38            while(m.find()){
    39                list.add(m.group());
    40            }
    41        }
    42      return list;
    43  }
    44 }

    一个简单的网络爬虫基本上有这几步:

    1. 获取网页中的数据
    2. 匹配符合正则表达式的数据,将数据加入List
    3. 将数据输出到文件中或打印输出

    我写的这个爬虫是来抓取百度贴吧里留邮箱的一个页面中的所有的邮箱。(图片没打码不知道会不会有侵犯隐私的嫌疑)

  • 相关阅读:
    vim插件管理利器
    Ubuntu下安装java
    Eclipse的vim插件viPlugin的安装
    Ubuntu下如何检查文件的md5,sha-512码
    C语言的工具集
    ubuntu下禁用和恢复触摸板
    linux下开发C语言需要安装的manpages手册
    linux下C++的man文件安装
    源码编译安装git
    EditText属性详解
  • 原文地址:https://www.cnblogs.com/rever/p/4594075.html
Copyright © 2020-2023  润新知