CN108228151A - 一种新型网络机器人的设计方法 - Google Patents
一种新型网络机器人的设计方法 Download PDFInfo
- Publication number
- CN108228151A CN108228151A CN201611200050.XA CN201611200050A CN108228151A CN 108228151 A CN108228151 A CN 108228151A CN 201611200050 A CN201611200050 A CN 201611200050A CN 108228151 A CN108228151 A CN 108228151A
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- find
- attribute
- name
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种网络机器人的设计方法,该方法主要采用xml配置文件,以浏览器为基准,然后进行机械活动的。主要流程是从xml配置文件中读取配置信息,启动浏览器,对网站进行层次浏览,进行数据清洗,存入数据库。
Description
技术领域
该发明属于互联网编程技术,主要包括python语言编程,互联网浏览技术,网页解析技术,浏览器启动技术等。
背景技术
背景技术主要包括python语言编程技术,软件工程技术, xml配置文件技术。
发明内容
该网络机器人的构成包括xml控制文件,python程序库,python运行程序。xml控制文件主要包括各大控制模块的参数,python程序库包括自建的各种经常使用的python函数,python运行程序包括对不同网站写的程序。
核心是xml控制文件,主要包括以下几个模块:query模块,formal_nodes模块,层次模块(包括first_level, second_level等),cleaning模块和database_config模块。
query模块主要是设定需要挖掘的网站的url,挖掘时候的访问次数及频率,一般包括,url,用来表明需要进行访问的网站的url,其中包含的变量元素,比如页面,使用@page@等代替。
formal_nodes模块是说明需要进行挖掘何保存的数据元素模块。一般是一个formal_node节点,包括formal_node_name,节点名字,default_value, 自然数据,value,该节点的值。
层次模块,根据网站的不同,可能涉及多个层次,包括first_level, second_level等,但是每个level都是一样的结构,主要包括以下几个模块,pagination模块,webdriver模块,independent_part模块,top_level和main_part模块,next_level_reference模块。
pagination模块是设定翻页模块的。包括两个节点,top_page_node和click节点。total_page_node主要设定页面总页数的元素节点及获取方法,主要包括name,即总页数节点的名字,method,获取总页数采用的方法,包括ordinary, match_string, cycle三种方法,接下来是两种方法的设定参数,ordinary主要包括find节点,find节点中包含的find_node节点,find_node节点可以是0个,也可以是多个,每一个find_node节点包含3个子节点,分别是tag,即tag名字,attribute_name,元素的名字,attribute_content,元素的内容。之后是attribute元素和text元素。ordinary的方法主要是从输入的节点开始,根据不同的find_node的个数,进行循环寻找,最终找到该节点,如果有attribute就寻找attribute,如果是text,就使用get_text来获取内容。match_string方法,包括match_content,匹配内容,find_parent,寻找母节点,find节点,主要包括若干个find_node节点,find_node节点包括3个子节点,分别是tag,即tag 名字,attribute_name,元素的名字,attribute_content,元素的内容。find节点可以包含0个节点,也可以包含多个节点。attribute元素和text元素。match_string的方法,采用先读取match_content中的内容,读取find_parent中的tag名字,使用find_parent方法找到父母节点,然后读取find节点中的find_node节点,如果没有就直接使用parent节点,如果有多个就循环读取,最终找到该节点,然后读取attribute 和text的内容,如果有attribute,就读取attribute的内容,如果是text,就使用get_text方法来获取数据内容。cycle方法主要包括cycle节点,attribute节点和text节点,cycle节点包含front节点,number节点和back节点。front节点中包含find节点,find节点中包含多个find_node节点。每一个find_node节点包含tag, 标签,attribute_name,元素的名字,attribute_content,元素的内容。number节点主要是一个数字,back节点和front节点类似,包含find节点,find节点中包含多个find_node节点。每个find_node节点包括tag,标签,attribute_name,元素的名字,attribute_content,元素的内容。cycle的方法主要是首先从front部分读取find节点,从中读取不同的find_node节点,然后采用循环的方式找到符合条件的节点群,从number中读取选取节点的顺序,第几个节点是需要的,然后在确定这个节点之后,在启用back部分,在back部分中读取find_node节点,循环读取,最终确定最终节点。确定找到的最终节点之后,根据attribute和text的内容,如果是attribute内容,则选择attribute元素,如果是text,则选择get_text的方式来获取节点。之后是click节点,包含click_method节点和click_content节点。click_method表明点击的方式,主要包含xpath,partial_link_text。click_content表示点击方法对应的内容,如果是xpath的方法,该内容就是xpath,webdriver将使用find_element_by_xpath读取该xpath的内容,然后,进行click的点击行为。如果是partial_link_text的方法,webdriver将读取该内容,然后使用find_element_by_partial_link_text的方法获得该元素,然后,进行click的点击行为。
webdriver模块主要是设定浏览器启动参数的。主要包括webdriver_name节点,binary_path节点, webdriver_path节点和find_by节点。webdriver_name节点主要包括firefox, firefox_binary, chrome, IE四种方法,binary_path,主要保存binary的存储位置,webdriver_path主要保存driver的存储位置,find_by节点主要包括delay节点,find_by_type节点,find_by_content节点。delay节点包含延迟数目,find_by_type节点主要包括class, id, tag三种模式,find_by_content是展现的内容。该模块主要是决定启动何种浏览器已经需要等到什么元素出现之后。首先是程序读取webdriver_name,如果是chrome,就先读取webdriver_path,然后,再在os的environ里面加上webdriver.chrome.driver元素,将读取的webdriver_path内容赋给该元素。使用webdriver.Chrome(path_to_chrome_driver)来启动该chrome浏览器。如果是firefox_binary,则首先读取binary_path的内容,然后生成一个firefoxfinary的实例,并且使用webdriver.Firefox(firefox_binary=binary)的方式获取浏览器启动案例。如果是ie,则读取webdriver_path,然后使用webdriver.Ie(webdriver_path)来获得IE浏览器的启动。启动之后,读取find_by节点,分别读取delay,find_by_type, find_by_content节点,如果find_by_type是class, 则使用EC.presence_of_element_located,中By.Class_name来等待元素的出现,如果find_by_type是id,则使用EC.presence_of_element_located中By.Id中,等待find_by_content元素的出现,如果find_by_type是tag,则使用EC.presence_of_element_located中By.tag_name,使用webdriverwait方法来等待delay规定的时间里,所设定的元素的出现。
Independent_part模块,该模块主要是设定参数,对网页中的独立的部分的模块进行解析和抓取。主要包括node_list节点,node_list节点中包含多个node节点,每个node节点包含name, method以及method的具体设定。name,主要是表明了node的名字,method主要是表明了该node采用的方法,主要是ordinary ,match_string , cycle, match_and_cycle, stay, 和match_and_cycle_cycle方法,之后根据采用的不同的方法,设置不同的参数。ordinary的测试方法是,里面包含find节点,每个find节点包含不同的find_node节点,每一个find_node节点,包含tag, attribute_name和attribute_content三个节点。tag表明了采用的tag内容,比如div等,attribute_name表明采用的attribute,比如class,id, tag 等,attribute_content表示的是attribute的具体内容,对应到attribute的寻找内容。ordinary的主要方法是,从输入的节点开始寻找,根据find节点中的find_node节点,然后对不同的find_node节点,采用循环的方式,最终找到一个最终的节点,然后读取attribute和text,如果有attribute, 则选取attribute, 如果有text,则选取get_text的方法。match_string的方法,包含match_content节点,find_parent节点,find节点,attribute 节点和text节点,match_content节点是match的内容,find_parent节点是说明找到的父母节点,之后是在find节点中的find_node节点,采用循环的方法,最终能够得到一个比较合适的节点,之后如果有attribute,则选择attribute,如果是text,则使用get_text的方法获得text。cycle的方法,采用的结构是cycle节点,cycle节点包含front节点,number节点,back节点,front节点包含find节点,find_all节点,find节点包含若干find_node节点,每一个find_node节点都包含tag节点,attribute_name节点和attribute_content节点。tag节点主要是包含tag名字,attribute_name包含的是元素名字,attribute_content是包含元素内容,采用的方法是从front中读取不同的find_node节点,然后找到这些节点之后,通过循环的方法,找到这个最终的节点,之后find节点中还有一个find_all节点,包含tag, attribute_name, attribute_content,tag表明寻找的tag名字,attribute_name表示元素的名字,attribute_content表示元素的内容,通过这个找到包含特征的所有节点,然后读取number节点中的数字,选择其中指定的那个元素,之后读取back节点,back节点和front节点类似,包含多个find_node节点,对这些节点进行循环,最终找到合适的节点。后面根据attribute和text来找到最合适的元素内容和节点。match_and_cycle方法,该方法采用的是match_string 和cycle方法结合的方法,包含一下一个方法,match_content, find_parent, front, number, back。其中match_content节点储存的是match的内容,用来匹配的内容,find_parent,储存的是寻找父母节点的内容,用来寻找父母节点,front节点包含find节点和find_all节点,find节点主要是包含多个find_node,根据不同的find_node,通过循环的方法找到合适的节点,然后,再根据find_all节点中的内容,寻找到包含这些信息的节点群,之后通过number节点中的数字,找到定位于某数字的固定的节点,然后通过back中的设定,找到该节点之后的下一步搜寻,最终达到该状态。最后根据attribute和text来找到合适的attribute或者text。stay方法主要是保持原来的状态不变,最终的节点为原来的节点。match_and_cycle_cycle的方法主要是match_string,cycle, cycle方法的叠加。主要方法是,首先采用match_string 的方法,寻找最合适的节点,然后第一次采用cycle的方法找到节点,但是在该节点的基础之上,再次采用cycle的方法,寻找到合适的节点。
top_level和main_part模块,该模块主要针对的是主要网页模块进行抓取。top_level节点主要定义了顶层模块抓取的参数,主要包括method, 方法设定参数,top_level_find_all节点。其中method主要包含不同的方法,match_and_cycle, ordinary, match_string, cycle和match_and_cycle_cycle方法,具体的方法和方法参数和independent_part一样的。找到这些最终节点之后,读取top_level_find_all节点,该节点包含tag,attribute_name和attribute_content节点。根据tag节点,读取attribute_name和attribute_content的内容,然后找到最多的节点。main_part节点主要是包含需要寻找的node节点们的参数。其包含node_list 节点,node_list节点包含多个node节点,每个node节点包含的内容差不多,都有name节点,method节点,方法参数设置节点,attribute节点和text节点。name节点包含的是该node的显示名字,method节点包含使用的方法,主要包括ordinary, cycle, match_string, match_and_cycle, match_and_cycle_cycle¸方法参数设置节点和之前independent_part中设置的一样,attribute表明元素的情况,text表明是否使用get_text节点。
next_level_reference模块,主要是设置进入下一层次的参数。包括node节点,node节点包含name节点,common_path节点。name节点主要是说明进入下一层次的node的name,common_path节点主要是说明进入下一层次的node的url是否有缺失的部分,如果有,则补上,没有就空着。
cleaning模块主要是针对有的节点的数据存入数据库的时候,格式容易引发错误,所以对这些节点采用一些处理方法,使之对存入数据库包含正确的格式。主要包含node_list节点,node_list节点包含多个node节点,每个node节点包含name节点,method节点。name节点说明的是节点的名字,method节点包含的是对该节点使用的方法,比如replace_sql等。
database_config模块主要是设置对数据存入数据库的格式。主要包括以下几个节点,database_login, database_password, database_host, database_name,database_charset, database_table_name节点。database_login表明login的用户名,比如root,database_password,表示登陆的密码,database_host,表明采用的host,比如localhost,database_name表明数据库名字,database_charset,表明使用的编码,database_table_name,表明数据库插入的表格。
网络机器人进行数据挖掘的主要流程包括,读取信息参数,启动浏览器,进入层次浏览,进行数据清洗,存入数据库。
读取信息参数,主要是使用beautifulsoup将xml控制文件读取到一个例子config_soup中,其中包含之前说明的各个模块的信息。
启动浏览器模块主要包含两步,第一步是读取query模块中的不同的设置参数,包括url的设定,访问的频次等,第二步是读取webdriver模块中浏览器的设置,包括选择的浏览器类型,driver的路径,binary的路径,第三步是确认页面出现所需要出现的元素。该步骤主要使用find_by模块的参数(包括delay, find_by_type, find_by_content)。
第一步,主要根据得到的config_soup,中保存的各个不同的参数的信息来设置。
第二步,启动浏览器,首先,主要是从config_soup中读取各个不同层次的webdriver节点的设置参数。包括webdriver_name, binary_path, wevdriver_path,find_by(包含delay, find_by_type和find_by_content)。
目前webdriver_name 定义启动浏览器的类型,主要包括三种方式,firefox,firefox_binary, chrome, IE。如果是firefox类型,则将geckodriver的地址加入到PATH环境变量中,采用webdriver.firefox()的方式来进行启动浏览器。如果是firefox_binary类型,binary_path就要填写firefox.exe的所在地,将geckodriver的地址加入到PATH环境变量中。采用webdriver.firefox(firefox_binary=binary)的方式来进行启动。如果是chrome类型,需要填写webdriver_path,并且将其加入到python的os的path变量中,然后采用webdriver.chrome(path_to_chrom_driver)的方式来启动。如果是ie,则需要下载iedriver,并且确认其路径,将其填写为webdriver_path变量,采用webdriver.Ie(webdriver_path)的方式来启动浏览器。
第三步,等待页面出现需要出现的元素。启动浏览器之后,输入url,然后使用find_by节点来确认页面完全展示,主要是使用EC.presence_of_element_localted的方法来等待。从webdriver中读取find_by_type,主要包括class, id和tag三种方式,如果是class方式,等待中采用By.class_name的方式,如果是id, 等待中采用By.ID的方式,如果是tag, 等待中采用By.tag_name的方式。使用Webdriverwait(driver, delay).until(element_present)的方式等待该元素出现。
进入层次浏览,该步骤在之前的基础之上,分为以下几个步骤,分页(获得总页数),对于第一页,获得独立部分的数据,获得主要部分的数据,确定下一层次并进入。对于第二页及以后,翻页,获得独立部分的数据,获得主要部分的数据,确定下一层次并进入。
对于分页部分,主要是pagination模块。pagination模块主要包含total_page_node节点和click节点。total_page_node节点主要包含name, method, 方法参数设计,attribute和text节点。name是该节点的名称,一般是total_page,method是使用的方法来获取包含总页数的节点。主要包括ordinary, match_string的方法。如果是ordinary方法,则方法参数设计包含find节点,find节点中包含多个find_node节点,每一个find_node节点包含tag节点,attribute_name节点,attribute_content节点。读取的时候根据find_node节点的个数,使用find方法,进行循环迭代,最终得到一个最终的节点,后面根据读取的attribute 和text内容,如果是attribute,则获取attribute元素,如果是text内容,则获取text内容。如果是match_string 方法,则方法参数设置中包含match_content节点,find_parent节点,find节点,其中find节点包含多个find_node节点。每个find_node节点和ordinary中配置一样。该方法主要是从match_content中获得match的内容,然后将其与网页中的元素进行比较,找到之后,使用find_parent的方法进行父母节点的查询,找到之后,再在find节点中,根据find_node节点的个数,进行循环查找,找到最终的节点,最终根据attribute 和text的设置进行最终数据的查询。
对于独立部分的数据读取,主要是正对independent_part部分的数据读取,即网页中独立部分的数据读取,主要包括node_list节点,该节点包含多个node节点,每个node节点包含name节点,method节点,方法参数节点,attribute节点和text节点。name节点包含的是node的名字,method节点包含的是采用的方法,主要包括ordinary, match_string,cycle, match_and_cycle, stay和match_and_cycle_cycle方法。方法配置参数包含各种方法的参数,attribute节点包含元素的配置,text节点包含text的节点。ordinary的方法的配置与pagination中ordinary方法配置是一样的。match_string的方法及其参数配置和pagination中match_string方法配置是一样的。cycle方法,其方法配置包含front节点,number节点,back节点,attribute节点和text节点,其中front节点包含find节点和find_all节点,find节点包含多个find_node节点,每个find_node节点包含tag节点,attribute_name节点,attribute_content节点。find_all节点也包含tag节点,attribute_name节点和attribute_content节点。back节点包含find节点,find节点包含多个find_node节点,每个find_node节点包含tag节点,attribute_name节点和attribute_content节点。cycle运行方法是,从front中读取find中的find_node节点,根据这些find_node节点,进行循环读取,最终得到一个最终的节点。然后再读取find_all节点,该节点的读取可以获得一批节点。然后读取number节点,从number节点中获得该批节点的个数,第几个元素是所需要的。之后再读取back节点,根据find节点中的find_node节点,从之前选取的元素上再根据find_node进行循环读取,最终得到一个最终版本的元素,之后根据attribute和text的配置,决定是否进行attribute还是get_text获取。match_and_cycle方法是在cycle的方法上加了一个match_string 方法,包含,match_content节点,find_parent节点,front节点,number节点,back节点。其中front节点包含find节点,其包含多个find_node节点,每个find_node节点包含tag, attribute_name 和attribute_content,find_all节点包含tag, attribute_name和attribute_content。back节点包含find节点,find节点包含多个find_node节点,每个find_node节点包含tag, attribute_name和attribute_content节点。该方法的主要运行程序是,使用find(string=match_content) 的方法从网页中获取元素,然后根据find_parent节点找到该节点的父母元素,然后根据front节点,先从find节点中根据不同的find_node节点,重复寻找,找到合适的元素,之后,根据find_all节点,找到一批符合条件的元素,根据number节点,找到该批元素中符合条件的元素,然后根据back节点中,find节点的find_node 元素,循环寻找,最终找到一个合适的元素。根据attribute和text的设定,决定最终的数值。stay方法只有一个,将保持在原节点。match_and_cycle_cycle方法是match_string, cycle和cycle方法的叠加。主要包含match_content节点,find_parent节点(包含tag, attribute_name和attribute_content),多层次cycle。运行方法是,首先使用match_content的方法找到元素,然后根据find_parent的方法找到需要的父母节点,然后根据多层次cycle,有first_level_cycle, second_level_cycle等,每个cycle的配置和cycle方法一样,在找到的节点之上实施cycle方法,第二层的cycle方法实施在第一层cycle方法找到节点之上。最后找到一个最终节点,根据attribute和text的设置,找到最终的元素。
获得主要部分的数据主要是参照top_level和main_part两部分,分为两步,第一步,根据top_level获得多个节点的top_level元素,第二步,根据main_part部分,获得主要部分的数据。
根据top_level部分的设置,包含method节点,方法配置节点,top_level_find_all节点,method节点指的是采用的方法,主要包括ordinary, match_string, cycle,match_and_cycle, match_and_cycle_cycle,方法,方法配置和上面independent_part描述的一样。在找到最终节点之后,有top_level_find_all节点,该节点包含tag节点,attribute_name节点,attribute_content节点,是在原来节点的基础之上,根据该节点的配置,找到一些符合条件的节点top_nodes。
main_part部分,是对top_nodes节点进行下一步动作。对其中的每一个节点,实施同样的方法。main_part包含node_list节点,该节点包含多个node节点,每个node节点包含name, method, 方法配置,attribute和text。name是名字,method是node 采用的方法,包括ordinary, match_string , cycle, match_and_cycle, match_and_cycle_cycle方法,方法配置和top_level中描述的一样,得到最终节点之后,根据attribute和text的配置,找到最终的数值。然后对于top_level部分留下来的每一个top_level_node,采用的方法是,根据main_part中的每一个node,对其node进行寻找,找到合适的值,将其赋值给config_soup中对应node,即formal_nodes中的node,的值。
确定下一层次并且进入模块,该模块主要是查找config_soup中相应的next_level_reference部分,该部分一般包含一个node,该node 包含name节点,common_path节点。name节点表明该node用来保存去下一层次的node的名字,common_path主要保存是否确实url,如果有的next_level_reference只是一部分url, 缺失了一部分的url,则应该采用common_path中的部分,将其补齐。
翻页部分,就是pagination部分中的click节点。该节点包含click_method,click_content。click_method表明方法,一般包括partial_link_text和xpath,如果是xpath,则在翻页的时候使用driver.find_element_by_xpath的方法找到元素,并且点击,如果是partial_link_text,则在翻页的时候采用driver.find_element_by_partial_text的方法找到元素并且进行点击。
进行数据清洗,cleaning节点,一般包含node_list节点,该节点包含多个node节点,每一个node节点包含一个name节点及method节点。主要进行层次分析的时候,通过对independent_part和top_level及main_part的数据获取及赋值,config_soup的每一个formal_node中的每一个node的值都被赋值,在将这些数据放入数据库之前,由于有的数据格式不好,将使用该模块对指定的node的值进行一次清洗,使之符合数据库接受的格式。name节点确定需要清洗的node的名字,method节点说明该节点使用的方法。包括replace_sql方法,replace_delete方法。
存入数据库模块是最后一个模块,该模块调用mysql的接口,使用pymysql的接口,从数据库设置模块读取相应的信息,包含database_login, database_password,database_host, database_name, database_charset, database_table_name等,将config_soup中的formal_nodes中的各个node的值拼接成为一个sql语句,最终使用接口,存入数据库中。
Claims (8)
1.要求对该机器人设计系统方法及其衍生的方法进行保护。
2.要求对机器人的结构进行保护,包含xml配置文件的各个模块的设计及其原理,以及基于此衍生的一些原理,比如多层次浏览部分可以有n层次的浏览。
3.要求对权利2中提出的xml配置文件的各个子模块的设计及其功能进行保护,包括query模块,formal_nodes模块,层次模块(包括first_level, second_level等),cleaning模块和database_config模块。
4.要求对机器人运行时的各个流程及其衍生方法进行保护,包括读取信息参数,启动浏览器,进入层次浏览,进行数据清洗,存入数据库。
5.要求对权利4中提出的启动浏览器模块中提及的使用selenium和python 接口启动浏览器,然后按需求选择不同的浏览器启动的方法进行保护,包括但不限于firefox,chrome, ie 等,其衍生方法也在保护之中,比如选择其他的还没有提及的浏览器比如safari等。
6.要求对权利4中提出的,将配置文件生成一个beautifulsoup的实例,比如config_soup,然后将不同的formal_node中的值储存在该实例中,然后允许运行时对其进行赋值,修改,并且存在数据库中方法进行保护。
7.要求对权利4中提出的,将不同参数写入xml文件,然后生成一个beautifulsoup实例,比如config_soup,然后允许读取不同参数的方法进行保护。
8.对权利4中提出的按层次浏览,然后进行数据清洗,并且存在数据库中涉及的方法及流程及衍生方法进行保护。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611200050.XA CN108228151A (zh) | 2016-12-22 | 2016-12-22 | 一种新型网络机器人的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611200050.XA CN108228151A (zh) | 2016-12-22 | 2016-12-22 | 一种新型网络机器人的设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108228151A true CN108228151A (zh) | 2018-06-29 |
Family
ID=62656320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611200050.XA Pending CN108228151A (zh) | 2016-12-22 | 2016-12-22 | 一种新型网络机器人的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228151A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309467A (zh) * | 2018-03-25 | 2019-10-08 | 北京询达数据科技有限公司 | 一种全自动深度网络挖掘机的设计方法 |
CN110309118A (zh) * | 2018-03-06 | 2019-10-08 | 北京询达数据科技有限公司 | 一种深度网络数据挖掘机器人的设计方法 |
CN112925970A (zh) * | 2019-12-05 | 2021-06-08 | 天津挺哥网络科技有限公司 | 一种新型暗网全网挖掘机器人的设计方法 |
CN113392298A (zh) * | 2020-03-14 | 2021-09-14 | 天津挺哥网络科技有限公司 | 一种基于xml数据库的定点暗网情报挖掘分析系统的设计方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20010136A (fi) * | 2001-01-23 | 2002-07-24 | Republica Jyvaeskylae Oy | Menetelmä ja laitteisto tiedon uudelleenryhmittelemiseksi |
CN102043862A (zh) * | 2010-12-29 | 2011-05-04 | 重庆新媒农信科技有限公司 | 网页数据定向抓取方法 |
CN103475687A (zh) * | 2013-05-24 | 2013-12-25 | 北京网秦天下科技有限公司 | 用于下载网站数据的分布式方法和系统 |
CN105045838A (zh) * | 2015-07-01 | 2015-11-11 | 华东师范大学 | 基于分布式存储系统的网络爬虫系统 |
CN105955208A (zh) * | 2016-04-15 | 2016-09-21 | 青岛克路德机器人有限公司 | 一种基于云平台的网络机器人数据控制系统 |
CN105956175A (zh) * | 2016-05-24 | 2016-09-21 | 考拉征信服务有限公司 | 网页内容爬取的方法和装置 |
-
2016
- 2016-12-22 CN CN201611200050.XA patent/CN108228151A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20010136A (fi) * | 2001-01-23 | 2002-07-24 | Republica Jyvaeskylae Oy | Menetelmä ja laitteisto tiedon uudelleenryhmittelemiseksi |
CN102043862A (zh) * | 2010-12-29 | 2011-05-04 | 重庆新媒农信科技有限公司 | 网页数据定向抓取方法 |
CN103475687A (zh) * | 2013-05-24 | 2013-12-25 | 北京网秦天下科技有限公司 | 用于下载网站数据的分布式方法和系统 |
CN105045838A (zh) * | 2015-07-01 | 2015-11-11 | 华东师范大学 | 基于分布式存储系统的网络爬虫系统 |
CN105955208A (zh) * | 2016-04-15 | 2016-09-21 | 青岛克路德机器人有限公司 | 一种基于云平台的网络机器人数据控制系统 |
CN105956175A (zh) * | 2016-05-24 | 2016-09-21 | 考拉征信服务有限公司 | 网页内容爬取的方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309118A (zh) * | 2018-03-06 | 2019-10-08 | 北京询达数据科技有限公司 | 一种深度网络数据挖掘机器人的设计方法 |
CN110309467A (zh) * | 2018-03-25 | 2019-10-08 | 北京询达数据科技有限公司 | 一种全自动深度网络挖掘机的设计方法 |
CN112925970A (zh) * | 2019-12-05 | 2021-06-08 | 天津挺哥网络科技有限公司 | 一种新型暗网全网挖掘机器人的设计方法 |
CN113392298A (zh) * | 2020-03-14 | 2021-09-14 | 天津挺哥网络科技有限公司 | 一种基于xml数据库的定点暗网情报挖掘分析系统的设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102200977B (zh) | 多租户环境下扩展数据库表的方法和系统 | |
Bean | Laravel 5 essentials | |
US10162738B2 (en) | System, method, and computer readable medium for universal software testing | |
US10289743B2 (en) | Client-side minimal download and simulated page navigation features | |
CN108228151A (zh) | 一种新型网络机器人的设计方法 | |
CN102385594B (zh) | 多核浏览器的内核控制方法和装置 | |
US9626430B2 (en) | Systems and methods for data mining and automated generation of search query rewrites | |
CN107783770B (zh) | 页面配置更新方法、装置、服务器和介质 | |
US9727607B2 (en) | Systems and methods for representing search query rewrites | |
CN110321503B (zh) | 一种web组件缓存方法、装置及电子设备 | |
CN109657121A (zh) | 一种基于网络爬虫的Web页面信息采集方法及装置 | |
Hajba | Website Scraping with Python | |
CN113177168A (zh) | 一种基于Web元素属性特征的定位方法 | |
US20130191492A1 (en) | Server-Side Minimal Download and Error Failover | |
CN110309118A (zh) | 一种深度网络数据挖掘机器人的设计方法 | |
CN103309954A (zh) | 一种基于html网页的数据抽取系统 | |
US8818983B1 (en) | Synchronization of search engines | |
CN104331445A (zh) | 一种个性化app管理平台的菜单自动加载方法 | |
CN115758016A (zh) | 网页内容静态化处理方法及系统 | |
CN103778181A (zh) | 浏览器收藏夹中图标的导入方法及装置 | |
Freeman | Essential Angular for Asp. Net Core MVC | |
CN113468443A (zh) | 页面返回方法、装置、设备及存储介质 | |
Ge et al. | Robots exclusion and guidance protocol | |
CN110515905A (zh) | 一种路由的配置的方法、装置以及服务器 | |
Pan et al. | Automatically maintaining navigation sequences for querying semi-structured web sources |
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 | ||
CB02 | Change of applicant information |
Address after: Room 262, Zhongguancun Science and Technology City Exhibition Center, intersection of Zhongguancun Avenue and Xihuan North Road, Baodi District, Tianjin Applicant after: Tianjin Xunda Data Technology Co.,Ltd. Address before: 100080 room 107-22, 1st floor, 127-1 Zhongguancun North Street, Haidian District, Beijing Applicant before: BEIJING XUNDATA TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180629 |