简介:许多朋友问有关Python需要多长时间抓取数百万数据的问题。本文的首席执行官注释将为您提供详细的答案,以供您参考。我希望这对每个人都会有所帮助!让我们一起看看!
当用Python爬行许多网页以获取所需的数据时,最重要的问题是爬网中断的问题。Python的脚本语言,一种中断
该过程将退出,以及如何在中断之后继续进行最后的爬行任务。在这里,我们专注于分析这个中断问题。
第一个问题:可以解决简单的动态代理池。当爬行大量数据时,为了速度,建议使用一些缓慢的
沉积的中间件将有效连接IP并定期更新。我在此处推荐此仓库
,它将进行IP有效性验证并将IP放入Redis,但太复杂了
我还使用了DB,我个人认为最好自己修改它。困难是它将使用其他请求来判断当前的IP是否存在
这是一个爬行者。当我们专注于爬行者的请求并忽略其他请求时,我们可能会被服务器判断为爬网,然后将其判断为此IP
它将包含在黑名单中,您会像更改IP一样被卡在这里
去攀登,但是速度太慢了。让我们自己分析它,而且不会太复杂。
第二个问题:网络连接超时是一个高概率问题。爬行时本地网络可能会波动,或者可能正在爬行
服务器已限制IP。攀登一定级别时,请执行一些延迟操作,以便一些通用的HTTP库加班
(urllib)。但是,如果服务器的手动通常不太高,我们只需要手动设置一个更高的
超时可以(30秒)。最好在爬行开始时使用我们需要使用的攀登库。
移动。
第三个问题:分析大量静态页面时,某些静态页面的某些分析规则是不同的,因此我们必须做得很好
推荐的准备工作(PS:如果简单忽略错误可能会导致大量数据丢失,这是不明智的)。
有一个解决方案的解决方案的解决方案,即生产者和消费者的分离。生产商将生产爬行者来攀登URL。消费者正在爬行
最终数据爬行动物。最终分析数据是消费者爬网。它们是通过消息中间件连接的,生产者将其发送到消息中间件。
爬行的目标信息,消费者可以从内部获取,并间接实施分布式爬行功能。
ACK机制,一种消费者爬网的链接故障将导致新闻消费失败,这将分配给其他消费者。因此,信息丢失了
概率非常低。但是,这里还有一个提示。消费者的消费时间不长,这将导致消息及时发布。
中价数据的数据耐用,否则消息过多,消耗不会及时破坏机器内存。
第四个问题:这种情况只能尝试,除了捕获外,解决并不容易解决。如果单独分析,将需要一些时间。
大多数数据(99%)是正常的,只是放弃了这种异常放弃。实际上,有解决第三个问题的解决方案。
有时中断问题更加方便。
希望帮助您。
将200W数据保存到数据库中需要474秒,因为正常的38,000个数据仅需9秒,这需要200万个时间才能启动。
【Python存储数据库速度】
1.您需要将30,000个数据从文本读取到MySQL数据库。该文件用于@1 SQL语句,但发现在阅读过程中速度太慢。38,000个数据需要220秒。
2.测试后,影响力的主要原因是commit(),因为它可以每隔几秒钟提交一次,但是由于提交的字符的长度受到限制,因此应设置合理的时间。
3.更改后,编写38,000个数据只需要9秒
大约三十秒。
Python是一种更加解释,高级和一般的编程语言,它使用了更多的解释,高级和普遍的特征。它具有快速,高效率和高精度的特征。
结论:以上是CTO首席执行官有关Python相关内容的相关内容的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?