CN114491210A - 一种基于网络爬虫的数据获取方法和装置 - Google Patents

一种基于网络爬虫的数据获取方法和装置 Download PDF

Info

Publication number
CN114491210A
CN114491210A CN202210105695.4A CN202210105695A CN114491210A CN 114491210 A CN114491210 A CN 114491210A CN 202210105695 A CN202210105695 A CN 202210105695A CN 114491210 A CN114491210 A CN 114491210A
Authority
CN
China
Prior art keywords
information
target server
data
request
configuration information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210105695.4A
Other languages
English (en)
Inventor
戴胜维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Kuaiyin Payment Information Technology Co ltd
Original Assignee
Shenzhen Kuaiyin Payment Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Kuaiyin Payment Information Technology Co ltd filed Critical Shenzhen Kuaiyin Payment Information Technology Co ltd
Priority to CN202210105695.4A priority Critical patent/CN114491210A/zh
Publication of CN114491210A publication Critical patent/CN114491210A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种基于网络爬虫的数据获取方法和装置。通过获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息;向所述目标服务器发送所述登录报文;接收所述目标服务器依据所述登录报文生成的网站信息;依据所述网站信息生成人工操作请求并发送至所述目标服务器;接收所述目标服务器依据所述人工操作请求生成的第一运营信息;依据所述第一运营信息生成所述目标服务器的运营数据。通过获取数据运营数据,能够自动获取代理商管理台的数据,降低人力成本,应对运营过程中的各种数据查询及复杂的数据报表。

Description

