一种基于python语言的网络爬虫研究.docVIP

一种基于python语言的网络爬虫研究.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于python语言的网络爬虫研究.doc

一种基于python语言的网络爬虫研究   摘要:随着Internet技术的不断发展,互联网已经成为人们获取信息的主要途径,有哪些信誉好的足球投注网站引擎从互联网中靶向性筛选出有用信息,而网络爬虫又是有哪些信誉好的足球投注网站引擎的基础构件之一。本文实现了一个基于python语言的并行网络爬虫,利用关键字匹配技术对目标网站进行扫描,得到敏感数据并抓取,分析网站数据结构和受恶意攻击的风险系数。   关键词:有哪些信誉好的足球投注网站引擎 网络爬虫 python 敏感数据   1引言   网络爬虫(Crawler)是有哪些信誉好的足球投注网站引擎(search engine SE)的基本构件之一,其直接面向互联网底层,它是有哪些信誉好的足球投注网站引擎的数据发源地,决定着整个系统的内容是否丰富、信息能否得到及时更新。它的性能表现直接影响整个有哪些信誉好的足球投注网站引擎的效果。网络爬虫的工作原理如下:从一个初始种子URLs出发,从中获取一个URL,下载网页,从网页中抽取所有的URLs,并将新的URLs添加到URLs队列中。然后,Crawler从队列中获取另一个URL。重复刚才的过程,直到Crawler达到某种停止标准为止。   有哪些信誉好的足球投注网站引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的。我们经常看到不同的网站发布着同样的新闻,很多就是通过网络爬虫的技术从其它的网站爬取信息,然后放在自己的网站发布。同样,这样的爬虫技术也可以用来帮助我们做安全扫描分析等工作,这也是本文研究的重点。   2国内外研究现状及相关核心技术   2.1现状   90年代出现了最早的有哪些信誉好的足球投注网站引擎,也就产生了网络爬虫。此时的爬虫在爬取整个网络的时候采取深度或广度优先的遍历方式。作为有哪些信誉好的足球投注网站引擎的信息资源采集的重要角色,网络爬虫的性能将直接影响整个有哪些信誉好的足球投注网站引擎索引网页的数量、质量和更新周期。于是出现后面的分布式网络爬虫。分布式网络爬虫可以看做是由多个集中式网络爬虫组合而成,分布式系统中的每个节点都可以看作一个集中式网络爬虫。分布式网络爬虫大大提高了爬取效率,目前分布式网络爬虫已近有了不少的应用,例如现在著名的Google和Alta Vista有哪些信誉好的足球投注网站引擎所采用的网络爬虫系统。   由于爬虫的重要性,Twisted使用python语言写了一个广受欢迎的爬虫事件驱动网络框架:scrapy,scrapy使用的是非堵塞的异步处理方式。scrapy能够爬取web页面,并从页面中提取结构化的数据。它可以用来数据挖掘、监测、和自动化测试。   scrapy流程图见图1。   2.2 Python   本系统用python脚本语言开发,python脚本语言与其它编程语言相比的优势在于它的语法简单、系统库强大、实现功能容易、高效率的高层数据结构、简单的面向对象编程、代码结构清晰易懂。如今python语言被广泛的应用于系统后台处理和web编程。由于python脚本语言有着这么多的优势,所以通过python脚本语言自己实现了一个爬虫、敏感文件扫描和日志分析程序。爬虫通过任务队列、线程池实现多线程并发爬取网页,在爬取了网页之后对网页进行解码分析,获取目录结构,对已知的目录结构进行敏感文件扫描。同时也通过脚本程序利用攻击规则库对用户请求的web日志进行安全分析,提取出日志中的sql注入攻击,xss跨站脚本攻击,可以利用这些方法发现网站的安全漏洞。   2.3并行爬虫技术   由于WEB网站群结构层次多,目录深度广,数据量很大,单进程的爬虫很难满足快速抓取大量数据的要求,因此本文爬虫进行了并行架构的扩展,实现了基于MPI的并行数据抓取功能。本文并行爬虫主要采用主从模式,主节点负责维护整个爬虫的抓取队列以及任务分配工作,从节点负责对自己的任务列表按照第l章中的抓取规则进行数据抓取。每个从节点都需要维护两个队列,一个是任务队列,另一个是新用户队列。当从节点完成了其任务队列后会将自己的新用户队列交给主节点,由主节点来处理合并用户的工作,同时,主节点会将新的任务队列发送到从节点,由从节点继续抓取新数据。   3系统设计与试验分析   3.1系统功能模块   本系统主要分为三个模块。整个系统功能模块结构见图2。   3.1.1程序主模块和线程池模块   程序主模块的主要功能是web爬取。通过用户提供的初始URL开始爬取。   线程池决定着整个程序的执行效率,创建太多的线程,有些线程又有可能未被充分的利用,程序将会浪费一定的资源。销毁太多线程,将导致之后浪费时间再次创建它们。创建线程太慢,将会导致长时间的等待,性能变差。销毁线程太慢,将导致其它线程资源饥饿。所以在程序的开发中,线程池相当的重要,应做到合理有效的利用。   线程池模块主要是用来创建线程,加载爬虫模块中的爬取url任务到任务队列,每个线程从任务队列中获取任务并执行任务。

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档