多线程文章抓取工具的实现.pdfVIP

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

,’。。。。。‘‘。。。。‘。。。。。。’‘。‘。。。。。‘。。。。‘。。。‘。。。。。‘。‘。。。‘。。。’‘‘。。。‘‘‘。。‘‘。 实用第一/智慧密集 ● 川-●川-●ⅢⅢ川Ⅲ川…川川川…川Ⅲ●●……--●-.I●……●一 多线程文章抓取工具的实现 李迎辉 摘要:本文探讨如何使用Python语言实现多线程方式下对网络文章进行抓取。 关键词:Python;多线程;文章抓取 随着信息时代的发展,人们的生活越来越离不开网络,越 二、总体设计 来越多的信息通过网络进行传播。笔者习惯在网络上浏览文 章,阅读小说,但是如果文章组织为许多章节时,阅读时要经 1.处理流程 常进行切换,并且页面上还可能有广告之类的东西。因此笔者 (1)主程序对命令行参数进行分析,得到要处理的目录 就想:能否编写一个工具可以将分散的内容抓取下来,合并成 页面地址。抓取此页面。 单个纯文本文件,这样既可以在不上网时进行阅读,也可以考 (2)根据地址的域名查找相应的内容解析模块,进行动 态装载。然后对目录页面内容进行分析,得到对应的目录信 虑拷贝到手机等设备上进行阅读。经过试验,笔者使用Python 语言开发了一个多线程文章抓取工具,它可以对采用以目录方 息,将目录信息保存于队列中。 式来组织的文章或小说文本进行抓取。考虑到许多网站的页面 (3)创建多线程实例进行每个章节的下载。每个线程将 代码并不统一,此工具还提供了一个可扩展的框架,基于这个 从队列中取出一个地址,进行内容抓取,分析出正文,并将正 框架,只需要编写对某个网站的内容提取处理模块,就可以完 文保存在一个临时目录下。 成对新网站的支持。为了提高抓取效率,它还采用了多线程的 (4)主线程等待所有子线程结束。当所有子线程结束 处理方式。 后,对文本进行合并,最后删除l临时目录。 本文将对整个工具的设计进行详细的描述。 (5)程序结束。 2.目录结构 一、功能介绍 1.功能描述 (1)多线程页面下载。 整个程序的扩展部分,在这个工具中已经包含了对新浪读书频 (2)可对不支持站点进行扩展。 (3)支持代理服务器。 (4)下载完毕后自动将每章文本合并成一个单个的文本 jniL 文件。 站的内容解析模块。 (5)自动识别页面的编码,文件名使用GBl8030编码, 正文使用uff一8编码。 2.环境要求 此工具是使用Python语言开发的,因此需要安装Python (http://www.python.org/)语言环境。同时它使用了pycurl第 三方模块(http://pycurl.sourceforge.net/),需要单独下载安 装。它是一个命令行程序,可以在命令行下执行: pythonmain.PY 这样可以看到帮助信息。最简单的执行方式为: pythonmain.PY链接地址 其中链接为想要下载内容的目录页面。 图1目录结构 结果将保存在zipbooks的子目录下。 万方数据 行稳定,速度快,功能强。上述代码可以完成对某个地址的页 三、要点描述

文档评论(0)

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

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

1亿VIP精品文档

相关文档