Java网络蜘蛛/网络爬虫 Spiderman

Spiderman - 又一个Java网络蜘蛛/爬虫

Spiderman 是一个基于微内核+插件式架构的网络蜘蛛,它的目标是通过简单的方法就能将复杂的目标网页信息抓取并解析为自己所需要的业务数据。

主要特点

* 灵活、可扩展性强,微内核+插件式架构,Spiderman提供了多达 10 个扩展点。横跨蜘蛛线程的整个生命周期。
* 通过简单的配置就可以将复杂的网页内容解析为自己需要的业务数据,无需编写一句代码
* 多线程

怎么使用?

  • 首先,确定好你的目标网站以及目标网页(即某一类你想要获取数据的网页,例如网易新闻的新闻页面)
  • 然后,打开目标页面,分析页面的HTML结构,得到你想要数据的XPath,具体XPath怎么获取请看下文。
  • 最后,在一个xml配置文件里填写好参数,运行Spiderman吧!

这里有个抓取案例

这里有篇文章介绍示例: http://my.oschina.net/laiweiwei/blog/100866

XPath获取技巧?

这里只说下Chrome浏览器,其他浏览器估计也差不多,只不过插件不同而已。

  • 首先,下载xpathonclick插件,https://chrome.google.com/webstore/search/xpathonclick
  • 安装完毕之后,打开Chrome浏览器,可以看到右上角有个“X Path” 图标。
  • 在浏览器打开你的目标网页,然后点击右上角的那个图片,然后点击网标上你想要获取XPath的地方,例如某个标题
  • 这时候按住F12打开JS控制台,拖到底部,可以看到一串XPath内容
  • 记住,这个内容不是绝对OK的,你可能还需要做些修改,因此,你最好还是去学习下XPath语法
  • 学习XPath语法的地方:http://www.w3school.com.cn/xpath/index.asp

自风/Spiderman

star 628 | fork 375

强力 Java 爬虫,列表分页、详细页分页、ajax、微内核高扩展、配置灵活

issues:

最近提交:

下载zip

时间: 2024-12-25 02:43:14

Java网络蜘蛛/网络爬虫 Spiderman的相关文章

推荐10款流行的java开源的网络爬虫

1:JAVA爬虫WebCollector(Star:1345) 爬虫简介: WebCollector是一个无须配置.便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫.WebCollector-Hadoop是WebCollector的Hadoop版本,支持分布式爬取. 爬虫内核: WebCollector致... 2:开源通用爬虫框架YayCrawler(Star:91) YayCrawler是一个基于WebMagic开发的分布式通用爬虫框架,开

网络蜘蛛

网络蜘蛛基本原理 网络蜘蛛即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页,从 网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网 站所有的网页都抓取完为止.如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来. 对于搜索引 擎来说,要抓取互联网上所有的网页几乎是不可

网络爬虫(网络蜘蛛)之网页抓取

现在有越来越多的人热衷于做网络爬虫(网络蜘蛛),也有越来越多的地方需要网络爬虫,比如搜索引擎.资讯采集.舆情监测等等,诸如此类.网络爬虫涉及到的技术(算法/策略)广而复杂,如网页获取.网页跟踪.网页分析.网页搜索.网页评级和结构/非结构化数据抽取以及后期更细粒度的数据挖掘等方方面面,对于新手来说,不是一朝一夕便能完全掌握且熟练应用的,对于作者来说,更无法在一篇文章内就将其说清楚.因此在本篇文章中,我们仅将视线聚焦在网络爬虫的最基础技术--网页抓取方面. 说到网页抓取,往往有两个点是不得不说的,首

Java学习之网络编程实例

转自:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616413.html 多谢分享 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习. 在学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的.首先来问一个问题:你 会打手机吗?很多人可能说肯定会啊,不就是按按电话号码

Socket网络编程--网络爬虫(1)

我们这个系列准备讲一下--网络爬虫.网络爬虫是搜索引擎系统中十分重要的组成部分,它负责从互联网中搜集网页,采集信息,这些网页信息用于建立索引从而为搜索引擎提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果.网络爬虫的基本工作原理: (1)从一个初始URL集合中挑选一个URL,下载该URL对应的页面: (2)解析该页面,从该页面中抽取出其包含的URL集合,接下来将抽取的URL集合再添加到初始URL集合中: (3)重复前两个过程,直到爬虫达到某种停止

Java中的网络支持InetAddress&URL

针对网络通信的不同层次,Java提供的网络功能有四大类 InetAddress:用于标识网络上的硬件资源.(说白了就是IP地址的相关信息) URL:统一资源定位符,通过URL可以直接读取或写入网络上的数据 Sockets:使用TCP协议实现网络通信的Socket相关的类 Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信.(通过在网络中发送数据报进而实现网络的通信) InetAddress类用于标识网络上的硬件资源,表示互联网协议(IP)协议. 1 package zhan

java基础篇---网络编程

一:IP与InetAddress 在Java中支持网络通讯程序的开发,主要提供了两种通讯协议:TCP协议,UDP协议 可靠地连接传输,使用三方握手的方式完成通讯 不可靠的连接传输,传输的时候接受方不一定可以接受的到 在Java中的所有网络程序的开发类都在java.net包中存在 IP地址简介 IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络

黑马程序员————java中的网络编程

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- java中的网络编程 一.网络编程概述:基于互联网的编程 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换. 二.网络模型:OSI和TCP/IP 1.OSI(Open System Interconnection开放系统互连

66.JAVA编程思想——网络编程

66.JAVA编程思想--网络编程 历史上的网络编程都倾向于困难.复杂,而且极易出错. 程序员必须掌握与网络有关的大量细节,有时甚至要对硬件有深刻的认识.一般地,我们需要理解连网协议中不同的"层"(Layer).而且对于每个连网库,一般都包含了数量众多的函数,分别涉及信息块的连接.打包和拆包:这些块的来回运输:以及握手等等.这是一项令人痛苦的工作.但是,连网本身的概念并不是很难.我们想获得位于其他地方某台机器上的信息,并把它们移到这儿:或者相反.这与读写文件非常相似,只是文件存在于远程