【发布时间】:2023-04-07 07:17:01
【问题描述】:
我正在从某个网站抓取(提取)数据。数据包含我需要的两个值,即(网格)频率值和时间。
网站上的数据每秒都在更新。我想使用 python 将这些值(附加)连续保存到列表或元组中。为此,我尝试使用 schedule 库。以下作业调度命令每秒运行一次数据抓取功能(socket_freq)。
import schedule
schedule.every(1).seconds.do(socket_freq)
while True:
schedule.run_pending()
我面临两个问题:
- 我不知道如何限制计划在选定的时间间隔内运行。例如,我想运行 5 或 10 分钟。我该如何定义?我的意思是如何告诉日程安排在特定时间后停止。
- 如果我运行这段代码并在几秒钟后停止它(使用 break),那么我经常会得到多个条目,例如这里是一个结果,其中元组中的第一个 list[] 指的是时间值,第二个list[ ] 是频率的值:
出来:
(['19:27:02','19:27:02','19:27:02','19:27:03','19:27:03','19:27:03','19:27:03','19:27:03','19:27:03','19:27:03','19:27:04','19:27:04','19:27:04', ...],
['50.020','50.020','50.020','50.018','50.018','50.018','50.018','50.018','50.018','50.018','50.017','50.017','50.017'...])
如您所见,时间变量被多次输入(附加),尽管我使用了每 1 秒运行一次的计划。我实际上希望检索的是:
出来:
(['19:27:02','19:27:03','19:27:04'],['50.020','50.018','50.017'])
有人知道如何解决这些问题吗?
谢谢!
(我使用的是 python 2.7.9)
【问题讨论】:
标签:
python
web-scraping
scheduler
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python上数据抓取的作业调度 - Python技术站