CN106598991A - 一种使用会话方式实现与网站交互表单自动提取的网络爬虫*** - Google Patents
一种使用会话方式实现与网站交互表单自动提取的网络爬虫*** Download PDFInfo
- Publication number
- CN106598991A CN106598991A CN201510675362.5A CN201510675362A CN106598991A CN 106598991 A CN106598991 A CN 106598991A CN 201510675362 A CN201510675362 A CN 201510675362A CN 106598991 A CN106598991 A CN 106598991A
- Authority
- CN
- China
- Prior art keywords
- script
- website
- interaction
- engine
- conversational 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
Classifications
-
- 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
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)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
一种使用会话方式实现与网站交互表单自动提取的网络爬虫***。互联网上有相当多的信息需要使用账户登录方式,通过特定的鼠标点击及键盘输入操作步骤,才能获取到。传统的网络爬虫开发技术是使用浏览器开发工具,监控人工操作时浏览器与服务器端交互的请求和应答,对截取的请求和应答内容人工分析,再开发代码实现。本发明提供一套经过验证可行的***,将上述构造爬虫交互信息的工作接近于完全自动化的方式实现。这个***由三个要素构成:一个HTML解析器,用于从HTML网页中解析出表单(〈FORM/〉)、链接(〈A/〉)等标签;一个脚本录制引擎,它通过代理的方式,为用户提供对目标网站的访问,记录浏览器与服务器端的数据交互;一个脚本运行模拟器,以解释方式运行上一步录制的脚本,播放脚本即可实现爬虫与网站的交互以及信息的抓取。
Description
本发明提供一套经过验证可行的***,将上述构造爬虫交互信息的工作接近于完全自动化的方式实现。这个***由三个要素构成:
1,一个HTML解析器,用于从HTML网页中解析出表单(<FORM/>)和链接(<A/>)标签;
2,一个脚本录制引擎,它通过代理的方式,为用户提供对目标网站的访问,用户浏览器与服务器端的任何数据交互都被记录下来;
3,一个脚本运行模拟器,以解释方式运行上一步录制好的脚本,播放脚本即可实现爬虫与网站的交互以及信息的抓取。
***有如下工作状态:
1,录制脚本;
2,脚本参数化,这是一个人工过程,由人工控制需要设定和获取的参数值;
3,播放脚本,实现爬虫功能;
第2点在对脚本做参数化时,还可以做一些简单的修改来实现一些原本需要开发代码才能完成的工作。例如,使用累计变量控制循环的流程控制,调用外置的函数实现对图片验证码的自动识别,等等。
附图说明
图1为本发明的结构图及工作流程示意图。
图2为自动生成并人工参数化后的脚本样例。
具体实施方式
以下将叙述上文所述的三个要素的构成内容和工作方式。
HTML解析器用来解析HTML网页内容,生成一个DOM(Document of Model)树。对于分析爬虫与服务器交互这一任务来说,只关心DOM树中的表单标签 <FORM/>和链接标签<A/>。
HTML解析器在本发明所述的***中,有两个作用。其一,为了完成脚本录制引擎的任务,HTML解析器需要替换原网页中的<FORM/>和<A/>标签的指向链接,将表单提交地址或链接指向改为脚本录制引擎的服务器地址所对应的URL。其二,HTML解析器负责解析网页,作为下一次爬虫交互操作的变量,或作为最终需要抓取的内容返回结果。前者如提取网页中的下拉框中的选项名称及选项值,后者如提取网页文章中的点击数、点赞数等。
脚本录制引擎是实现与网站交互表单自动提取的关键部件。它有一个类似搜索引擎的WEB界面,在输入框中可以输入网站地址。
在用户提交网站地址后,录制引擎会连接网站获取网页。对返回的网页做如下处理:
a)对网页添加<base href=’${URL)’/>代码,其中${URL)是网站地址。这强制浏览器对网页上的相对链接按指定的网址相对定位,从而可以正常显示图片等相关资源;
b)对<A href=”${URL}”/>、<FORM action=”${URL}”/>、<FRAME src=”${URL}”/>、<IFRAME sre=”${URL}”/>标签,需要篡改属性中的链接地址${URL}。将${URL}替换为引擎自身的地址,并在此地址上携带原${URL}的值;
现在,用户在录制引擎上所做的表单提交或点击链接操作,都将指示浏览器向引擎发送GET/POST请求,而不是直接发送到原始网站上。这样,浏览器与原网站的请求和响应系列都被录制引擎记录下来了。
录制引擎记录下请求和响应的交互数据后,将其翻译为脚本源码,类似于“GET http://…Param1=Value1|Param2=Value2|…|ParamN=ValueN {ControlBits}”这样的代码。其中,{ControlBits}用于记录一些辅助信息,如,区分GET/POST请求,是否清除Cookie,等等。Param1=Value1则是POST方式时提交的表单参数。
录制引擎生成的脚本可以人工进一步参数化。比如上文所述的Param1=Value1和Param2=Value2表征用户名和密码,一般形如username=jackey和password=123456这样,那么可以把jackey和123456替换成运行时可以设定的参数。还可以进一步的添加流程控制,例如添加一个循环和循环计数器,结合运行时可以设定的参数变更,可以完成批量操作。
脚本参数化完成后,就可以通过脚本运行模拟器“播放”这段脚本,实现爬虫的实际运行。模拟器主要要完成三种类型的工作:
a)解释执行“GET http://…Param1=${Value1}|Param2=${Value1}|… |ParamN=${ValueN}{ControlBits}”脚本,将${Value1}、${Value1}、${ValueN}替换为运行时的值,向网站发送请求并接受响应;
b)解释执行“FIND…”脚本:调用HTML解析器,解析网页,作为下一次爬虫交互操作的变量,或作为最终需要抓取的内容返回结果。
c)流程控制:处理脚本中包含的流程控制命令。
Claims (4)
1.一种使用会话方式实现与网站交互表单自动提取的网络爬虫***,其特征在于:
1)***包含三个主要构成部分:一个HTML解析器;一个脚本录制引擎;一个脚本运行模拟器。
2)***有三个工作状态:一,录制脚本;二,可人工介入的脚本参数化;三,播放脚本实现爬虫功能。
2.如权利1所述的使用会话方式实现与网站交互表单自动提取的网络爬虫***的构成部分“HTML解析器”,其特征在于:HTML解析器用来解析HTML网页内容,生成一个DOM树。
3.如权利1所述的使用会话方式实现与网站交互表单自动提取的网络爬虫***的构成部分“脚本录制引擎”,其特征在于:有一个类似搜索引擎的WEB界面,在输入框中可以输入网站地址;录制引擎会连接网站获取网页;用户在录制引擎上所做的表单提交或点击链接操作,录制引擎记录下请求和响应的交互数据后,将其翻译为脚本源码。
4.如权利1所述的使用会话方式实现与网站交互表单自动提取的网络爬虫***的构成部分“脚本运行模拟器”,其特征在于:可以“播放”权利3所述的脚本源码,完成网络爬虫的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510675362.5A CN106598991A (zh) | 2015-10-19 | 2015-10-19 | 一种使用会话方式实现与网站交互表单自动提取的网络爬虫*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510675362.5A CN106598991A (zh) | 2015-10-19 | 2015-10-19 | 一种使用会话方式实现与网站交互表单自动提取的网络爬虫*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106598991A true CN106598991A (zh) | 2017-04-26 |
Family
ID=58554265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510675362.5A Pending CN106598991A (zh) | 2015-10-19 | 2015-10-19 | 一种使用会话方式实现与网站交互表单自动提取的网络爬虫*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598991A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108076067A (zh) * | 2017-12-27 | 2018-05-25 | 北京中关村科金技术有限公司 | 一种授权爬虫配置化模拟登录的方法及*** |
CN108664461A (zh) * | 2018-05-03 | 2018-10-16 | 北京神州泰岳软件股份有限公司 | 一种网页表单自动填写方法及装置 |
CN108664646A (zh) * | 2018-05-16 | 2018-10-16 | 电子科技大学 | 一种基于关键字的音视频自动下载*** |
CN109246069A (zh) * | 2018-06-15 | 2019-01-18 | 华为技术有限公司 | 网页登录方法、装置和可读存储介质 |
CN109948025A (zh) * | 2019-03-20 | 2019-06-28 | 上海古鳌电子科技股份有限公司 | 一种数据引用记录方法 |
CN111159000A (zh) * | 2019-12-30 | 2020-05-15 | 北京明朝万达科技股份有限公司 | 一种服务器性能测试方法、装置、设备以及存储介质 |
CN113946735A (zh) * | 2021-10-05 | 2022-01-18 | 广州非凡信息安全技术有限公司 | 一种通过流量录制实现的web网站爬取和还原的方法和*** |
CN115277451A (zh) * | 2022-07-28 | 2022-11-01 | 中译语通科技股份有限公司 | 一种基于自动化模拟器的账号登入信息初始化方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫*** |
US7496636B2 (en) * | 2002-06-19 | 2009-02-24 | International Business Machines Corporation | Method and system for resolving Universal Resource Locators (URLs) from script code |
CN103051692A (zh) * | 2012-12-11 | 2013-04-17 | 中国能源建设集团广东省电力设计研究院 | 支持极限网络环境的移动作业***工作平台 |
CN104539053A (zh) * | 2014-12-31 | 2015-04-22 | 国家电网公司 | 基于爬虫技术的电力调度自动化巡检机器人及巡检方法 |
CN104750463A (zh) * | 2013-12-26 | 2015-07-01 | 任子行网络技术股份有限公司 | 一种插件开发方法及*** |
-
2015
- 2015-10-19 CN CN201510675362.5A patent/CN106598991A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496636B2 (en) * | 2002-06-19 | 2009-02-24 | International Business Machines Corporation | Method and system for resolving Universal Resource Locators (URLs) from script code |
CN101089856A (zh) * | 2007-07-20 | 2007-12-19 | 李沫南 | 一种提取网页数据的方法和Web爬虫*** |
CN103051692A (zh) * | 2012-12-11 | 2013-04-17 | 中国能源建设集团广东省电力设计研究院 | 支持极限网络环境的移动作业***工作平台 |
CN104750463A (zh) * | 2013-12-26 | 2015-07-01 | 任子行网络技术股份有限公司 | 一种插件开发方法及*** |
CN104539053A (zh) * | 2014-12-31 | 2015-04-22 | 国家电网公司 | 基于爬虫技术的电力调度自动化巡检机器人及巡检方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108076067A (zh) * | 2017-12-27 | 2018-05-25 | 北京中关村科金技术有限公司 | 一种授权爬虫配置化模拟登录的方法及*** |
CN108076067B (zh) * | 2017-12-27 | 2021-05-18 | 北京中关村科金技术有限公司 | 一种授权爬虫配置化模拟登录的方法及*** |
CN108664461A (zh) * | 2018-05-03 | 2018-10-16 | 北京神州泰岳软件股份有限公司 | 一种网页表单自动填写方法及装置 |
CN108664461B (zh) * | 2018-05-03 | 2023-08-22 | 鼎富智能科技有限公司 | 一种网页表单自动填写方法及装置 |
CN108664646A (zh) * | 2018-05-16 | 2018-10-16 | 电子科技大学 | 一种基于关键字的音视频自动下载*** |
CN109246069A (zh) * | 2018-06-15 | 2019-01-18 | 华为技术有限公司 | 网页登录方法、装置和可读存储介质 |
CN109246069B (zh) * | 2018-06-15 | 2020-10-16 | 华为技术有限公司 | 网页登录方法、装置和可读存储介质 |
CN109948025A (zh) * | 2019-03-20 | 2019-06-28 | 上海古鳌电子科技股份有限公司 | 一种数据引用记录方法 |
CN109948025B (zh) * | 2019-03-20 | 2023-10-20 | 上海古鳌电子科技股份有限公司 | 一种数据引用记录方法 |
CN111159000A (zh) * | 2019-12-30 | 2020-05-15 | 北京明朝万达科技股份有限公司 | 一种服务器性能测试方法、装置、设备以及存储介质 |
CN113946735A (zh) * | 2021-10-05 | 2022-01-18 | 广州非凡信息安全技术有限公司 | 一种通过流量录制实现的web网站爬取和还原的方法和*** |
CN115277451A (zh) * | 2022-07-28 | 2022-11-01 | 中译语通科技股份有限公司 | 一种基于自动化模拟器的账号登入信息初始化方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598991A (zh) | 一种使用会话方式实现与网站交互表单自动提取的网络爬虫*** | |
CN109376291B (zh) | 一种基于网络爬虫的网站指纹信息扫描的方法及装置 | |
US9118549B2 (en) | Systems and methods for context management | |
US8612420B2 (en) | Configuring web crawler to extract web page information | |
CN102272757B (zh) | 用于执行客户端浏览器状态的服务器端记录的方法和*** | |
US20140137006A1 (en) | Graphical Overlay Related To Data Mining And Analytics | |
CN104766014A (zh) | 用于检测恶意网址的方法和*** | |
EP1679619A2 (en) | Methods and apparatus for evaluating aspects of a web page | |
CN110266661B (zh) | 一种授权方法、装置及设备 | |
KR20080053293A (ko) | 클라이언트 스크립트 웹 페이지에 대한 서버측 초기 콘텐츠렌더링 | |
CN111125598A (zh) | 数据智能查询方法、装置、设备及存储介质 | |
CN101562618A (zh) | 一种检测网马的方法及装置 | |
CN110851681A (zh) | 爬虫处理方法、装置、服务器及计算机可读存储介质 | |
US11726803B2 (en) | Artificial intelligence based systems and methods for autonomously generating customer service help guides with integrated graphical components and for autonomously error-checking knowledge base support resources | |
CN109408763B (zh) | 一种对不同模板的简历进行管理的方法及*** | |
CN104346398A (zh) | 网上自动填报数据的方法及其装置 | |
CN116346456A (zh) | 业务逻辑漏洞攻击检测模型训练方法及装置 | |
US20180210819A1 (en) | System and method of controlling a web browser plug-in for testing analytics | |
CN104025089B (zh) | 基于情形的爬行的方法和*** | |
CN117134986A (zh) | 基于ChatGPT的外网蜜点生成方法、***及装置 | |
CN105912573A (zh) | 数据更新方法及装置 | |
Li et al. | Modeling web application for cross-browser compatibility testing | |
DK2810194T3 (en) | PROCEDURE TO TRACK USER INTERACTION WITH A WEBSITE | |
CN105701175B (zh) | 一种数据获取方法及装置 | |
US10325027B2 (en) | Changing a language for a user session replay |
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 | ||
DD01 | Delivery of document by public notice | ||
DD01 | Delivery of document by public notice |
Addressee: Shanghai Intple Technology Co.,Ltd. Document name: the First Notification of an Office Action |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170426 |