Что сейчас работает
В приведенном ниже коде первые 100 строк загружаются в Futures.xlsx с веб-сайта.
Сайт обновляется каждые 15 минут, обновляя новые значения, как акции компании. Всего строк 100.
Как я могу изменить свой код, например, каждый раз, когда веб-сайт обновляется или через какой-то счетчик, продолжать добавлять еще 100 обновленных значений в файл Futures.xlsx. Так что я бы сказал, что в течение часа будет 400 строк.
Я включил первые четыре строки кода.
выход
Contracts Markets Open High Low Last Pct Time
0 Oct 2018 (E) NG.F27.E 2.777 2.785 2.774 2.782 +0.36% 20:00
1 Nov 2018 (E) NG.F27.E 2.793 2.800 2.792 2.800 +0.32% 19:51
2 Dec 2018 (E) NG.F27.E 2.887 2.893 2.886 2.891 +0.21% 19:52
3 Jan 2019 (E) NG.F27.E 2.977 2.984 2.975 2.980 +0.20% 19:52
Код
urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
import os
url = "https://quotes.ino.com/exchanges/contracts.html?r=NYMEX_NG"
res = requests.get(url)
soup = BeautifulSoup(res.text, 'lxml')
Markets = []
Contracts =[]
Opens =[]
Highs =[]
Lows =[]
Lasts=[]
Changes=[]
Pcts=[]
data_rows = soup.findAll('tr')[3:]
for td in data_rows[:100]:
Market = td.findAll ('td')[0].text
Markets.append(Market)
Contract = td.findAll('td')[1].text
Contracts.append(Contract)
Open = td.findAll('td')[2].text
Opens.append(Open)
High = td.findAll('td')[3].text
Highs.append(High)
Low = td.findAll('td')[4].text
Lows.append(Low)
Last = td.findAll('td')[5].text
Lasts.append(Last)
Change = td.findAll('td')[6].text
Changes.append(Change)
Pct = td.findAll('td')[7].text
Pcts.append(Pct)
Time = td.findAll('td')[8].text
df = pd.DataFrame({'Contracts' :Contracts, Markets':Market,'Open':Opens,
'High':Highs, 'Low':Lows,'Last':Lasts,'Pct':Pcts})
out_path = "C:\Sid\Futures.xls"
writer = pd.ExcelWriter(out_path , engine='xlsxwriter')
df.to_excel(writer,'Sheet2',index=False)
writer.save()