您好,欢迎光临本网站![请登录][注册会员]  
文件名称: Go爬虫框架go_spider.zip
  所属分类: 其它
  开发工具:
  文件大小: 50kb
  下载次数: 0
  上传时间: 2019-07-16
  提 供 者: weixin_********
 详细说明:本项目基于golang开发,是一个开放的垂直领域的爬虫框架,框架中将各个功能模块区分开,方便使用者重新实现子模块,进而构建自己垂直方方向的爬虫。 本项目将爬虫的各个功能流程区分成Spider模块(主控),Downloader模块(下载器),PageProcesser模块(页面分析),Scheduler模块(任务队列),Pipeline模块(结果输出); 执行过程简述: Spider模块从Scheduler模块中获取包含待抓取url的Request对象,启动一个协程,一个协程执行一次爬取过程,此处我们把协程也看成Spider,Spider把Request对象传入Downloader,Downloader下载该Request对象中url所对应的页面或者其他类型的数据,生成Page对象; Spider调用PageProcesser模块解析Page对象中的页面数据,并存入Page对象中的PageItems中(以Key-Value对的形式保存),同时存入解析结果中的待抓取链接,Spider会将待抓取链接存入Scheduler模块中的Request队列中; Spider调用Pipeline模块输出Page中的PageItems的结果; 执行步骤1,直至Scheduler中所有链接被处理完成,则Spider被挂起等待下一个待抓取链接或者终止。 执行过程相应的Spider核心代码,代码代表一次爬取过程: // core processer func (this *Spider) pageProcess(req *request.Request) { // Get Page p := this.pDownloader.Download(req) if p == nil { return } // Parse Page this.pPageProcesser.Process(p) for _, req := range p.GetTargetRequests() { this.addRequest(req) } // Output if !p.GetSkip() { for _, pip := range this.pPiplelines { pip.Process(p.GetPageItems(), this) } } this.sleep() } 标签:gospider 分享 window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "2",
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: Go爬虫框架go_spider.zip
 输入关键字,在本站1000多万海量源码库中尽情搜索: