一种通用的网络爬虫模拟登录方法及系统的制作方法

文档序号:9865754阅读:854来源:国知局
一种通用的网络爬虫模拟登录方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机软件技术领域,尤其涉及一种通用的网络爬虫模拟登录方法及系统。
【背景技术】
[0002]随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。网络爬虫是一个自动提取网页的程序,它从万维网上下载网页,是搜索引擎的重要组成,其一般是从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
[0003]在网络爬虫爬取网站内容时,大部分网站要求验证用户信息后才可以访问网站的页面,因此爬虫中都会实现一些基本的模拟登录功能,能实现对多数网站的模拟登录,之后爬取网站页面内容。然而随着技术的不断发展,网站的验证机制越来越复杂,基本的模拟登录已经无法应对。
[0004]1.业界现在通常的做法是采用基本的模拟登录方法来应对验证机制比较简单的网站,对于验证复杂的网站采用针对性定制开发的方法来模拟登陆:对特定站点进行手工登录,截取登录过程中的网络数据包,分析网站的认证机制及认证参数,最后编写程序模拟登录过程。这种方案的缺点是开发工作量很大,站点认证规则变化的时候需要修改原先的程序。
[0005]2.采用人工干预的方式来进行爬虫的模拟登录:爬虫爬取特定网站时先弹出网站的登陆页面,然后由人工进行用户、密码等认证信息的录入,验证通过后再由爬虫进行网站页面内容的抓取。这种方案的缺点是需要人工参与,无法实现全自动化内容爬取。
[0006]现有技术中公开了一种“支持人工会话嫁接的网络爬虫系统和实现方法”,公开号为:CN104298716A,公开日为:2015-01_21的中国专利,该发明涉及一种支持人工会话嫁接的网络爬虫系统和实现方法。首先分析要爬取的目标网站,将登录页面设为初始页面;用户模拟模块与目标网站建立网络连接,为人工操作提供信息输入接口;人工智力参与模块输入所需要的信息并传递给用户模拟模块;用户模拟模块定位登录页面中的输入框和登录按钮,输入相关信息并通过网络访问模块外发到目标网站进行登录;登录完成后用户模拟模块打开爬虫要爬取的页面,并将页面的回应信息传递给爬虫模块;爬虫模块获得执行权限后,沿用人工在用户模拟模块中创建的网络会话,访问目标网站,爬取网站内容。该发明将人工智力参与所建立的网络会话用于爬虫模块,能够让网络爬虫获得与真人上网完全相同的网络访问能力。该发明需要人工参与,才能完成网络爬取网站内容。且该发明实现的技术方案与本专利申请并不相同。

【发明内容】

[0007]本发明要解决的技术问题之一,在于提供一种通用的网络爬虫模拟登录方法,通过调用无UI浏览器模拟人工登录过程并获得cookie,爬虫利用cookie实现免登陆访问站点;减少开发工作量并避免了需要人工参与的弊端。
[0008]本发明问题之一是这样实现的:一种通用的网络爬虫模拟登录方法,所述方法为:
[0009]配置要爬取的各个站点的认证信息,所述认证信息包括:用户名、密码以及用户权限;
[0010]网络爬虫调用无UI浏览器访问各个站点;
[0011 ]无UI浏览器模拟人工登录过程,认证成功后保存各个站点的cookie信息;
[0012]网络爬虫携带cookie信息访问站点,爬取站点网页内容。
[0013]进一步的,所述无UI浏览器模拟人工登录过程,认证成功后保存各个站点的cookie信息,具体为:
[0014]步骤1、网络爬虫调用无UI浏览器访问网页API,将要访问的网站登陆网页地址传给无UI浏览器;
[0015]步骤2、无UI浏览器加载网站登陆网页,网络爬虫调用无UI浏览器的获取网页API,并获得网页的html内容;
[0016]步骤3、网络爬虫分析获得的html内容查找登录页面的用户名、密码输入域,填入站点的用户名、密码信息,调用无UI浏览器的提交表单API,将验证信息提交给网站验证;
[0017]步骤4、提交的验证信息认证成功后,网络爬虫调用无UI浏览器获得cookie接口,通过cookie接口取得该站点的cookie信息并保存。
[0018]进一步的,所述网络爬虫携带cookie信息访问站点,爬取站点网页内容,具体为:网络爬虫发送http请求访问站点,并在http请求中设置所述取得的cookie信息,在cookie失效前网络爬虫免登录访问站点,网络爬取站点网页内容。
[0019]本发明要解决的技术问题之二,在于提供一种通用的网络爬虫模拟登录系统,通过调用无UI浏览器模拟人工登录过程并获得cookie,爬虫利用cookie实现免登陆访问站点;减少开发工作量并避免了需要人工参与的弊端。
[0020]本发明问题之二是这样实现的:一种通用的网络爬虫模拟登录系统,所述系统包括:配置模块、访问模块、模拟登录模块以及爬取网页内容模块;
[0021 ]所述配置模块,用于配置要爬取的各个站点的认证信息,所述认证信息包括:用户名、密码以及用户权限;
[0022]所述访问模块,用于网络爬虫调用无UI浏览器访问各个站点;
[0023]所述模拟登录模块,通过无UI浏览器模拟人工登录过程,认证成功后保存各个站点的cookie信息;
[0024]所述爬取网页内容模块,通过网络爬虫携带cookie信息访问站点,爬取站点网页内容。
[0025]进一步的,所述模拟登录模块具体的实现方式为:
[0026]1、网络爬虫调用无UI浏览器访问网页API,将要访问的网站登陆网页地址传给无UI浏览器;
[0027]2、无UI浏览器加载网站登陆网页,网络爬虫调用无UI浏览器的获取网页API,并获得网页的html内容;
[0028]3、网络爬虫分析获得的html内容查找登录页面的用户名、密码输入域,填入站点的用户名、密码信息,调用无UI浏览器的提交表单API,将验证信息提交给网站验证;
[0029]4、提交的验证信息认证成功后,网络爬虫调用无UI浏览器获得cookie接口,通过cookie接口取得该站点的cookie信息并保存。
[0030]进一步的,所述网络爬虫携带cookie信息访问站点,爬取站点网页内容,具体为:网络爬虫发送http请求访问站点,并在http请求中设置所述取得的cookie信息,在cookie失效前网络爬虫免登录访问站点,网络爬取站点网页内容。
[0031]本发明具有如下优点:本发明通过调用无UI浏览器模拟人工登录过程,认证成功后保存cookie,爬取利用cookie实现免登陆访问站点爬取站点内容。解决了爬虫模拟登录过程需要人工参与或需要针对特定站点进行定制程序开发的问题,减少开发工作量并避免了需要人工参与的弊端。
【附图说明】
[0032]图1为本发明方法流程示意图。
[0033]图2为本发明系统的结构示意图。
【具体实施方式】
[0034]请参阅图1所示,本发明的一种通用的网络爬虫模拟登录方法,所述方法为:
[0035]配置要爬取的各个站点的认证信息,所述认证信息包括:用户名、密码以及用户权限;该认证信息一般保存在数据库中;
[0036]网络爬虫调用无UI浏览器访问各个站点;
[0037]无
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1