北京赛车pk拾开奖直播:java爬虫 使用Java实现网络爬虫 - 电脑 - 松原迅成网www.mtnittanyinn.com

java爬虫 使用Java实现网络爬虫

来源:松原迅成网  编辑:无   时间:2017-10-22 06:25:06

网络爬虫

网络爬虫,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取

网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整

个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。所以要想抓取网络上的数据,不仅需要爬虫程序还需要一个可以接

受”爬虫“发回的数据并进行处理过滤的服务器,爬虫抓取的数据量越大,对服务器的性能要求则越高。

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

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上

的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析

算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上

述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚

焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

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

(1) 对抓取目标的描述或定义;

(2) 对网页或数据的分析与过滤;

(3) 对URL的搜索策略。

分类

网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Purpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、

增量式网络爬虫(Incremental Web Crawler)、深层网络爬虫(Deep Web Crawler)。 实际的网络爬虫系统通常是几种爬虫技术相结合实现的。

网络爬虫的实现原理

根据这种原理,写一个简单的网络爬虫程序 ,该程序实现的功能是获取网站发回的数据,并提取之中的网址,获取的网址我们存放在一个文件夹中,关于如何就从网

站获取的网址进一步循环下去获取数据并提取其中其他数据这里就不在写了,只是模拟最简单的一个原理则可以,实际的网站爬虫远比这里复杂多,深入讨论就太多

了。除了提取网址,我们还可以提取其他各种我们想要的信息,只要修改过滤数据的表达式则可以。以下是利用Java模拟的一个程序,提取新浪页面上的链接,存放

在一个文件里

源代码如下

package com.cellstrain.icell.util;
import java.io.*;
import .*;
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;
Pattern p = pile(regex);
try {
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();
}
}
}
在idea的运行结果如下:

看一下D盘有没有SiteURL.txt文件

已经成功生成SiteURL文件,打开可以看到里面都是抓取到的url

猜你喜欢

mm长啥样图片 女人最完美阴部长什么样子

你是否了解你的美丽呢?女性是世界上最美丽的事物之一,女性的阴部有独特的魅惑和诱惑力,女性的阴部长什么样子呢?你是不是...更多

2017-06-18
艺龙ebooking ebooking.elong.com艺龙酒店管理系统

艺龙酒店管理系统让酒店后台管理更简便,简单管理,高效赚钱。 艺龙酒店管理系统联系方式 业务洽谈:400 650 1316-4; 通知房...更多

2017-07-04
微信开始的图片 微信开启页面照片上的小秘密

知道了微信开启画面上地球照片的来历,果然不一般。 一个孤独的小人,面对巨大的地球站在那里,这就是微信的启动画面,许多...更多

2017-06-13
苹果电脑变得非常卡 哪些原因会造成电脑卡顿

&nbp;很多Mac用户选择Mac作为自己工作用机的原因之一是因为Mac独特的流畅性,但是由于各型号Mac性能以及安装软件越来越多的关...更多

2017-06-21
剑灵武器进化图 剑灵武器成长树

剑灵武器成长树 成长材料与费用一览(1-50级版本) Tip指引 1、应龙武器属性、成长材料费用一览表点击查看 2、天空/时空武器属性...更多

2017-06-28
友情链接:pk10开奖直播  北京赛车pk10开奖直播  pk10开奖直播  pk10  北京赛车pk10开奖直播  

免责声明: 本站资料及图片来源互联网文章,本网不承担任何由内容信息所引起的争议和法律责任。所有作品版权归原创作者所有,与本站立场无关,如用户分享不慎侵犯了您的权益,请联系我们告知,我们将做删除处理!