CN108228151A - 一种新型网络机器人的设计方法 - Google Patents

一种新型网络机器人的设计方法 Download PDF

Info

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
Application number
CN201611200050.XA
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.)
Beijing Consulting Data Technology Co Ltd
Original Assignee
Beijing Consulting Data 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 Beijing Consulting Data Technology Co Ltd filed Critical Beijing Consulting Data Technology Co Ltd
Priority to CN201611200050.XA priority Critical patent/CN108228151A/zh
Publication of CN108228151A publication Critical patent/CN108228151A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-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中提出的按层次浏览,然后进行数据清洗,并且存在数据库中涉及的方法及流程及衍生方法进行保护。
CN201611200050.XA 2016-12-22 2016-12-22 一种新型网络机器人的设计方法 Pending CN108228151A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 考拉征信服务有限公司 网页内容爬取的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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