java爬虫抓取网页数据(importjavaioimportimportFileimportimport)

优采云 发布时间: 2022-01-02 02:17

  java爬虫抓取网页数据(importjavaioimportimportFileimportimport)

  此代码是一个非常简单的网络爬虫,仅供娱乐。

  java代码如下:

  打包工具;

  导入 java.io.BufferedReader;

  导入 java.io.File;

  导入 java.io.FileWriter;

  import java.io.InputStreamReader;

  导入 java.io.Writer;

  导入.URL;

  导入.URLConnection;

  导入 java.sql.Time;

  导入 java.util.Scanner;

  导入 java.util.regex.Matcher;

  导入 java.util.regex.Pattern;

  公开课马{

  public static void main(String[] args) throws Exception {//这个程序为了简单起见异常太多了,不试了,直接扔给虚拟机

  long StartTime = System.currentTimeMillis();

  System.out.println("-- 欢迎使用小刘的简单网络爬虫程序--");

  System.out.println("");

  System.out.println("--请输入正确的网址如");

  Scanner input = new Scanner(System.in);// 实例化键盘输入类

  String webaddress = input.next();// 创建输入对象

  File file = new File("E:" + File.separator + "爬虫邮箱统计text.txt");//实例化一个文件类对象

  //并指定输出地址和输出文件名

  Writer outWriter = new FileWriter(file);// 实例化 outWriter 类

  URL url = new URL(webaddress);// 实例化 URL 类。

  URLConnection conn = url.openConnection();// 获取链接

  BufferedReader buff = new BufferedReader(new InputStreamReader(

  )

  conn.getInputStream()));// 获取网页数据

  字符串行 = null;

  int i=0;

  String regex = "\\w+@\\w+(\\.\\w+)+";// 声明正则,提取网页前提

  Pattern p = pie(regex);// 实例化模式 p>

  outWriter.write("本页收录的邮箱如下:\r\n");

  while ((line = buff.readLine()) != null) {

  Matcher m = p.matcher(line);// 匹配

  while (m.find()) {

  i++;

  outWriter.write(m.group() + ";\r\n");// 将匹配的字符输入到目标文件中

  }

  }

  long StopTime = System.currentTimeMillis();

  String UseTime=(StopTime-StartTime)+"";

  outWriter.write("----------------------------------------- --------------\r\n");

  outWriter.write("本次抓取页面地址:"+webaddress+"\r\n");

  outWriter.write("爬行时间:"+UseTime+"毫秒\r\n");

  outWriter.write("本次获取邮箱总数:"+i+"items\r\n");

  outWriter.write("****感谢您的使用****\r\n");

  outWriter.write("----------------------------------------- --------------");

  outWriter.close();// 关闭文件输出操作

  System.out.println("———————————————————————\t");

  System.out.println("|页面抓取成功,请到E盘根目录查看测试文档|\t");

  System.out.println("| |");

  System.out.println("|如果需要再次爬取,请再次执行程序,谢谢使用|\t");

  System.out.println("———————————————————————\t");

  }

  }

  txt截图如下:

  

  

  测试网址:通过这个例子,读者可以轻松抓取网页上的邮箱。如果读者对正则表达式有所了解,那么

  不仅可以抢邮箱,还可以抢手机号,IP地址等所有你想抢的信息。是不是很有趣?

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线