CN112100061A - 一种可视化爬虫代码编写与调试方法 - Google Patents
一种可视化爬虫代码编写与调试方法 Download PDFInfo
- Publication number
- CN112100061A CN112100061A CN202010884239.5A CN202010884239A CN112100061A CN 112100061 A CN112100061 A CN 112100061A CN 202010884239 A CN202010884239 A CN 202010884239A CN 112100061 A CN112100061 A CN 112100061A
- Authority
- CN
- China
- Prior art keywords
- crawler
- instruction
- url
- code
- mode
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000000007 visual effect Effects 0.000 title claims abstract description 12
- 238000013515 script Methods 0.000 claims abstract description 69
- 108091026890 Coding region Proteins 0.000 claims abstract description 39
- 230000009193 crawling Effects 0.000 claims abstract description 25
- 238000001914 filtration Methods 0.000 claims description 55
- 238000012360 testing method Methods 0.000 claims description 15
- 238000003058 natural language processing Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 4
- 235000014510 cooky Nutrition 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
为了解决编程技术薄弱的用户难以使用现有网络爬虫软件的问题,本公开提供了一种可视化爬虫代码编写与调试方法及系统,便于编程技术薄弱的用户使用。包括:接收用户输入的模式选择指令;根据模式选择指令进入第一模式或第二模式;进入第一模式后,获取用户输入的第一指令;基于第一指令爬取所需的第一目标数据;进入第二模式后,生成用于供用户输入爬虫脚本代码的代码编码区,并获取用户输入的第二指令;基于第二指令,将代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,获取爬虫调度系统根据爬虫脚本代码执行爬虫任务时所爬取的第二目标数据。本申请还公开了相应的系统,本公开的系统和方法便于编程技术薄弱用户使用网络爬虫爬取所需数据。
Description
技术领域
本公开涉及爬虫领域,尤其涉及一种一种可视化爬虫代码编写与调试方法。
背景技术
网络爬虫是一种高效的信息抓取工具,它集成了搜索引擎技术,并通过相关的计算机技术手段,用以从互联网搜索、抓取并保存任何通过HTML超文本标记语言进行标准化的网页信息。但现在通用的网络爬虫软件无论网站是否复杂,都要求用户具备一定的编程基础,导致编程技术相对薄弱的用户难以使用网络爬虫。
发明内容
为了解决上述技术问题中的至少一个,本公开提供了一种可视化爬虫代码编写与调试方法及系统,便于编程技术相对薄弱的用户使用网络爬虫。
本公开的第一方面,可视化爬虫代码编写与调试方法,包括:
接收用户输入的模式选择指令;
根据所述模式选择指令进入第一模式或第二模式;
进入第一模式后,获取用户输入的第一指令,所述第一指令包括初始URL和内容过滤规则;
基于所述第一指令爬取所需的第一目标数据;
进入第二模式后,生成用于供用户输入爬虫脚本代码的代码编码区,并获取用户输入的第二指令;
基于所述第二指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,以获取爬虫调度系统根据所述爬虫脚本代码执行爬虫任务时所爬取的第二目标数据。
可选的,所述代码编码区还用于供用户输入爬虫任务代码,所述第二指令包括提交代码指令、发送任务指令和返回结果指令;
所述基于所述第二指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,以获取爬虫调度系统根据所述爬虫脚本代码执行爬虫任务时所爬取的第二目标数据,包括:
根据所述提交代码指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统;
根据所述发送任务指令,将所述代码编码区中的爬虫任务代码发送给所述爬虫调度系统;
根据返回结果指令,获取所述爬虫调度任务根据所述爬虫脚本执行所述爬虫任务所爬取的第一目标数据。
可选的,所述基于所述第一指令爬取所需的第一目标数据,包括:
步骤201:确定目标URL,其中,首次执行时,以所述初始URL作为所述目标URL,非首次执行时,以URL队列中的新URL作为所述目标URL;
步骤202:抓取所述目标URL的网页,从所述目标URL的网页中获取新URL,将所述新URL放入URL队列中;
步骤203:根据所述内容过滤规则过滤所述目标URL的网页,以获得第一目标数据;
重复执行步骤S201~步骤203,直至满足停止条件。
可选的,所述根据所述内容过滤规则过滤所述目标URL的网页,包括:
根据所述内容过滤规则,采用最大匹配算法判别所述目标URL的网页是否符合内容过滤规则中的要求。
可选的,所述根据所述内容过滤规则过滤所述目标URL的网页的数据,包括:
根据所述内容过滤规则,采用自然语言处理模型判别所述目标URL的网页是否符合内容过滤规则中的要求。
可选的,所述第二指令包括调试指令;
设备在处于第二模式时,根据所述调试指令测试代码编码区中的爬虫脚本代码,并预设的显示区中显示测试结果。
本公开的第二方面,可视化爬虫代码编写与调试系统,包括:
模式控制模块,用于接收用户输入的模式选择指令,根据所述模式选择指令进入第一模式或第二模式;
第一爬取模块,用于进入第一模式后,获取用户输入的第一指令,所述第一指令包括初始URL和内容过滤规则,基于所述第一指令爬取所需的第一目标数据;
第二爬取模块,用于进入第二模式后,生成用于供用户输入爬虫脚本代码的代码编码区,获取用户输入的第二指令,基于所述第二指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,以获取爬虫调度系统根据所述爬虫脚本代码执行爬虫任务时所爬取的第二目标数据。
可选的,所述代码编码区还用于供用户输入爬虫任务代码,所述第二指令包括提交代码指令、发送任务指令和返回结果指令;
所述基于所述第二指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,以获取爬虫调度系统根据所述爬虫脚本代码执行爬虫任务时所爬取的第二目标数据,包括:
根据所述提交代码指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统;
根据所述发送任务指令,将所述代码编码区中的爬虫任务代码发送给所述爬虫调度系统;
根据返回结果指令,获取所述爬虫调度任务根据所述爬虫脚本执行所述爬虫任务所爬取的第一目标数据。
可选的,所述基于所述第一指令爬取所需的第一目标数据,包括:
步骤201:确定目标URL,其中,首次执行时,以所述初始URL作为所述目标URL,非首次执行时,以URL队列中的新URL作为所述目标URL;
步骤202:抓取目标URL的网页,从所述目标URL的网页中获取新URL,将所述新URL放入URL队列中;
步骤203:根据所述内容过滤规则过滤所述目标URL的网页,以获得第一目标数据;
重复执行步骤S201~步骤203,直至满足停止条件。
可选的,所述第二指令包括调试指令;
所述第二爬取模块,还用于在处于第二模式时,根据所述调试指令测试代码编码区中的爬虫脚本代码,并在预设的显示区中显示测试结果。
有益效果:本公开的系统及方法实现了两种网络爬虫模式的结合,简单网站可以采用无需编码的第一模式抓取,便于编程技术相对薄弱的用户从简单网站抓取所需数据,复杂的网站可以采用可编码的第二模式抓取,便于具有编程技术的用户自定义地从复杂网站中抓取所需数据;本公开的系统及方法,同时满足了简单网站的直接抓取,以及复杂网站的自定义抓取。
附图说明
附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1是本公开的一个实施例中的一种可视化爬虫代码编写与调试方法的流程图;
图2是本公开的一个实施例中的基于第一指令爬取所需的第一目标数据的流程图;
图3是本公开的一个实施例中的进入第二模式后的系统界面图。
图4是本公开的一个实施例中的一种可视化爬虫代码编写与调试系统的框图。
具体实施方式
下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开。
参见图1,可视化爬虫代码编写与调试方法,包括:
步骤101:接收用户输入的模式选择指令;
步骤102:根据模式选择指令进入第一模式或第二模式;
进入第一模式后,执行步骤103和步骤104,进入第二模式后,执行步骤105和步骤106:
步骤103:获取用户输入的第一指令,第一指令包括初始URL和内容过滤规则;
步骤104:基于第一指令爬取所需的第一目标数据;
步骤105:生成用于供用户输入爬虫脚本代码的代码编码区,并获取用户输入的第二指令;
步骤106:基于第二指令,将代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,获取爬虫调度系统根据爬虫脚本代码执行爬虫任务时所爬取的第二目标数据。
上述URL的全称为Uniform Resource Locator,中文名称为统一资源定位器。
上述方法可以由计算机设备执行,该计算机设备与爬虫调度系统提供的后端接口相连。
本公开的系统及方法实现了两种网络爬虫模式的结合,简单网站可以采用无需编码的第一模式抓取,便于编程技术相对薄弱的用户从简单网站抓取所需数据,复杂的网站可以采用可编码的第二模式,便于具有编程技术的用户自定义地从复杂网站中抓取所需数据;本公开的系统及方法,同时满足了简单网站的直接抓取,以及复杂网站的自定义抓取。
第一模式可以根据用户输入的初始URL和内容过滤规则自动爬取第一目标数据,实现无编码式的抓取,其中,可以知道的,用户输入的内容过滤规则用于明确需要爬取的内容的文字描述,无需用户编码;
第二模式根据用户输入的第二指令,将代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,获取爬虫调度系统根据爬虫脚本代码执行爬虫任务时所爬取的第二目标数据。
在一个实施方式中,代码编码区还用于供用户输入爬虫任务代码,第二指令包括提交代码指令、发送任务指令和返回结果指令;
基于第二指令,将代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,获取爬虫调度系统根据爬虫脚本代码执行爬虫任务时所爬取的第二目标数据,包括:
根据提交代码指令,将代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统;
根据发送任务指令,将代码编码区中的爬虫任务代码发送给爬虫调度系统;
根据返回结果指令,获取爬虫调度任务根据爬虫脚本执行爬虫任务所爬取的第一目标数据。
本公开的技术方案中,根据用户输入的提交代码指令,将代码编码区中的爬虫脚本代码提交给外部的爬虫调度系统;根据用户输入的发送任务指令,将代码编码区中的爬虫任务代码发送给爬虫调度系统,根据用户输入的返回结果指令,获取爬虫调度任务根据爬虫脚本执行爬虫任务所爬取的第二目标数据。也就是说,用户可以在代码编码区中编写爬虫脚本代码和爬虫任务代码,通过第二指令控制设备将相应的爬虫脚本代码发送提交给外部的爬虫调度系统,以使爬虫调度系统可以执行爬虫脚本代码,或通过第二指令将相应的爬虫任务代码发送给爬虫调度系统,以使爬虫调度系统基于爬虫脚本代码执行爬虫任务,以及,获取爬虫调度系统基于爬虫脚本代码执行爬虫任务爬取的第二目标数据。当然,获取到第二目标数据后,可以在预设的第一显示器中显示该第二目标数据。其中,第一目标数据和第二目标数据可以是网页版或文字版。
现有的自定义脚本爬虫系统,针对不同的网站都需要编写特定的爬虫脚本代码,然后对爬虫脚本代码在系统中调试,现有的对于爬虫脚本的开发调试都在整个爬虫系统中进行,通过日志的方式实现问题的定位,每次修改爬虫脚本代码后,都要重启整个系统,进行代码的测试和联调,给脚本开发人员带来了极大地不便,本方法根据爬虫调度系统提供的后端调试接口,接口调度python的imp模块中的load_source方法,将编写的代码加载到爬虫系统中,实现对爬虫脚本的可视化编写和调试,达到边写代码边调试的目的。
在一个可选实施方式中,基于第一指令爬取所需的第一目标数据,包括:
步骤201:确定目标URL,其中,首次执行时,以初始URL作为目标URL,非首次执行时,以URL队列中的新URL作为目标URL;
步骤202:抓取目标URL的网页,从目标URL的网页中获取新URL,将新URL放入URL队列中;
步骤203:根据内容过滤规则过滤目标URL的网页,以获得第一目标数据;
重复执行步骤S201~步骤203,直至满足停止条件。
停止条件可以是重复执行步骤S201~步骤203的次数到达预设值,或,无法获取新URL等。
在一个可选实施方式中,根据内容过滤规则过滤目标URL的网页,包括:
根据内容过滤规则,采用最大匹配算法判别目标URL的网页是否符合内容过滤规则中的要求。
在一个可选实施方式中,根据内容过滤规则过滤目标URL的网页的数据,包括:
根据内容过滤规则,采用自然语言处理模型判别目标URL的网页是否符合内容过滤规则中的要求。
在一个可选实施方式中,第二指令包括调试指令;设备在处于第二模式时,设备根据调试指令测试代码编码区中的爬虫脚本代码,并预设的显示区中显示测试结果。
在一个可选实施方式中,设备在处于第一模式时,用户输入不少于一个的初始URL和内容过滤规则(要抓内容的文字描述)及限制域名,以及点击是否使用随机分配的User-Agent,是否使用随机分配的代理IP地址,是否需要手动添加cookies,若需要则在指定对话框内填入网站的相应cookies,然后点击开始采集,处理模块处理下载模块抓取到的初始URL的网页,并将经数据解析规则提取的数据经过内容过滤器过滤后保存到数据库,以及经URL解析规则获得的指定域名下的URL传递到调度模块;调度模块分配URL队列到下载模块;URL队列再经下载模块处理后访问互联网获得目标URL的网页;不断循环处理。
上述User-Agent为用户代理,IP地址(Internet Protocol Address)是指互联网协议地址,cookie是储存在用户本地终端上的数据。
本发明中的内容过滤,既可以根据用户入的内容过滤规则,采用最大匹配算法判别内容是否服和要求,也可以调用自然语言处理模型来判别,自然语言处理模型通过HTTP接口形式调用。
本发明中的抓取模块优先采用python的requests库进行网络请求,若请求失败,则调用无头浏览器进行请求。
在一个可选实施方式中,设备在处于第二模式时,生成如图3的页面,图3中包括11个按钮和3个区域,11个按钮分别为当前请求任务301、返回结果(网页版)302,返回结果(文字版)303,格式代码化304,代码风格校验305,提交代码306,发送任务307,开始测试308,当前请求任务的URL309,异常310,历史请求311,每个按钮都和分布式爬虫系统的每个接口相关爬虫调度系统提供的后端接口,完成相应的操作;3个区域分别为第一显示区、第二显示区和代码编辑区;第一显示区和第二显示区在点击按钮时显示不同内容,代码编辑区可以在线编写和修改对应爬虫脚本的代码。具体如下:
1、点击“当前请求任务”按钮,在第一显示区中看到当前要调试的请求任务以及他的各个参数;
2、点击“返回结果(网页版)”按钮,在第一显示区中看到当前请求任务返回的网页版结果;
3、点击“返回结果(文字版)”按钮,在第一显示区中看到当前请求任务返回的文本结果;
4、点击“格式代码化”按钮,会格式化代码编辑区中的代码;
5、点击“代码风格校验”按钮,会校验代码编辑区中编写的爬虫代码是否复合pylint风格;
6、点击“提交代码”按钮,会将校验代码编辑区中编写好的爬虫代码提交给爬虫调度系统;
7、点击“发送任务”按钮,发送当前爬虫任务到调度队列中;
8、点击“开始测试”按钮,从头调试当前爬虫代码;
9、点击“当前请求任务”按钮,在第二显示区中显示当前请求的url
10、点击“异常”按钮,在第二显示区中显示当前请求的错误和异常信息
11、点击“历史请求”按钮,在第二显示区中显示调试过程中请求过的URL。
本实施例的方法实现了两种可视化爬虫代码编写与调试模式的结合,简单网站可以采用无编码式的抓取,复杂的网站可以采用有编码式的抓取。支持了按钮化调试代码,可视化编写代码,降低了爬虫脚本代码的编写和调试难度,提高了效率。
实施例2:
参见图4,可视化爬虫代码编写与调试系统,包括:
模式控制模块401,用于接收用户输入的模式选择指令,根据模式选择指令进入第一模式或第二模式;
第一爬取模块402,用于进入第一模式后,获取用户输入的第一指令,第一指令包括初始URL和内容过滤规则,基于第一指令爬取所需的第一目标数据;
第二爬取模块403,用于进入第二模式后,生成用于供用户输入爬虫脚本代码的代码编码区,获取用户输入的第二指令,基于第二指令,将代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,获取爬虫调度系统根据爬虫脚本代码执行爬虫任务时所爬取的第二目标数据。
在一个可选的实施方式中,代码编码区还用于供用户输入爬虫任务代码,第二指令包括提交代码指令、发送任务指令和返回结果指令;
基于第二指令,将代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,获取爬虫调度系统根据爬虫脚本代码执行爬虫任务时所爬取的第二目标数据,包括:
根据提交代码指令,将代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统;
根据发送任务指令,将代码编码区中的爬虫任务代码发送给爬虫调度系统;
根据返回结果指令,获取爬虫调度任务根据爬虫脚本执行爬虫任务所爬取的第一目标数据。
在一个可选的实施方式中,基于第一指令爬取所需的第一目标数据,包括:
步骤201:确定目标URL,其中,首次执行时,以初始URL作为目标URL,非首次执行时,以URL队列中的新URL作为目标URL;
步骤202:抓取目标URL的网页,从目标URL的网页中获取新URL,将新URL放入URL队列中;
步骤203:根据内容过滤规则过滤目标URL的网页,以获得第一目标数据;
重复执行步骤S201~步骤203,直至满足停止条件。
在一个可选的实施方式中,根据内容过滤规则过滤目标URL的网页,包括:
根据内容过滤规则,采用最大匹配算法判别目标URL的网页是否符合内容过滤规则中的要求。
在一个可选的实施方式中,根据内容过滤规则过滤目标URL的网页的数据,包括:
根据内容过滤规则,采用自然语言处理模型判别目标URL的网页是否符合内容过滤规则中的要求。
在一个可选的实施方式中,第二指令包括调试指令;
第二爬取模块,还用于在处于第二模式时,根据调试指令测试代码编码区中的爬虫脚本代码,并在预设的显示区中显示测试结果。
在本说明书的描述中,参考术语“一个实施例/方式”、“一些实施例/方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例/方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例/方式或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例/方式或示例以及不同实施例/方式或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。
Claims (10)
1.可视化爬虫代码编写与调试方法,其特征在于,包括:
接收用户输入的模式选择指令;
根据所述模式选择指令进入第一模式或第二模式;
进入第一模式后,获取用户输入的第一指令,所述第一指令包括初始URL和内容过滤规则;
基于所述第一指令爬取所需的第一目标数据;
进入第二模式后,生成用于供用户输入爬虫脚本代码的代码编码区,并获取用户输入的第二指令;
基于所述第二指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,以获取爬虫调度系统根据所述爬虫脚本代码执行爬虫任务时所爬取的第二目标数据。
2.根据权利要求1所述的方法,其特征在于,所述代码编码区还用于供用户输入爬虫任务代码,所述第二指令包括提交代码指令、发送任务指令和返回结果指令;
所述基于所述第二指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,以获取爬虫调度系统根据所述爬虫脚本代码执行爬虫任务时所爬取的第二目标数据,包括:
根据所述提交代码指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统;
根据所述发送任务指令,将所述代码编码区中的爬虫任务代码发送给所述爬虫调度系统;
根据返回结果指令,获取所述爬虫调度任务根据所述爬虫脚本执行所述爬虫任务所爬取的第二目标数据。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一指令爬取所需的第一目标数据,包括:
步骤201:确定目标URL,其中,首次执行时,以所述初始URL作为所述目标URL,非首次执行时,以URL队列中的新URL作为所述目标URL;
步骤202:抓取所述目标URL的网页,从所述目标URL的网页中获取新URL,将所述新URL放入URL队列中;
步骤203:根据所述内容过滤规则过滤所述目标URL的网页,以获得第一目标数据;
重复执行步骤S201~步骤203,直至满足停止条件。
4.根据权利要求3所述的方法,其特征在于,所述根据所述内容过滤规则过滤所述目标URL的网页,包括:
根据所述内容过滤规则,采用最大匹配算法判别所述目标URL的网页是否符合内容过滤规则中的要求。
5.根据权利要求3所述的方法,其特征在于,所述根据所述内容过滤规则过滤所述目标URL的网页的数据,包括:
根据所述内容过滤规则,采用自然语言处理模型判别所述目标URL的网页是否符合内容过滤规则中的要求。
6.根据权利要求2所述的方法,其特征在于,所述第二指令包括调试指令;
设备在处于第二模式时,根据所述调试指令测试代码编码区中的爬虫脚本代码,并预设的显示区中显示测试结果。
7.可视化爬虫代码编写与调试系统,其特征在于,包括:
模式控制模块,用于接收用户输入的模式选择指令,根据所述模式选择指令进入第一模式或第二模式;
第一爬取模块,用于进入第一模式后,获取用户输入的第一指令,所述第一指令包括初始URL和内容过滤规则,基于所述第一指令爬取所需的第一目标数据;
第二爬取模块,用于进入第二模式后,生成用于供用户输入爬虫脚本代码的代码编码区,获取用户输入的第二指令,基于所述第二指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,以获取爬虫调度系统根据所述爬虫脚本代码执行爬虫任务时所爬取的第二目标数据。
8.根据权利要求7所述的系统,其特征在于,所述代码编码区还用于供用户输入爬虫任务代码,所述第二指令包括提交代码指令、发送任务指令和返回结果指令;
所述基于所述第二指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统,以获取爬虫调度系统根据所述爬虫脚本代码执行爬虫任务时所爬取的第二目标数据,包括:
根据所述提交代码指令,将所述代码编码区中的爬虫脚本代码提交到外部的爬虫调度系统;
根据所述发送任务指令,将所述代码编码区中的爬虫任务代码发送给所述爬虫调度系统;
根据返回结果指令,获取所述爬虫调度任务根据所述爬虫脚本执行所述爬虫任务所爬取的第一目标数据。
9.根据权利要求7所述的系统,其特征在于,所述基于所述第一指令爬取所需的第一目标数据,包括:
步骤201:确定目标URL,其中,首次执行时,以所述初始URL作为所述目标URL,非首次执行时,以URL队列中的新URL作为所述目标URL;
步骤202:抓取目标URL的网页,从所述目标URL的网页中获取新URL,将所述新URL放入URL队列中;
步骤203:根据所述内容过滤规则过滤所述目标URL的网页,以获得第一目标数据;
重复执行步骤S201~步骤203,直至满足停止条件。
10.根据权利要求7所述的系统,其特征在于,所述第二指令包括调试指令;
所述第二爬取模块,还用于在处于第二模式时,根据所述调试指令测试代码编码区中的爬虫脚本代码,并在预设的显示区中显示测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884239.5A CN112100061A (zh) | 2020-08-28 | 2020-08-28 | 一种可视化爬虫代码编写与调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884239.5A CN112100061A (zh) | 2020-08-28 | 2020-08-28 | 一种可视化爬虫代码编写与调试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112100061A true CN112100061A (zh) | 2020-12-18 |
Family
ID=73758195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010884239.5A Pending CN112100061A (zh) | 2020-08-28 | 2020-08-28 | 一种可视化爬虫代码编写与调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100061A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328812A (zh) * | 2022-10-11 | 2022-11-11 | 深圳华锐分布式技术股份有限公司 | 基于网络爬虫的ui界面测试方法、装置、设备及介质 |
CN117633324A (zh) * | 2023-11-03 | 2024-03-01 | 北京东方通网信科技有限公司 | 一种自定义的可视化爬虫配置方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2005309617A1 (en) * | 2004-11-22 | 2006-06-01 | Facebook, Inc. | Method and apparatus for an application crawler |
CN105243159A (zh) * | 2015-10-28 | 2016-01-13 | 福建亿榕信息技术有限公司 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
CN106021257A (zh) * | 2015-12-31 | 2016-10-12 | 广州华多网络科技有限公司 | 一种支持在线编程的爬虫抓取数据方法、装置及系统 |
CN106933973A (zh) * | 2017-02-14 | 2017-07-07 | 广州优亿信息科技有限公司 | 一种可视化网络爬虫方法 |
CN107895009A (zh) * | 2017-11-10 | 2018-04-10 | 北京国信宏数科技有限责任公司 | 一种基于分布式的互联网数据采集方法及系统 |
CN109063144A (zh) * | 2018-08-07 | 2018-12-21 | 广州金猫信息技术服务有限公司 | 可视化网络爬虫方法及装置 |
-
2020
- 2020-08-28 CN CN202010884239.5A patent/CN112100061A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2005309617A1 (en) * | 2004-11-22 | 2006-06-01 | Facebook, Inc. | Method and apparatus for an application crawler |
CN105243159A (zh) * | 2015-10-28 | 2016-01-13 | 福建亿榕信息技术有限公司 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
CN106021257A (zh) * | 2015-12-31 | 2016-10-12 | 广州华多网络科技有限公司 | 一种支持在线编程的爬虫抓取数据方法、装置及系统 |
CN106933973A (zh) * | 2017-02-14 | 2017-07-07 | 广州优亿信息科技有限公司 | 一种可视化网络爬虫方法 |
CN107895009A (zh) * | 2017-11-10 | 2018-04-10 | 北京国信宏数科技有限责任公司 | 一种基于分布式的互联网数据采集方法及系统 |
CN109063144A (zh) * | 2018-08-07 | 2018-12-21 | 广州金猫信息技术服务有限公司 | 可视化网络爬虫方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328812A (zh) * | 2022-10-11 | 2022-11-11 | 深圳华锐分布式技术股份有限公司 | 基于网络爬虫的ui界面测试方法、装置、设备及介质 |
CN117633324A (zh) * | 2023-11-03 | 2024-03-01 | 北京东方通网信科技有限公司 | 一种自定义的可视化爬虫配置方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mesbah et al. | Crawling Ajax by inferring user interface state changes | |
Ramya et al. | Testing using selenium web driver | |
US7877681B2 (en) | Automatic context management for web applications with client side code execution | |
US8245198B2 (en) | Mapping breakpoints between web based documents | |
US8090800B2 (en) | Method and system for automated web page accessibility coding standards analysis | |
US7823164B2 (en) | Automated generation of different script versions | |
US9417992B2 (en) | Web portal API test report generation | |
US20020188890A1 (en) | System and method for testing an application | |
JP2005527859A (ja) | スキルベースのテストおよびトレーニングのための方法およびシステム | |
CN112100061A (zh) | 一种可视化爬虫代码编写与调试方法 | |
US9026997B2 (en) | Systems and methods for executing object-oriented programming code invoking pre-existing objects | |
CN103324567B (zh) | 一种应用引擎的调试方法和调试系统 | |
Agarwal et al. | Copilot Evaluation Harness: Evaluating LLM-Guided Software Programming | |
Murphy | Getting to flow in software development | |
JP4795404B2 (ja) | 動作検証装置および動作検証プログラム | |
JP5737249B2 (ja) | 負荷シミュレーション装置、シミュレーション装置、負荷シミュレーション方法、シミュレーション方法及びプログラム | |
Eler et al. | JaBUTiService: a web service for structural testing of java programs | |
Di Lucca et al. | Web application testing | |
CN114968751A (zh) | 一种无代码开发平台的程序调试方法和程序调试装置 | |
KR100279751B1 (ko) | 씨지아이 프로그램 자동생성 방법 | |
Aung et al. | An implementation of code writing problem platform for Python programming learning using Node. js | |
CN111124815A (zh) | 一种日志查看方法、装置、设备及存储介质 | |
Maezawa et al. | Automated verification of pattern-based interaction invariants in Ajax applications | |
Nizenkov | Design and implementation of a developer-centric quality web application | |
Said et al. | Interactive measures for mining understandable state machines from embedded software: Experiments and case studies |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201218 |
|
RJ01 | Rejection of invention patent application after publication |