GoldDataSpider网页数据抽取工具
GoldDataSpider 是用于抓取网页和抽取数据的工具。其核心代码是从金色数据抓取融合平台分离而来。
该项目提供抓取和抽取来自网页数据,不仅可以抽取网页内的内容,还能抽取URL、HTTP报头、Cookie里的数据。
该项目定义了一种简洁、灵活、敏捷的结构或者说是规则语法。极尽其所能将网页内容、HTTP报头、Cookie、甚至关联其它网页、其它网站数据,抽取出有意义有价值数据字段,组成一条数据记录。除此之外,还能内嵌http请求,以补充数据字段,比如某些字段需要向词典提供翻译这样的字段等等。
该项目还可支持从各种类型文档抽取数据,比如html/xml/json/javascript/text等。
我们还提供了规则可视化配制,请下载采集数量不受限、爬虫数量不受限、导出数据数量不受限的完全免费金色数据平台社区版 。以及详尽的文档
使用入门
首先,我们需要将依赖加入项目当中,如下:
1、对于maven项目
<dependency> <groupId>com.100shouhou.golddata</groupId> <artifactId>golddata-spider</artifactId> <version>1.1.3</version> </dependency>
2、对于gradle项目
compile group: 'com.100shouhou.golddata', name: 'golddata-spider', version: '1.1.3'
然后你将可以使用该依赖所提供的简洁清晰的API,如下:
@Test public void testGoldSpider(){ String ruleContent= " { \n"+ " __node: li.sky.skyid \n"+ " date: \n"+ " { \n"+ " expr: h1 \n"+ " __label: 日期 \n"+ " } \n"+ " sn: \n"+ " { \n"+ " \n"+ " js: md5(baseUri+item.date+headers['Content-Type']);\n"+ " } \n"+ " weather: \n"+ " { \n"+ " expr: p.wea \n"+ " } \n"+ " temprature: \n"+ " { \n"+ " expr: p.tem>i \n"+ " } \n"+ " } \n"; GoldSpider spider= com.xst.golddata.GoldSpider.newSpider() .setUrl("http://www.weather.com.cn/weather/101020100.shtml") .setRule(ruleContent) .request(); List list=spider.extractList(); // List<Weather> weathers=spider.extractList(Weather.class); // Weather weathers=spider.extractFirst(Weather.class); list.forEach( System.out::println); }
运行上面的测试,你将可以看类似下面的输出:
{date=19日(今天), weather=阴转小雨, temprature=10℃, sn=8bc265cb2bf23b6764b75144b255d81d} {date=20日(明天), weather=小雨转多云, temprature=11℃, sn=9efd7e7bbbfb9bb06e04c0c990568bfd} {date=21日(后天), weather=多云转中雨, temprature=11℃, sn=728539ac882721187741708860324afa} {date=22日(周六), weather=小雨, temprature=9℃, sn=a23fa2233e750a3bdd11b2e200ed06c3} {date=23日(周日), weather=小雨转多云, temprature=8℃, sn=b27e1b8a8e92a7bed384ceb3e4fdfb5f} {date=24日(周一), weather=多云转小雨, temprature=8℃, sn=c142b7fd12330ca031dd96b307c0d50d} {date=25日(周二), weather=小雨转中雨, temprature=6℃, sn=16f71d3c8f09394588532a3ed1a8bacf}
当作Service或者API使用
你可以在项目中,可以当作调用服务和API使用。例如如下:
@Service public class WeatherServiceImpl implements WeatherService{ public List<Weather> listByCityId(Long cityId){ String url="http://www.weather.com.cn/weather/"+cityId+".shtml" String rule="<同上>" GoldSpider spider= com.xst.golddata.GoldSpider.newSpider() .setUrl(url) .setRule(ruleContent) .request(); return spider.extractList(Weather.class); } }
对于可视化配制,可以参考免费社区版文档。以下就免费社区版做简单介绍 ,详情见官网!
免费社区版:
开源/免费
让用户更好理解和使用产品
我们针对数据采集免费,还开放和维护核心的开源代码项目。让用户可以更好的使用、理解采集,用好采集。 让用户在各种场景应用金色数据采集带来的便利,我们有信心让客户见到一个开放的数据平台,让用户放心/省心/省力。
自由/灵活
透出一股强大的采集核心
我们的采集器,将向用户暴露一切目标数据,除了常规网页内容,还有如URL、HTTP报头、Cookie等。还提供了各种解析工具和函数,让用户不仅能得到网页内容里的数据,还能得到URL、HTTP报头、Cookie里隐藏的核心数据,还能灵活做到智能防封。
分布式采集
私有云,更灵活,更安全,更放心
可以根据自身需求,随意部署采集器数量,7*24小时不间断运行,采集后端集中灵活控制。可自由指挥数据在哪个采集器采集。可定义定时采集,无需人员值守。
数据可关联可追踪
恢复/重建数据内在与外在价值
可以让每条数据随着目标网站目标内容更新(如商品价格)、而更新用户应用表该条数据相关字段内容。
非侵入式融合
融合从未如此现实和简单
完全可以在不改变用户应用表结构(增删改表列),而将采集数据融入到应用表中。
自动化/一体化
无需人力操作,即抓即用
不只是采集可以自动化抓取,融合也提供了手动化和强大自动化功能。还将采集与融合操作无缝对接,可将目标数据抓一条融合一条,实时流向应用表,做到即抓即用!
评论
Krabber网页抽取工具
Krabber是kVitrail的网页抽取工具。Krabber的设计目标是提供一个可以为Java应用调用的、可以执行网页上的JavaScript代码、并返回JavaScript代码执行后的网页的HTM
Krabber网页抽取工具
0
Wandora数据抽取工具
Wandora是一个通用的数据提取,管理和发布应用程序,基于主题地图和基于Java的。Wandora有一个图形用户界面,知识层次的介绍,几个数据存储选择,丰富的数据提取,进口和出口能力,以及一个嵌入式
Wandora数据抽取工具
0
HttpWatch网页数据分析工具
HttpWatch是一款强大的网页数据分析工具.集成在InternetExplorer工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST数据和目录管理功能.报告输
HttpWatch网页数据分析工具
0
cx-extractor通用网页正文抽取
基于行块分布函数的通用网页正文抽取:线性时间、不建DOM树、与HTML标签无关对于Web信息检索来说,网页正文抽取是后续处理的关键。虽然使用正则表达式可以准确的抽取某一固定格式的页面,但面对形形色色的
cx-extractor通用网页正文抽取
0