java怎么写网络爬虫

互联网 19-5-28
网络爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

聚焦爬虫工作原理以及关键技术概述

相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:

网络爬虫的实现原理

根据这种原理,写一个简单的网络爬虫程序 ,该程序实现的功能是获取网站发回的数据,并提取之中的网址,获取的网址我们存放在一个文件夹中。除了提取网址,我们还可以提取其他各种我们想要的信息,只要修改过滤数据的表达式则可以。

以下是利用Java模拟的一个程序,提取新浪页面上的链接,存放在一个文件里

源代码如下:

package com.cellstrain.icell.util;  import java.io.*; import java.net.*; import java.util.regex.Matcher; import java.util.regex.Pattern;  /**  * java实现爬虫  */ public class Robot {     public static void main(String[] args) {         URL url = null;         URLConnection urlconn = null;         BufferedReader br = null;         PrintWriter pw = null; //        String regex = "http://[\\w+\\.?/?]+\\.[A-Za-z]+";         String regex = "https://[\\w+\\.?/?]+\\.[A-Za-z]+";//url匹配规则         Pattern p = Pattern.compile(regex);         try {             url = new URL("https://www.rndsystems.com/cn");//爬取的网址、这里爬取的是一个生物网站             urlconn = url.openConnection();             pw = new PrintWriter(new FileWriter("D:/SiteURL.txt"), true);//将爬取到的链接放到D盘的SiteURL文件中             br = new BufferedReader(new InputStreamReader(                     urlconn.getInputStream()));             String buf = null;             while ((buf = br.readLine()) != null) {                 Matcher buf_m = p.matcher(buf);                 while (buf_m.find()) {                     pw.println(buf_m.group());                 }             }             System.out.println("爬取成功^_^");         } catch (MalformedURLException e) {             e.printStackTrace();         } catch (IOException e) {             e.printStackTrace();         } finally {             try {                 br.close();             } catch (IOException e) {                 e.printStackTrace();             }             pw.close();         }     } }

以上就是java怎么写网络爬虫的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java中什么是代理模式

相关资讯