第一次在iteye上写博客,这个程序是根据公司的需求+个人的想法=针对商品信息抽取的第一个版本
源代码地址:
https://github.com/txf7337/dabao-spider
基本配置
jdbc数据库 //mysql测试过
文件下载,文字识别的线程数以及线程爬取的间隔
任务周期
文件保存目录
代理的配置
<host>主机名
<port>端口号
<auth>用户名密码(如果需要的话)
数据源配置
线程数、线程爬取的间隔、是否使用代理
数据源种子
<seed url="http://www.okbuy.com/product/filter?category=54&per_page=*00" from="1" to="1"
query="li.pc_list_hover>div.img>a" attr="href">
<columns>
<column name="style" value="运动鞋" type="VARCHAR(100)" />
</columns>
</seed>
1. 种子url,*代表页数,from-to是从第几页爬到第几页
2. Query爬取数据url的规则(jquery规则)
3. Attr拿该标签的attr属性内容,如果为空,则拿该标签的文本内容
4. Columns这个种子能确定的某些字段
数据源爬取规则
<columns>
<column name="id" type="INT(11)">
<rule type="html" value="ul.pProductTitle>li>p" index="0" />
</column>
<column name="brand" type="INT(11)">
<rule type="text" url=" http://www.okbuy.com/product/ajax_product_info/{id}" value="0" />
</column>
<column name="arno" type="VARCHAR(100)">
<rule type="json" url="http://www.okbuy.com/product/ajax_product_info/{id}" value="/o/salepr" index="0" />
</column>
<column name="price" type="DOUBLE" ocr_column="price_ocr_url">
<rule type="html" value="ul#summary>li#summary-price>div.dd>strong>img" index="0" attr="src"/>
</column>
<column name="img_1" type="VARCHAR(1000)" file_column="img_1_url"
file_path="{yyyy}/{MM}/" >
<rule type="html" value="table.multi_view>tbody>tr>td>a" index="0" attr="href"/>
</column>
</columns>
1. Column:字段
如果seed.column里有的字段,最好不要再出现。(seed里有的字段,说明这个字段值已经在确定了,不需要再抽取)
2. Name:字段名
唯一的,一张表可能有两个字段名字相同吗?
3. Type:字段类型
4. Ocr_column:需要识别的图片url字段
需要识别的图片的url字段
5. File_column:需要下载的文件url字段
需要下载的文件的url字段
6. File_path:下载的相对路径
完整路径:basepath+数据源+file_path
7. Overwrite:要是该字段已经有值了,是否覆盖。默认是false
8. Rule.type:爬取的类型
A. Html query规则抽取
B. Json json规则抽取
C. Xml xml规则抽取
D. Text 正则规则抽取
9. Rule:value:爬取的规则
A. Html对应query规则
B. Json、xml对应xpath规则
C. Text对应正则
10. Rule:url:异步请求的url
如果是json、xml规则,rule.url不能为空。{name}对应url里的参数,name必须有值,name就是字段名
11. Rule:attr: 拿该标签的attr属性内容,如果为空,则拿该标签的文本内容
12. Rule:index:拿第几个标签,默认是0(第一个)
附件里start.bat可以直接运行
最后如果有人想要源码的可以给我发邮件
我希望能继续开发下去,把这个小程序写强大
分享到:
相关推荐
基于python实现中文事件触发词抽取-命名实体识别项目源码.zip 代码完整下载可用,确保可以运行。 基于python实现中文事件触发词抽取-命名实体识别项目源码.zip 代码完整下载可用,确保可以运行。基于python实现...
这里以[工业知识图谱关系抽取-高端装备制造知识图谱自动化构建 竞赛 - DataFountain](https://www.datafountain.cn/competitions/584)为例,一步一步的进行。 - 拷贝项目:```git clone ...
网上商品信息处理Java程序是一种基于Web的应用,它利用Servlet技术和数据库操作来管理商品信息,提供用户界面进行查询、购买和管理商品。以下是对这个程序及其关键组成部分的详细说明: 1. **Servlet技术**: ...
分享一套课程--动手学关系抽取-知识图谱基础篇 知识图谱技术提供了一种更好的组织、管理和理解互联网海量信息的能力,将互联网的信息表达成更接近于人类认知世界的形式。关系抽取作为知识图谱构建与使用关键技术之一...
Kettle 数据抽取---全量抽取 Kettle 数据抽取是数据集成和数据处理中非常重要的一步,它可以将数据从一个源系统中抽取出来,并将其转换成目标系统所需的格式,以便进行进一步的处理和分析。在本节中,我们将详细...
标签“java”表明整个项目是使用Java语言编写的,这包括后端服务、可能的数据处理逻辑以及可能的部分前端脚本。Java以其跨平台、面向对象和强大的库支持而被广泛用于服务器端开发。 在压缩包文件名称列表中,仅有一...
网页信息抽取工具 java网页信息抽取工具 java网页信息抽取工具 java网页信息抽取工具 java网页信息抽取工具 java网页信息抽取工具 java网页信息抽取工具
本文旨在介绍一个使用JAVA语言设计的随机抽取数名学生程序,旨在解决在实际教学场景中需要随机抽取学生的需求。该程序使用了JAVA语言的多种特性,如数组、集合、随机数生成等,实现了一个功能强大且易于使用的随机...
本项目“machine-learning-in-java-master”即为一个用Java语言实现的数字手写识别系统,它将传统的图像处理技术与现代的机器学习算法相结合,为用户提供了一种高效且灵活的解决方案。 首先,让我们了解手写数字...
Java面向对象编程(Object-Oriented Programming,简称OOP)是一种强大的编程范式,它将复杂的程序设计问题通过模拟现实世界中的对象来解决。在Java中,OOP主要包含四个核心概念:封装、继承、多态和抽象。下面将...
本文将深入探讨如何使用Java编程语言实现从一个数据库中定时自动抽取数据并复制到另一个数据库,以达到数据库间的实时或近实时同步。 首先,我们需要了解基础概念。Java是一种广泛使用的面向对象的编程语言,具有...
Java是一种高性能、跨平台的面向对象编程语言。它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势...
使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...
关系抽取是自然语言处理中的一个重要领域,主要涉及从文本中识别和提取实体之间的语义关系。...随着深度学习和自然语言理解技术的发展,关系抽取的准确性和效率将持续提高,进一步推动信息处理和知识挖掘的边界。
这个程序是用Java编程语言编写的,Java是一种广泛使用的面向对象的编程语言,以其跨平台的特性而著名,能够运行在多种操作系统上,如Windows、Mac OS以及各种Linux发行版。 首先,我们要理解程序的核心功能——随机...
在数据处理过程中,增量抽取是一项重要的技术,尤其是在大数据场景下,能够有效减少不必要的数据处理,提高效率。 增量抽取是指仅处理自上次抽取以来发生更改的数据,而不是重新处理整个数据集。这种策略对于保持...
"网络游戏-一种网络商品信息抽取方法.zip"这个压缩包文件提供了一种专门针对网络游戏领域进行网络商品信息抽取的方法,这对于理解游戏市场、优化运营策略、提升用户体验等方面具有重要意义。以下是关于这个主题的...
知识抽取建立在信息抽取的基础上,两者都应用了自然语言处理技术、基于规则的包装器以及机器学习技术。 在知识抽取过程中,面临的主要挑战包括知识的不明确性、关系缺失、不完备性和不一致性。例如,标签或属性可能...