一种基于网络爬虫的数据获取方法和装置
技术领域
本申请涉及互联网技术领域,特别是一种基于网络爬虫的数据获取方法和装置。
背景技术
网络爬虫,又称为网页蜘蛛,网络机器人,在网络社区中间,更经常的称为网页追逐者,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。随着时代的进步,网络爬虫运用在越来越多的领域。
在运营代理商业务时,相关的支撑数据大多数都会来至于代理商系统的管理后台。业务运营人员登录代理商的管理台,并通过查询相关的业务数据,作为运营支撑,或制作各种数据报表。
现有的业务模式下,需要上级代理商分配多个运营账号,由本级代理商指定多个运营人员通过人工的方式进行运营支持,一些复杂的数据报表,无法直接查询,必须通过多次查询及人工处理,人力成本急剧增加,同时数据查询完全依赖代理商系统的稳定性。
发明内容
鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种基于网络爬虫的数据获取方法和装置,包括:
一种基于网络爬虫的数据获取方法,所述方法通过网络爬虫自动获取目标服务器的运营数据,所述方法涉及目标服务器,所述方法包括:
获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息;
向所述目标服务器发送所述登录报文;
接收所述目标服务器依据所述登录报文生成的网站信息;
依据所述网站信息生成人工操作请求并发送至所述目标服务器;
接收所述目标服务器依据所述人工操作请求生成的第一运营信息;
依据所述第一运营信息生成所述目标服务器的运营数据。
优选地,依据所述第一运营信息生成所述目标服务器的运营数据的步骤,包括:
依据所述第一运营信息进行信息分类;其中,所述信息分类包括JSON数据和Html数据;
对所述JSON数据在预设的业务场景数据库中查找相对应的格式数据进行转换生成转换数据;
对所述Html数据进行清洗生成核心数据;
依据所述转换数据和所述核心数据生成第二运营数据;
依据所述第二运营数据生成所述目标服务器的运营数据。
优选地,依据所述第二运营数据生成所述目标服务器的运营数据的步骤,包括:
对所述第二运营数据进行扩展生成所述目标服务器的运营数据;
或;
对所述第二运营数据进行关联生成所述目标服务器的运营数据。
优选地,所述请求信息包括图片验证码获取请求和报文结构请求,获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文的步骤,包括:
获取所述目标服务器的登录信息,并依据所述登录信息生成第一配置信息;其中,所述第一配置信息包括登录信息和图片验证码获取请求;
依据发送所述第一配置信息至目标网站;
接收所述目标服务器依据所述第一配置信息生成的登录成功信号;
依据所述登录成功信号生成第二配置信息并发送至所述目标服务器;其中,所述第二配置信息包括报文结构请求;
接收所述目标服务器依据所述第二配置信息生成的报文结构;
依据所述报文结构生成所述登录报文。
优选地,接收所述目标服务器依据所述第一配置信息生成的登录成功信号的步骤,包括:
接收所述目标服务器依据所述第一配置信息生成的图片验证码;
依据所述图片验证码生成字符验证并发送至所述目标服务器;
接收所述目标服务器依据所述字符验证生成的登录成功信号。
优选地,依据所述登录成功信号生成第二配置信息并发送至所述目标服务器的步骤,包括:
依据所述登录成功信号生成第二配置信息构建请求报文信息以及固定请求报文信息;
依据所述请求报文信息以及固定请求报文信息生成报文结构请求;
依据所述报文结构请求生成所述第二配置信息;
将所述第二配置信息发送至所述目标服务器。
为实现本申请还包括一种基于网络爬虫的数据获取装置,所述装置通过网络爬虫自动获取目标服务器的运营数据,所述装置涉及目标服务器,所述装置包括:
配置信息模块,用于获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息;
登录报文模块,用于向所述目标服务器发送所述登录报文;
网站信息模块,用于接收所述目标服务器依据所述登录报文生成的网站信息;
人工操作请求模块,用于依据所述网站信息生成人工操作请求并发送至所述目标服务器;
第一运营信息模块,用于接收所述目标服务器依据所述人工操作请求生成的第一运营信息;
运营数据模块,用于依据所述第一运营信息生成所述目标服务器的运营数据。
为实现本申请还包括电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现基于网络爬虫的数据获取方法的步骤。
为实现本申请还包括计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现基于网络爬虫的数据获取方法的步骤。
本申请具有以下优点:
在本申请的实施例中,通过网络爬虫自动获取目标服务器的运营数据,所述方法涉及目标服务器,所述方法包括:获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息;向所述目标服务器发送所述登录报文;接收所述目标服务器依据所述登录报文生成的网站信息;依据所述网站信息生成人工操作请求并发送至所述目标服务器;接收所述目标服务器依据所述人工操作请求生成的第一运营信息;依据所述第一运营信息生成所述目标服务器的运营数据。通过获取数据运营数据,能够自动获取代理商管理台的数据,降低人力成本,应对运营过程中的各种数据查询及复杂的数据报表。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种基于网络爬虫的数据获取方法的步骤流程图;
图2是本申请一实施例提供的一种基于网络爬虫的数据获取方法的结构框图;
图3是本申请一实施例提供的一种基于网络爬虫的数据获取装置的结构框图;
图4是本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的所述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,所述方法通过网络爬虫自动获取目标服务器的运营数据。
参照图1,示出了本申请一实施例提供的一种基于网络爬虫的数据获取方法,所述方法包括:
S110、获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息;
S120、向所述目标服务器发送所述登录报文;
S130、接收所述目标服务器依据所述登录报文生成的网站信息;
S140、依据所述网站信息生成人工操作请求并发送至所述目标服务器;
S150、接收所述目标服务器依据所述人工操作请求生成的第一运营信息;
S160、依据所述第一运营信息生成所述目标服务器的运营数据。
在本申请的实施例中,通过网络爬虫自动获取目标服务器的运营数据,所述方法涉及目标服务器,所述方法包括:获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息;向所述目标服务器发送所述登录报文;接收所述目标服务器依据所述登录报文生成的网站信息;依据所述网站信息生成人工操作请求并发送至所述目标服务器;接收所述目标服务器依据所述人工操作请求生成的第一运营信息;依据所述第一运营信息生成所述目标服务器的运营数据。通过获取数据运营数据,能够自动获取代理商管理台的数据,降低人力成本,应对运营过程中的各种数据查询及复杂的数据报表。
下面,将对本示例性实施例中一种基于网络爬虫的数据获取方法作进一步地说明。
如所述步骤S110所述,获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息。
在本发明一实施例中,可以结合下列描述进一步说明步骤S110所述“获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息”的具体过程。
如下列步骤所述,获取所述目标服务器的登录信息,并依据所述登录信息生成第一配置信息;其中,所述第一配置信息包括登录信息和图片验证码获取请求;依据发送所述第一配置信息至目标网站;
接收所述目标服务器依据所述第一配置信息生成的登录成功信号;依据所述登录成功信号生成第二配置信息并发送至所述目标服务器;其中,所述第二配置信息包括报文结构请求;接收所述目标服务器依据所述第二配置信息生成的报文结构;依据所述报文结构生成所述登录报文。
在本申请一具体实施例中,所述目标服务器的登录信息包括目标服务器的用户名和密码以及种子URL以及待抓取的全部URL地址;获取所述目标服务器的登录信息的具体步骤为:作为运营代理商,一般都有对应的管理系统,同时也拥有对应的用户名,密码等关键信息,让人工操作的事情让机器去做。首先,应用程序启动的时候,需要加载两部分的信息:第一部分是:爬取目标服务器的用户名和密码;第二部分是:种子URL(Uniform ResourceLocator,统一资源定位器)以及待抓取的全部URL地址。
作为一种示例,依据所述登录信息生成第一配置信息的步骤,还包括将URL地址的按照前后执行顺序进行排序加载。
在一具体实施例中,URL地址的加载是按照前后执行顺序进行加载到内存中的形成URL队列,按顺序加载主要的目的是:请求之前存在依赖关系,如:A<--B<--C,C请求依赖B请求,B请求依赖A,所以A请求地址应该最先加载,B请求地址第二个加载,C请求地址为第三个加载。
在一具体实施例中,通过上一步骤,已经获取到目标的关键信息。此步需要初始化下载器组件对目标地址进行请求,即,相当于依据发送所述第一配置信息至目标网站;通过程序模拟用户行为。
程序大概分为下面三步:通过目标服务器的用户名和密码登录目标网站,获取目标服务器的session(在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象)及cookie(储存在用户本地终端上的数据,类型为“小型文本文件”,是某些网站为了辨别用户身份,进行session跟踪而储存在用户本地终端上的数据,由用户客户端计算机暂时或永久保存的信息)信息。程序模拟人工登录系统需要找到Http的登录地址,及报文中传递用户和密码对应的Key。在浏览器中输入登录地址,通过浏览器的调试工具或者三方的抓包工具,找到的对应的登录请求地址和登录所需要的报文头,报文体信息。程序按照获取的报文结构组装报文头和报文体信息,不同的请求方式对应的报文信息也不相同,一般常用的有3种请求方式:get请求,post请求,ajax请求。Get请求需要在地址栏拼接对应的报文参数;POST请求需要在报文中提交对应的参数;Ajax请求请求参数一般是JSON格式。程序需要根据具体的请求方式构建对应的请求报文信息以及固定请求报文信息。
在本发明一实施例中,可以结合下列描述进一步说明步骤所述“接收所述目标服务器依据所述第一配置信息生成的登录成功信号”的具体过程。
如下列步骤所述,接收所述目标服务器依据所述第一配置信息生成的图片验证码;依据所述图片验证码生成字符验证并发送至所述目标服务器;接收所述目标服务器依据所述字符验证生成的登录成功信号。
在一具体实施例中,在登录的时候一般还需要填写图片验证码,即本申请的向所述目标服务器发送图片验证码获取请求,需要能够识别图片验证码的内容,并将识别后的内容在登录的报文中一并传递到所述目标服务器。图片验证码需要对接三方的打码平台,程序首先要发起一个get请求获取到图片信息,程序将验证码图片保存到本地,然后通过Http调用三方的打码平台的API(Application Programming Interface,应用程序接口,是一些预先定义的接口,或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。)把验证码图片传递过去,获取到图片内的字符信息。即,依据所述图片验证码生成字符验证并发送至所述目标服务器;接收所述目标服务器依据所述字符验证生成的登录成功信号。
在本发明一实施例中,可以结合下列描述进一步说明步骤所述“依据所述登录成功信号生成第二配置信息并发送至所述目标服务器”的具体过程。
如下列步骤所述,依据所述登录成功信号生成第二配置信息构建请求报文信息以及固定请求报文信息;依据所述请求报文信息以及固定请求报文信息生成报文结构请求;依据所述报文结构请求生成所述第二配置信息;将所述第二配置信息发送至所述目标服务器。
如所述步骤S160所述,依据所述第一运营信息生成所述目标服务器的运营数据。
在本发明一实施例中,可以结合下列描述进一步说明步骤S160所述“依据所述第一运营信息生成所述目标服务器的运营数据”的具体过程。
如下列步骤所述,依据所述第一运营信息进行信息分类;其中,所述信息分类包括JSON数据和Html数据;对所述JSON数据在预设的业务场景数据库中查找相对应的格式数据进行转换生成转换数据;对所述Html数据进行清洗生成核心数据;依据所述转换数据和所述核心数据生成第二运营数据;依据所述第二运营数据生成所述目标服务器的运营数据。
在本申请一具体实施例中,通过上述步骤,爬虫程序可以组装完整的登录报文。为了保证爬虫程序能够正确的执行,需要重新编排执行请求的顺序。先执行获取验证码的请求,然后执行解析验证码的请求,最后执行登录的请求。在请求登录请求后,程序需要识别应答的报文信息。如果返回的JSON数据(JavaScript Object Notation,JS对象简谱,是一种轻量级的数据交换格式)需要对JSON数据进行解析,判断成功还是失败。如果是请求转发需要再次发起新的请求获取登陆后的跳转页面的请求。最主要的是要获取所述目标服务器返回的Session ID及服务器的token信息(即:各个目标服务器返回的安全信息)。
当程序请求到目标服务器的主页面,此时程序才可模拟人工操作页面的行为,通过浏览器调试工具或三方抓包工具,具体的分析每个请求的请求方式,请求头报文,请求体报文,然后对请求地址进行请求,从而完成远端服务器获取信息,登陆以后模拟的人工请求,需要携带登录返回的Session ID和服务器的token(令牌,在计算机身份认证中是令牌的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用)信息。否则无法正常完成请求会提示非法请求重新定位到登录页。
经过上一步,程序已经可以将人工的操作模拟请求发送到所述目标服务器,此时需要接受所述目标服务器的响应内容。程序初始化下载器接收目标服务器的响应信息,并对响应内容进行分发到对应的处理器进行后续处理。(不同的人工模拟行为会有不同的下载器,每个下载器只负责某一个菜单的操作响应内容处理,即:对请求隔离处理)。
需要说明的是,本申请的人工操作请求为人工的操作模拟请求。
在本发明一实施例中,可以结合下列描述进一步说明步骤所述“依据所述第二运营数据生成所述目标服务器的运营数据”的具体过程。
如下列步骤所述,对所述第二运营数据进行扩展生成所述目标服务器的运营数据;或;对所述第二运营数据进行关联生成所述目标服务器的运营数据。
在一具体实施例中,第四步:
通过下载器已能够获取服务器响应的信息,此步需要根据响应信息进行数据的处理(就是程序要能够识别返回的信息格式是什么,信息内容是什么,怎么识别,哪些有用,哪些没用)。通常会存在两种数据格式:
第一种是JSON格式,如果是JSON数据根据需要进行JSON解析并进行数据清洗。
程序要能够识别每个请求的JSON格式,每种业务请求返回业务数据不一样,需要设计一个统一的JSON转换模块,可以将每种业务数据的格式进行分析并抽取数据格式存储在数据库中,当程序获取业务数据时,根据业务场景找到对应的数据格式,程序自动转换为统一对象存储。
第二种是Html格式,如果是Html数据,需要通过Jsoup组件进行Html数据的清理,去掉无用的Html标签内容,并重中留下有用的内容,清洗为系统可处理的数据格式。
Html数据解析比JSON格式的数据解析相对复杂一些,Html中掺杂这很多无用的标签内容,需要在众多的html标签中获取有用的响应信息。Html的数据解析主要有两个问题:第一个是能够快速定位到特定的标签位置,并识别Html文档的标签;第二个是能够过滤html或无用的js信息,保留核心业务文本信息。如:一个html页面有1000多行,实际解析后核心关键业务文本只有100行。
如:
Figure BDA0003493436020000101
Figure BDA0003493436020000111
数据清洗后值获取到有用的内容
上一已说明数据格式会有两种格式,程序需要根据具体的数据格式进行分发,不同数据的储存器负责把不同的数据分发到不同的数据格式存储器进行后置处理。
JOSN格式的内容分发给JSON存储器;Html格式的内容分发给Html存储器,存储器会将原始解析的数据进行处理,清理成系统的的业务数据进行存储,一般有两种处理方式:一种是在原有的数据之前进行扩展加工新的字段后变成完整的业务数据;一种是将爬取的多份业务数据进行关联清洗加工成一份完整的业务数据。业务数据存储的方式有很多种:存储到数据库,存储到文件,存储到缓存,存储到分布式存储系统中等等。系统可以定义数据的格式,具体的存储渠道可以进行扩展。
即:这里主要是对数据格式的识别并进行处理分发。
如:有用的内容是Html格式,存储的数据会分发到Html存储器进行处理。
不同的数据格式已经分发到不同的存储器中处理。此步就是存储器将数据进行存储到不同的存储介质中(数据库,文件,或其他存储介质),完成爬取数据的整个流程。不同业务场景有不同的存储器,如:代理商信息的存储就是代理商存储器负责完成,地理位置信息的存储就是地理位置信息存储器负责完成。存储数据也是一对一的进行存储隔离。
在本申请一具体实施例中,如下六个步骤所示:
第一步:
作为运营代理商,一般都有对应的管理系统,同时也拥有对应的用户名,密码等关键信息,让人工操作的事情让机器去做。
首先,应用程序启动的时候,需要加载两部分的信息:
第一部分是:爬取目标服务器的用户名和密码;
第二部分是:种子URL以及待抓取的全部URL地址,URL地址的加载是按照前后执行顺序进行加载到内存中的形成URL队列,按顺序加载主要的目的是:请求之前存在依赖关系,如:A<--B<--C,C请求依赖B请求,B请求依赖A,所以A请求地址应该最先加载,B请求地址第二个加载,C请求地址为第三个加载。
第二步:
通过上一步骤,程序已经获取到目标的关键信息。此步需要初始化下载器组件对目标地址进行请求,通过程序模拟用户行为。程序大概分为下面三步:
通过用户名和密码登录目标网站,获取目标服务器的session及cookie信息。
程序模拟人工登录系统需要找到Http的登录地址,及报文中传递用户和密码对应的Key。在浏览器中输入登录地址,通过浏览器的调试工具或者三方的抓包工具,找到的对应的登录请求地址和登录所需要的报文头,报文体信息。程序按照获取的报文结构组装报文头和报文体信息,不同的请求方式对应的报文信息也不相同,一般常用的有3种请求方式:get请求,post请求,ajax请求。Get请求需要在地址栏拼接对应的报文参数;POST请求需要在报文中提交对应的参数;Ajax请求请求参数一般是JSON格式。程序需要根据具体的请求方式构建对应的请求报文信息以及固定请求报文信息。
在登录的时候一般还需要填写图片验证码,系统需要能够识别图片验证码的内容,并将识别后的内容在登录的报文中一并传递到服务器端。别人图片验证码需要对接三方的打码平台,程序首先要发起一个get请求获取到图片信息,程序将验证码图片保存到本地,然后通过Http调用三方的打码平台的API把验证码图片传递过去,获取到图片内的字符信息。
通过上述的步骤,程序可以组装完整的登录报文。为了保证程序能够正确的执行,需要重新编排执行请求的顺序。先执行获取验证码的请求,然后执行解析验证码的请求,最后执行登录的请求。在请求登录请求后,程序需要识别应答的报文信息。如果返回的JSON数据需要对JSON数据进行解析,判断成功还是失败。如果是请求转发需要再次发起新的请求获取登陆后的跳转页面的请求。最主要的是要获取服务器端返回的sessionid及服务器的token信息(即:各个服务器端返回的安全信息)。
当程序请求到管理台的主页面,此时程序才可模拟人工操作页面的行为,通过浏览器调试工具或三方抓包工具,具体的分析每个请求的请求方式,请求头报文,请求体报文,然后对请求地址进行请求,从而完成远端服务器获取信息,登陆以后模拟的人工请求,需要携带登录返回的sessionid和服务器的token信息。否则无法正常完成请求会提示非法请求重新定位到登录页。
第三步:
经过上一步,程序已经可以将人工的操作模拟请求发送到服务器端,此时需要接受服务器端的响应内容。程序初始化下载器接收目标服务器的响应信息,并对响应内容进行分发到对应的处理器进行后续处理。(不同的人工模拟行为会有不同的下载器,每个下载器只负责某一个菜单的操作响应内容处理,即:对请求隔离处理)。
第四步:
通过下载器已能够获取服务器响应的信息,此步需要根据响应信息进行数据的处理(就是程序要能够识别返回的信息格式是什么,信息内容是什么,怎么识别,哪些有用,哪些没用)。通常会存在两种数据格式:
第一种是JSON格式,如果是JSON数据根据需要进行JSON解析并进行数据清洗。
程序要能够识别每个请求的JSON格式,每种业务请求返回业务数据不一样,需要设计一个统一的JSON转换模块,可以将每种业务数据的格式进行分析并抽取数据格式存储在数据库中,当程序获取业务数据时,根据业务场景找到对应的数据格式,程序自动转换为统一对象存储。
第二种是Html格式,如果是Html数据,需要通过Jsoup组件进行Html数据的清理,去掉无用的Html标签内容,并重中留下有用的内容,清洗为系统可处理的数据格式。
Html数据解析比JSON格式的数据解析相对复杂一些,Html中掺杂这很多无用的标签内容,需要在众多的html标签中获取有用的响应信息。Html的数据解析主要有两个问题:第一个是能够快速定位到特定的标签位置,并识别Html文档的标签;第二个是能够过滤html或无用的js信息,保留核心业务文本信息。如:一个html页面有1000多行,实际解析后核心关键业务文本只有100行。
如:
Figure BDA0003493436020000141
数据清洗后值获取到有用的内容
第五步:
上一已说明数据格式会有两种格式,程序需要根据具体的数据格式进行分发,不同数据的储存器负责把不同的数据分发到不同的数据格式存储器进行后置处理。
JOSN格式的内容分发给JSON存储器;Html格式的内容分发给Html存储器,存储器会将原始解析的数据进行处理,清理成系统的的业务数据进行存储,一般有两种处理方式:一种是在原有的数据之前进行扩展加工新的字段后变成完整的业务数据;一种是将爬取的多份业务数据进行关联清洗加工成一份完整的业务数据。业务数据存储的方式有很多种:存储到数据库,存储到文件,存储到缓存,存储到分布式存储系统中等等。系统可以定义数据的格式,具体的存储渠道可以进行扩展。
即:这里主要是对数据格式的识别并进行处理分发。
如:有用的内容是Html格式,存储的数据会分发到Html存储器进行处理。
第六步:
不同的数据格式已经分发到不同的存储器中处理。此步就是存储器将数据进行存储到不同的存储介质中(数据库,文件,或其他存储介质),完成爬取数据的整个流程。
不同业务场景有不同的存储器,如:代理商信息的存储就是代理商存储器负责完成,地理位置信息的存储就是地理位置信息存储器负责完成。存储数据也是一对一的进行存储隔离。如图2所示。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图3,示出了本申请一实施例提供的一种基于网络爬虫的数据获取装置;
具体包括:
配置信息模块410,用于获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息;
登录报文模块420,用于向所述目标服务器发送所述登录报文;
网站信息模块430,用于接收所述目标服务器依据所述登录报文生成的网站信息;
人工操作请求模块440,用于依据所述网站信息生成人工操作请求并发送至所述目标服务器;
第一运营信息模块450,用于接收所述目标服务器依据所述人工操作请求生成的第一运营信息;
运营数据模块460,用于依据所述第一运营信息生成所述目标服务器的运营数据。
在本发明一实施例中,所述配置信息模块410,包括:
第一配置信息子模块,用于获取所述目标服务器的登录信息,并依据所述登录信息生成第一配置信息;其中,所述第一配置信息包括登录信息和图片验证码获取请求;
目标网站子模块,用于依据发送所述第一配置信息至目标网站;
登录成功信号子模块,用于接收所述目标服务器依据所述第一配置信息生成的登录成功信号;
报文结构请求子模块,用于依据所述登录成功信号生成第二配置信息并发送至所述目标服务器;其中,所述第二配置信息包括报文结构请求;
报文结构子模块,用于接收所述目标服务器依据所述第二配置信息生成的报文结构;
登录报文子模块,用于依据所述报文结构生成所述登录报文。
在本发明一实施例中,所述登录成功信号子模块,包括:
图片验证码子模块,用于接收所述目标服务器依据所述第一配置信息生成的图片验证码;
目标服务器生成子模块,用于依据所述图片验证码生成字符验证并发送至所述目标服务器;
登录成功信号生成子模块,用于接收所述目标服务器依据所述字符验证生成的登录成功信号。
在本发明一实施例中,所述运营数据模块460,包括:
信息分类子模块,用于依据所述第一运营信息进行信息分类;其中,所述信息分类包括JSON数据和Html数据;
转换数据子模块,用于对所述JSON数据在预设的业务场景数据库中查找相对应的格式数据进行转换生成转换数据;
核心数据子模块,用于对所述Html数据进行清洗生成核心数据;
第二运营数据子模块,用于依据所述转换数据和所述核心数据生成第二运营数据;
目标服务器的运营数据子模块,用于依据所述第二运营数据生成所述目标服务器的运营数据。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
在本具体实施例与上述具体实施例中有重复的操作步骤,本具体实施例仅做简单描述,其余方案参考上述具体实施例描述即可。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图4,示出了本申请的基于网络爬虫的数据获取方法的计算机设备,具体可以包括如下:
上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,内存28,连接不同系统组件(包括内存28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、音视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
内存28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质界面与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得操作人员能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过I/O接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图4所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图4中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统34等。
处理单元16通过运行存储在内存28中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例所提供的基于网络爬虫的数据获取方法。
也即,上述处理单元16执行上述程序时实现:一种基于网络爬虫的数据获取方法。
在本申请实施例中,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的基于网络爬虫的数据获取方法。
也即,给程序被处理器执行时实现:一种基于网络爬虫的数据获取方法。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在操作人员计算机上执行、部分地在操作人员计算机上执行、作为一个独立的软件包执行、部分在操作人员计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到操作人员计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于网络爬虫的数据获取和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (9)

1.一种基于网络爬虫的数据获取方法,其特征在于,所述方法通过网络爬虫自动获取目标服务器的运营数据,所述方法涉及目标服务器,所述方法包括:
获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息;
向所述目标服务器发送所述登录报文;
接收所述目标服务器依据所述登录报文生成的网站信息;
依据所述网站信息生成人工操作请求并发送至所述目标服务器;
接收所述目标服务器依据所述人工操作请求生成的第一运营信息;
依据所述第一运营信息生成所述目标服务器的运营数据。
2.根据权利要求1所述的基于网络爬虫的数据获取方法,其特征在于,依据所述第一运营信息生成所述目标服务器的运营数据的步骤,包括:
依据所述第一运营信息进行信息分类;其中,所述信息分类包括JSON数据和Html数据;
对所述JSON数据在预设的业务场景数据库中查找相对应的格式数据进行转换生成转换数据;
对所述Html数据进行清洗生成核心数据;
依据所述转换数据和所述核心数据生成第二运营数据;
依据所述第二运营数据生成所述目标服务器的运营数据。
3.根据权利要求2所述的基于网络爬虫的数据获取方法,其特征在于,依据所述第二运营数据生成所述目标服务器的运营数据的步骤,包括:
对所述第二运营数据进行扩展生成所述目标服务器的运营数据;
或;
对所述第二运营数据进行关联生成所述目标服务器的运营数据。
4.根据权利要求1所述的基于网络爬虫的数据获取方法,其特征在于,所述请求信息包括图片验证码获取请求和报文结构请求,获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文的步骤,包括:
获取所述目标服务器的登录信息,并依据所述登录信息生成第一配置信息;其中,所述第一配置信息包括登录信息和图片验证码获取请求;
依据发送所述第一配置信息至目标网站;
接收所述目标服务器依据所述第一配置信息生成的登录成功信号;
依据所述登录成功信号生成第二配置信息并发送至所述目标服务器;其中,所述第二配置信息包括报文结构请求;
接收所述目标服务器依据所述第二配置信息生成的报文结构;
依据所述报文结构生成所述登录报文。
5.根据权利要求4所述的基于网络爬虫的数据获取方法,其特征在于,接收所述目标服务器依据所述第一配置信息生成的登录成功信号的步骤,包括:
接收所述目标服务器依据所述第一配置信息生成的图片验证码;
依据所述图片验证码生成字符验证并发送至所述目标服务器;
接收所述目标服务器依据所述字符验证生成的登录成功信号。
6.根据权利要求4所述的基于网络爬虫的数据获取方法,其特征在于,依据所述登录成功信号生成第二配置信息并发送至所述目标服务器的步骤,包括:
依据所述登录成功信号生成第二配置信息构建请求报文信息以及固定请求报文信息;
依据所述请求报文信息以及固定请求报文信息生成报文结构请求;
依据所述报文结构请求生成所述第二配置信息;
将所述第二配置信息发送至所述目标服务器。
7.一种基于网络爬虫的数据获取装置,其特征在于,所述装置通过网络爬虫自动获取目标服务器的运营数据,所述装置涉及目标服务器,所述装置包括:
配置信息模块,用于获取所述目标服务器的配置信息,并依据所述配置信息生成登录报文;其中,所述配置信息包括登录信息以及请求信息;
登录报文模块,用于向所述目标服务器发送所述登录报文;
网站信息模块,用于接收所述目标服务器依据所述登录报文生成的网站信息;
人工操作请求模块,用于依据所述网站信息生成人工操作请求并发送至所述目标服务器;
第一运营信息模块,用于接收所述目标服务器依据所述人工操作请求生成的第一运营信息;
运营数据模块,用于依据所述第一运营信息生成所述目标服务器的运营数据。
8.电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的基于网络爬虫的数据获取方法的步骤。
9.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于网络爬虫的数据获取方法的步骤。
CN202210105695.4A 2022-01-28 2022-01-28 一种基于网络爬虫的数据获取方法和装置 Pending CN114491210A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210105695.4A CN114491210A (zh) 2022-01-28 2022-01-28 一种基于网络爬虫的数据获取方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210105695.4A CN114491210A (zh) 2022-01-28 2022-01-28 一种基于网络爬虫的数据获取方法和装置

Publications (1)

Publication Number Publication Date
CN114491210A true CN114491210A (zh) 2022-05-13

Family

ID=81475852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210105695.4A Pending CN114491210A (zh) 2022-01-28 2022-01-28 一种基于网络爬虫的数据获取方法和装置

Country Status (1)

Country Link
CN (1) CN114491210A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115714719A (zh) * 2022-10-26 2023-02-24 苏州浪潮智能科技有限公司 一种服务器的运维处理方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115714719A (zh) * 2022-10-26 2023-02-24 苏州浪潮智能科技有限公司 一种服务器的运维处理方法、装置、电子设备及存储介质
CN115714719B (zh) * 2022-10-26 2024-05-14 苏州浪潮智能科技有限公司 一种服务器的运维处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US11546418B2 (en) Method, client, server, and system for sharing content
US8219687B2 (en) Implementing browser based hypertext transfer protocol session storage
CN105099811A (zh) 一种接口测试方法和装置
CN110020062B (zh) 一种可定制的网络爬虫方法及系统
CN109033115A (zh) 一种动态网页爬虫系统
US20110258192A1 (en) Providing question and answer services
US9910858B2 (en) System and method for providing contextual analytics data
US20130318089A1 (en) Catalog performance and integrity analysis
US20170017695A1 (en) Question and answer information providing system, information processing device, and non-transitory computer-readable medium
US9785710B2 (en) Automatic crawling of encoded dynamic URLs
CN109428877B (zh) 一种用于通过用户设备访问业务系统的方法和装置
US10594550B2 (en) Dynamic product installation based on user feedback
CN109495553A (zh) 一种网页显示控制方法、系统及反向代理服务器
CN1953403A (zh) 用于呈现监控报告的方法和系统
CN109862074B (zh) 一种数据采集方法、装置、可读介质及电子设备
CN114491210A (zh) 一种基于网络爬虫的数据获取方法和装置
CN111800511B (zh) 同步登录态的处理方法、系统、设备及可读存储介质
CN113014669B (zh) 基于rpa的代理服务方法、系统、服务器和存储介质
CN113362173A (zh) 防重机制验证方法、验证系统、电子设备及存储介质
CN113763008A (zh) 一种应用推广跟踪方法、装置、服务器、设备和介质
CN111240948A (zh) 一种体验数据处理方法、装置、计算机设备及存储介质
US20090287781A1 (en) Grouping messages using patterns in a messaging system
CN111368231B (zh) 一种异构冗余架构网站的测试方法及装置
US10585992B2 (en) Changing a language for a user session replay
CN110309121B (zh) 日志处理方法及装置、计算机可读介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: 518000 Qianhai Xiangbin Building 311-A109, No. 18 Zimao West Street, Nanshan Street, Qianhai Shenzhen Hong Kong Cooperation Zone, Shenzhen, Guangdong Province

Applicant after: Shenzhen Kuaiyin Pay Technology Group Co.,Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: Shenzhen kuaiyin payment information technology Co.,Ltd.

Country or region before: China

CB02 Change of applicant information