iT邦幫忙

0

pyppeteer要如何用APScheduler定時執行

我試圖混合成我常用的這樣

import asyncio
from pyppeteer import launch
from apscheduler.schedulers.blocking import BlockingScheduler

sched = BlockingScheduler()

async def main():
    browser = await launch(headless=False, userDataDir='./userdata', args=["--start-maximized"])
    page = await browser.newPage()
    await page.goto('https://www.gamer.com.tw/')
    await page.waitFor(1000)
    soup=BeautifulSoup(await page.content(),'html.parser')
    print(soup)
    await browser.close()

asyncio.get_event_loop().run_until_complete(main())

sched.add_job(main, 'cron',hour='0-23')
sched.start()

但是不知道什麼原因
都直接失敗
也試過sched.add_job(asyncio.get_event_loop().run_until_complete(main()), 'cron',hour='0-23')
也無法定時
這要怎麼改?

換了一個思路

from apscheduler.schedulers.blocking import BlockingScheduler
import os

sched = BlockingScheduler()

def my_job():
    os.system("實驗.py")
    
sched.add_job(my_job, 'cron',hour='0-23')
sched.start()

呼叫外部程式
雖然是能用了
但是很難調整參數之類的...
希望有人能提供pyppeteer定時定時執行的方法

尚未有邦友回答

立即登入回答