首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与多个小脚本相比,使用一个大脚本更好吗?

与多个小脚本相比,使用一个大脚本更好吗?
EN

Stack Overflow用户
提问于 2017-03-10 10:55:13
回答 2查看 970关注 0票数 1

我在学习爬行着巨蟒的网络。我有一个有很多URL的CSV文件。使用python2.7和selenium,我目前正在抓取这些网站的数据,如:车身宽度(以像素为单位)、HTTP响应、页面加载速度和meta name="viewport"标记。

然后,我将脚本的结果导出到CSV文件中,每个列都包含提取的数据类型(参见下面)。我计划通过编写新的爬虫来提取更多类型的数据。

我的当前脚本如何将数据导出到CSV文件-> CSV文件,如下所示:

代码语言:javascript
复制
Website      |     body width  | HTTP response  |  load speed (in secs)  | Viewport 
www.url1.com |       690       |         200    |           2            |      No   
www.url2.com |       370       |         404    |           0.5          |      Yes   

但是,我的脚本(一个.py文件)越来越长,因此变得更加复杂,因为添加了更多的代码行。我担心我添加的函数越多,它就会越慢,越容易出错。在我看来,我现在有两个选择:

选项1.继续为现有脚本文件编写新的爬行函数

选项2.将新的爬行函数编写到不同的脚本文件:从现在起,我正在考虑在不同的.py文件(1爬虫=1 .py文件)上编写新的爬虫,并将当前脚本(单个.py文件)拆分为多个爬虫(多个.py文件)。

然后,我可以分别运行每个爬虫,并将所有爬虫的结果写入一个CSV文件(如上面所示)。通过使用多个爬虫文件(假设),我认为与像现在这样将所有爬虫放在一个.py文件中相比,我将拥有更干净、更少错误敏感性、更快和更灵活的爬虫器。

所以我的问题是:

  1. 选项1和2的利弊是什么?
  2. 一种选择比另一种更好吗?如果是的话,为什么?
  3. 我在选项2中的假设正确吗?

对不起,如果我的帖子不够具体,但我的问题得到回答将极大地帮助我!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-10 10:57:37

干净的代码很好。我希望将常见的函数放到类似于crawler_library.py的东西中,然后让您的特定脚本导入它们需要的函数。

关于您的假设,这不是公理式的真代码--不同脚本中的代码在功能上与一个脚本中的代码没有什么不同。然而,从现实的角度来看,这是普遍正确的。它更容易维护和改进,对于大多数人来说,将代码放入函数可以让他们模块化他们想要做的事情,让他们更容易理解,等等。

票数 2
EN

Stack Overflow用户

发布于 2017-03-10 10:58:44

如果你所说的“更好”是指更整洁、更干净的代码。是的,会更整洁。如果您有其他web爬行项目,不仅仅是这个项目,将它们作为模块导入也是很棒的,这意味着它们是可重用的,并且是解耦的。能够无缝地切换模块进出是一件好事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42716655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档