当前位置: 首页 > news >正文

免费给别人开发网站沈阳有什么网站

免费给别人开发网站,沈阳有什么网站,渠道推广平台,学it要多久多少学费说明#xff1a;仅供学习使用#xff0c;请勿用于非法用途#xff0c;若有侵权#xff0c;请联系博主删除 作者#xff1a;zhu6201976 一、问题背景及原因 官方文档#xff1a;Debugging memory leaks — Scrapy 2.11.1 documentation Scrapy是一款功能强大的网络爬虫框… 说明仅供学习使用请勿用于非法用途若有侵权请联系博主删除 作者zhu6201976 一、问题背景及原因 官方文档Debugging memory leaks — Scrapy 2.11.1 documentation Scrapy是一款功能强大的网络爬虫框架但许多使用者包括一些经验丰富的爬虫开发者在开发过程中往往只注重功能的实现而忽略了代码的性能、优雅和健壮性。这导致了代码可读性差、重复冗余和高耦合等问题。举例如下 忽视算法的时间和空间复杂度导致代码中存在多层嵌套for循环。经过重构和优化后可以减少一层循环使代码性能直接提升10倍以上。忽略代码模块和公共代码组件的抽取造成大量重复冗余的代码。频繁的复制粘贴使代码难以理解。缺乏面向对象思维常常采用面向过程的方式编写逻辑导致代码复用性差维护成本高。不关注硬件成本未充分利用Python中的生成器导致项目运行过程中占用大量CPU和内存。随意进行深拷贝和浅拷贝变量操作大数组导致内存占用过高。随意进行变量引用和传递导致Python解释器的垃圾回收机制无法正常回收变量。在构造Request请求时通过meta或cb_kwargs参数传递不可变类型数据导致内存占用过高。代码中构造海量请求导致请求队列内存高占用。不关闭释放资源。如爬虫中打开了一些资源文件、数据库连接等但在使用完后未正确关闭这些资源会一直存在于内存中导致内存泄漏。随意使用不成熟、过时的第三方库。某些第三方库可能存在内存泄漏问题需要注意及时更新和检查。 以上问题导致爬虫项目随着时间的推移CPU和内存持续增长最终导致电脑的卡顿卡死或被系统因OOM(out of memory)问题Kill。因此这些问题必须引起高度重视。 二、通用解决方案 为了解决以上问题开发者可以采取一系列有效的措施以确保Scrapy框架的爬虫项目能够长期稳定运行。 首先优化算法的时间和空间复杂度至关重要。在编写代码时应该深入了解算法的性能特点并尽量避免多层嵌套的for循环。通过重构和优化代码可以大幅提升代码的执行效率减少CPU和内存的消耗。 其次重视代码的模块化和公共组件的抽取。合理划分代码模块并提取可复用的公共代码片段有助于降低代码的重复冗余提高代码的可读性和可维护性。这样不仅使得代码更加清晰易懂也有利于后期的代码维护和扩展。 此外采用面向对象的编程方式可以提高代码的复用性和可维护性。通过定义类和对象将代码结构化地组织起来有助于降低代码的耦合度并简化代码的设计和实现过程。 对于硬件资源的利用开发者应当充分发挥Python中的生成器和迭代器的优势。合理使用生成器可以大幅减少内存的占用并提高程序的运行效率。此外及时关闭和释放资源也是保障程序稳定运行的重要手段。确保在爬虫程序中使用完资源后及时关闭文件、数据库连接等资源以防止资源泄漏导致的内存占用过高。 最后要警惕使用不成熟或过时的第三方库可能存在的内存泄漏问题。定期检查并更新第三方库版本以确保项目的稳定性和安全性。 三、Too Many Requests的解决 这个问题比较特殊本质上不属于代码及开发者的问题。可能的原因在于Scrapy框架中请求队列的大小无法由开发者控制。在Scrapy的源码中可能存在一个未经有效调度的无限大小内存队列导致大量请求被存储在队列中从而使内存占用率急剧上升。 针对这个问题有一个相对简单的解决方案即将job task本地化。将之前存储在内存中的大量请求持久化到本地文件中。Scrapy官方提供了一种解决方案Jobs: pausing and resuming crawls — Scrapy 2.11.1 documentation 在框架中的具体使用方法也很简单只需在启动爬虫时添加一个额外参数告知Scrapy框架将海量请求持久化到本地存储中即可。 scrapy crawl somespider -s JOBDIRJOBDIR 运行爬虫后会在当前目录生成一个JOBDIR用于存储队列中的请求
http://www.zqtcl.cn/news/133899/

相关文章:

  • 域名注册信息查询网站推广seo是什么
  • 做外贸网站哪家公司好常见的管理系统
  • 网站设计报价方案微信公众号外包
  • 网站设计遇到难题wordpress qq 微博
  • 网站模板种类长沙seo推广优化
  • 郑州网络建站公司wordpress安装及配置
  • 福州移动网站建设公司注册地址怎么写
  • 网站线上投票怎样做做铁艺需要什么网站
  • 襄阳营销型网站建设网站开发语言排行榜
  • 网站架构演变流程淄博亿泰
  • 电子商务网站功能介绍招商网站建设
  • 哈尔滨模板网站建站市场监督管理局12315
  • 做网站图片处理问题淘宝客推广
  • 科目一速成网站建设适合网络科技的公司名字
  • 解决网站兼容性问题网站关于我们怎么做
  • 网站建设教学视频百度云盘wap什么意思网络语言
  • 做psd模板下载网站搜索网站哪个好
  • 企业排名重庆网站seo优化
  • 怎么做免费域名网站永兴网站建设
  • 网站seo新手台州公司网站外包
  • html简单网站成品免费网站编辑属于什么行业
  • 装修网站设计平台景区网站建设策划案
  • 哪些网站布局设计做的比较好的商洛市城乡建设规划局网站
  • dw中旅游网站怎么做简单大气网站源码
  • 物流网站建设模板黄页网站推广app免费下载
  • iis添加网站的物理路径有资源的公众号
  • 答建设网站建网站的设备
  • 网站新闻专题怎么做python 做网站 用哪个框架好
  • 聊城做网站做的不错的网页链接打不开
  • 网站建设遇到的问题wordpress首页布局修改