selenium - 如何在 Jupyter Notebook 中同步运行多个功能?
问题描述
我尝试在 Jupiter Notebook 中同时运行多个功能。
我有两个使用 Selenium 并运行无限时间的网络抓取功能,它们总是创建一个更新的 DataFrame。另一个函数合并两个 DataFrame 并进行一些计算。
由于数据总是在变化,并且需要在同一秒内计算来自不同 DataFrame 的计算(两个 DataFrame 每 5 秒更新一次),我想知道如何同时运行所有函数。
由于我的代码主要是 WebScraping,因此我更多地使用它来描述我的目标,并希望使其更具可读性。我已经尝试过使用“多处理”,但它在笔记本中没有做任何事情。
def FirstWebScraping():
while True:
time.sleep(5).
#getting all data for DataFrame
def SecondtWebScraping():
while True:
time.sleep(5).
#getting all data for DataFrame
def Calculations():
while True:
#merging DataFrame from First- and SecondWebScraping
#doing calculations
#running this function infinite and looking for specific values
#Goal
def run_all_at_the_same_time()
FirstWebScraping()
SecondWebScraping()
Calculations()
解决方案
尽管线程没有显示出与多处理相同的好处,但它对我和 selenium 都有效。我在 Calculations 函数的开头放置了一个等待时间,然后它们都被无限循环。
from threading import Thread
if __name__ == '__main__':
Thread(target = FirstWebScraping).start()
Thread(target = SecondWebscraping).start()
Thread(target = Calculations).start()
推荐阅读
- javascript - javascript 如何从 Promise 中保留变量?
- r - 带有 dplyr 的 for 循环汇总返回与 group_by 不同的结果
- authentication - 具有端点身份验证的 Prometheus blackbox-exporter?
- python - NaN 导致 sklearn 模型无法运行
- node.js - 客户端未收到多播消息
- r - 如何从 MODISTools 中的超时错误中恢复
- wso2 - WS02 EI定时任务——如何加密参数
- kotlin - 没有在资源/可绘制对象中获取图像 ID
- python - win10无法运行pip
- spring-cloud-stream - 如何使用基于纯 Java 的配置配置 Spring Cloud Stream Kafka