在计划任务Python中写入文件

时间:2015-06-01 13:17:24

标签: python file beautifulsoup scheduled-tasks

我有一个python脚本,每隔10秒就会抓取一次网页(调度任务),我需要将这些数据保存为文件格式。问题是我只能保存最后一组数据。我猜其他数据会被计划任务覆盖。

import sched
import time
from bs4 import BeautifulSoup
import requests
import datetime

scheduler = sched.scheduler(time.time, time.sleep)
url = 'https://in.finance.yahoo.com/q?s=AAPL'

def execute_async_task(address):
    requested = requests.get(address)
    data = requested.text
    soup = BeautifulSoup(data, 'html.parser')
    for link in soup.findAll('span', {'id': 'yfs_l84_aapl'})[0]:
        if link:
            f = open('PlotData.txt', 'w')
            f.write("stock_price:"+str(link)+"\n")
            time.sleep(0.05)
            scheduler.enter(10, 1, execute_async_task, (url,))


scheduler.enter(0, 1, execute_async_task, (url,))
scheduler.run()

我比较新,对于python。

1 个答案:

答案 0 :(得分:3)

使用f = open('PlotData.txt', 'a')代替f = open('PlotData.txt', 'w')

'w':覆盖现有文件

'a':附加到文件中的现有数据