[英]How to write data from the web to a CSV file every 10 min
您好,我通常對Python和Web抓取還很陌生,但是我試圖從網站獲取數據值,並將其寫入CSV文件。 這對我來說也很好。 我的問題是我希望腳本像每小時一樣獲取值並將其存儲在CSV文件中。 所以我對schedule命令做錯了,因為獲取值並將其寫入CSV文件非常有用,但只有在按run時才可以。 這是我嘗試過的代碼。
import urllib2
from bs4 import BeautifulSoup
import csv
from datetime import datetime
import os
import schedule
import time
def job():
url = 'https://coinmarketcap.com/currencies/bitcoin-cash/'
page = urllib2.urlopen(url)
soup = BeautifulSoup(page, 'html.parser')
name_box = soup.find('span', attrs={'class': 'text-large2'})
bch_value = float(name_box.text.strip())
os.chdir('C:\Users\NIK\.spyder2\PythonScripts')
with open('BCH_kurs', 'a') as csv_file:
writer = csv.writer(csv_file)
writer.writerow([bch_value, datetime.now()])
schedule.every(1).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).minutes.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
while True:
schedule.run_pending()
time.sleep(1)
我建議您探索一下scrapy
框架。 這是一個簡單的例子
您可以將其保存為所需的任何格式,並以固定的時間間隔自動運行抓取。
時間表是一個
定期作業的進程內調度程序( https://pypi.python.org/pypi/schedule )
因此計划是在流程中運行的。 要啟動此過程,您必須使用運行並在該計划運行中啟動該過程...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.