python 爬虫如何设置爬取一定时间停止

python 爬虫如何设置爬取一定时间停止,第1张

from time import sleep

n = 0

while n <= 100:

    print(n)  # 动作

    sleep(60)  # 暂停60秒

    n = n + 1

由于项目需求收集并使用过一些爬虫相关库,做过一些对比分析。以下是我接触过的一些库:

Beautiful Soup。名气大,整合了一些常用爬虫需求。缺点:不能加载JS。

Scrapy。看起来很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求了。

Python基础教程

mechanize。优点:可以加载JS。缺点:文档严重缺失。不过通过官方的example以及人肉尝试的方法,还是勉强能用的。

selenium。这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些 *** 作,比如输入验证码。

cola。一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高,不过值得借鉴。

以下是我的一些实践经验:

对于简单的需求,比如有固定pattern的信息,怎么搞都是可以的。

对于较为复杂的需求,比如爬取动态页面、涉及状态转换、涉及反爬虫机制、涉及高并发,这种情况下是很难找到一个契合需求的库的,很多东西只能自己写。

至于题主提到的:

还有,采用现有的Python爬虫框架,相比与直接使用内置库,优势在哪?因为Python本身写爬虫已经很简单了。

third party library可以做到built-in library做不到或者做起来很困难的事情,仅此而已。还有就是,爬虫简不简单,完全取决于需求,跟Python是没什么关系的。

这和JAVA没啥关系哈!按照你的时间要求,如果爬虫程序老是跑着也不合适。最简单的办法就是设置一个定时任务(如果觉得还不保险,可以另外的时间点再设一个),到点就跑,JAVA程序也就简单多了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11279781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存