我試圖混合成我常用的這樣
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定時定時執行的方法
你好,请问找到解决办法了吗?我也是用定时器召唤pyppeteer,出现的错误是打开了窗口建立browser实例那里就卡住了。不用定时器却能正常。我估计是因为定时器和pyppeteer都用到了asyncio,起了冲突。具体因为说不清楚,我还不是很懂async的原理。顺便一说我是用的BackgroundScheduler