(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 106844774 A
(43)申请公布日 2017.06.13
(21)申请号 CN201710117081.7
(22)申请日 2017.03.01
(71)申请人 苏州朗动网络科技有限公司
    地址 215000 江苏省苏州市工业园区月亮湾路10号慧湖大厦A-901
(72)发明人 王杰 王金虎 邓会林
(74)专利代理机构 苏州中合知识产权代理事务所(普通合伙)
    代理人 李中华
(51)Int.CI
      G06F17/30
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      一种基于C#抓取互联网公开数据的爬虫系统及抓取方法
(57)摘要
      一种基于C#抓取互联网公开数据的爬虫系统及抓取方法,属于数据采集领域;所述爬虫系统包括爬虫程序模块,所述爬虫程序模块用于浏览、抓取与校验数据;服务器,所述服务器数量为至少两台,其内均部署有爬虫程序模块;目标站,所述爬虫程序模块在确定的所述目标站上浏览、抓取数据;非关系型数据库,所述非关系型数据库用于存储所述爬虫程序模块抓取的有效数据;还包括第三方接口,用于外接验证码识别破解程序模块。本发明所述爬虫系统可外接验证码识别破解程序模块,支持多种验证码破解,能够更好更快的访问目标站;支持部署到多台服务器,减少服务器的负载压力,运行、存储更多数据;支持NOSQL数据存储,读取的速度得到大幅度提升。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.一种基于C#抓取互联网公开数据的爬虫系统,其特征在于,包括:
爬虫程序模块,所述爬虫程序模块用于浏览、抓取与校验数据;
服务器,所述服务器数量为至少两台,其内均部署有爬虫程序模块;
目标站,所述爬虫程序模块在确定的所述目标站上浏览、抓取数据;
非关系型数据库,所述非关系型数据库用于存储所述爬虫程序模块抓取的有效数据。
2.根据权利要求1所述的基于C#抓取互联网公开数据的爬虫系统,其特征在于,还包括第三方接口,用于外接验证码识别破解程序模块,所述验证码识别破解程序模块能够识别、破解所述目标站的访问请求验证码。
3.根据权利要求2所述的基于C#抓取互联网公开数据的爬虫系统,其特征在于,所述目标站、非关系型数据库、第三方接口也设置于至少两台所述服务器内。
4.根据权利要求1所述的基于C#抓取互联网公开数据的爬虫系统,其特征在于,所述爬虫程序模块包括:
参数存储单元、目标站抓取单元、目标站分析确定单元、数据抓取单元、数据校验单元;
所述参数存储单元存储参数,其输出端连接所述目标站抓取单元输入端,所述目标站抓取单元输出端连接所述目标站分析确定单元输入端、所述目标站分析确定单元输出端连接所述数据抓取单元输入端,所述数据抓取单元输出端连接所述数据校验单元输入端,所述数据校验单元与所述参数存储单元连接,所述数据校验单元输出端连接所述非关系型数据库。
5.根据权利要求4所述的基于C#抓取互联网公开数据的爬虫系统,其特征在于,所述数据抓取单元与所述数据校验单元之间还设置有数据转换单元、所述数据抓取单元将抓取到的数据输出给所述数据转换单元,经所述数据转换单元将数据使用正则表达式或者Json序列化方法加以筛选提取后输出给所述数据校验单元。
6.根据权利要求4所述的基于C#抓取互联网公开数据的爬虫系统,其特征在于,在所述数据抓取单元内设数据分页判断模块,数据分页判断模块用于判断数据是否分页,进而实现数据抓取单元抓取每一页数据。
7.根据权利要求1所述的基于C#抓取互联网公开数据的爬虫系统,其特征在于,所述非关系型数据库是NoSQL。
8.一种基于C#抓取互联网公开数据的抓取方法,包括如权利要求1-7任一项所述的基于C#抓取互联网公开数据的爬虫系统,其特征在于,还包括以下步骤:
S100,将所述爬虫程序模块部署到至少两台所述服务器;
S200,确定需要抓取数据的目标站并准备数据请求参数;
S300,使用c#语言模拟目标站访问请求,抓取到目标站的数据;
S400,将抓取到的数据使用正则表达式或者Json序列化方法加以筛选提取;
正则匹配快代理S500,验证抓取到的数据跟参数匹配看是否是有效数据;
S600,将有效数据存储到非关系型数据库。
9.根据权利要求8所述的基于C#抓取互联网公开数据的抓取方法,其特征在于,所述步骤S300中还包括:
S301,判断所述目标站访问请求是否需要验证验证码,若需要验证验证码,则抓取请求验证码参数并且调用破解验证码服务,然后将破解结果添加到访问请求中,抓取到目标站的数据;
S302,判断目标站的数据抓取是否成功,若成功,则进入步骤S400;若失败,则进入步骤S303;
S303,将目标站访问状态标注为失败,爬虫程序检测到目标站访问状态是失败时,需要重新模拟目标站访问请求以抓取目标站数据,即重复步骤S300使用c#语言模拟目标站访问请求,然后进入步骤S301,直至判断目标站的数据抓取是成功为止。
10.根据权利要求9所述的基于C#抓取互联网公开数据的抓取方法,其特征在于,所述步骤S400与步骤S500中包括分页判断,即,判断所述目标站提取的数据有无分页,若有分页,则进行翻页,然后重复步骤S400;若无分页,则直接进入步骤S500。
说  明  书
<p>技术领域
本发明属于数据采集技术领域,具体的涉及一种抓取互联网公开数据的爬虫系统及抓取方法。
背景技术
网络爬虫是一种按照一定的规则,自动化地浏览网络和自动化地抓取网页信息的程序或者脚本,是搜索引擎的重要组成部分,搜索引擎在实现网络爬虫的功能时,通常需要一个爬虫系统来实现。
目前市面上大部分爬虫系统或者框架都是采用Python,Java,PHPcrawer等技术,采用C#做爬虫的很少,C#爬虫系统也少,而由于C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言,它使得程序员可以快速地编写各种基于MICROSOFT.NET平台的应用程序,如果设计开发对基于C#抓取互联网公开数据的爬虫系统将会大大提高程序员编写各种基于MICROSOFT.NET平台的应用程序的工作效率,因而,对基于C#抓取互联网公开数据的爬虫系统及抓取方法的需求是十分明显的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。