Non so se sto scrivendo nel thread giusto, ma spero che tu possa correggermi. E un'altra cosa da chiarire: sono uno zero assoluto nella programmazione!
Allora, ho trovato un codice di un piccolo programma scritto in PYTHON che prende una quotazione della coppia EUR/USD da un sito noto e la scrive nella cella A1 del file EUR_USD_QUOTE.csv.
Se a qualcuno non dispiace, si prega di migliorare questo codice in modo che una citazione sia automaticamente aggiornata nella stessa cella A1 del file EUR_USD_QUOTE.csv ogni ora.
Sinceramente, Vladimir.
import csv
import requests
from bs4 import BeautifulSoup
import os
def get_data(url_to_scrap='https://ru.investing.com/currencies/streaming-forex-rates-majors',
file=None, save_file="Name.csv"):
if url_to_scrap is not None:
header = {'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0'}
r = requests.get(url_to_scrap, headers=header)
data = BeautifulSoup(r.content, 'html.parser')
else:
data = BeautifulSoup(open(file), 'html.parser')
table = data.find('tr', id='pair_1')
table = table.find_all(class_='pid-1-bid')
row_data = []
for row in table:
row_data.append([row.get_text()])
with open(save_file, 'w') as save:
for row in row_data:
writer = csv.writer(save, delimiter=';')
writer.writerow(row)
os.startfile(save_file)
get_data(save_file='EUR_USD_QUOTE.csv')
Валютная пара EUR/USD — самая ликвидная, поскольку в ней участвуют первая и вторая по значимости мировые резервные валюты. Это подтверждается и статистически: доллар и евро самые крупные по объему
Non so se sto scrivendo nel thread giusto, ma spero che tu possa correggermi. E un'altra cosa da chiarire: sono uno zero assoluto nella programmazione!
Allora, ho trovato un codice di un piccolo programma scritto in PYTHON che prende una quotazione della coppia EUR/USD da un sito noto e la scrive nella cella A1 del file EUR_USD_QUOTE.csv.
Se a qualcuno non dispiace, si prega di migliorare questo codice in modo che una citazione sia automaticamente aggiornata nella stessa cella A1 del file EUR_USD_QUOTE.csv ogni ora.
Sinceramente, Vladimir.
import csv
import requests
from bs4 import BeautifulSoup
import os
def get_data(url_to_scrap='https://ru.investing.com/currencies/streaming-forex-rates-majors',
file=None, save_file="Name.csv"):
if url_to_scrap is not None:
header = {'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0'}
r = requests.get(url_to_scrap, headers=header)
data = BeautifulSoup(r.content, 'html.parser')
else:
data = BeautifulSoup(open(file), 'html.parser')
table = data.find('tr', id='pair_1')
table = table.find_all(class_='pid-1-bid')
row_data = []
for row in table:
row_data.append([row.get_text()])
with open(save_file, 'w') as save:
for row in row_data:
writer = csv.writer(save, delimiter=';')
writer.writerow(row)
os.startfile(save_file)
from datetime import datetime
import time
t = datetime.now().hour
t2 = t
while True:
t = datetime.now().hour
if(t2 != t):
get_data(save_file='EUR_USD_QUOTE.csv')
t2 = t
time.sleep(10)
Ho lanciato il codice finalizzato nell'ambiente di sviluppo PyCharm, ma non succede ancora nulla, solo il pulsante "Rerun" è attivato. Non riesco ancora a capire - il codice funziona o no?
Ci sono alcune informazioni aggiuntive visualizzate nella scheda "Problemi":
PEP 8: E402 importazione a livello di modulo non all'inizio del file: 28 - questo riguarda la linea con il codice from datetime import datetime
PEP 8: E402 importazione a livello di modulo non all'inizio del file: 29 - questo si riferisce al tempo diimportazione della linea
Rimuovere le parentesi ridondanti - quando ho rimosso queste parentesi dal codice, il messaggio è scomparso.
Maxim, puoi fare temporaneamente la citazione nel file di aggiornamento ora almeno in 1 minuto per capire se il codice funziona o no, altrimenti devo aspettare un'ora intera...?
Un'altra cosa. Dopo aver lanciato il codice iniziale che avevo pubblicato in precedenza, il file EUR_USD_QUOTE.csv è stato immediatamente aperto con la quotazione attuale, mentre il codice modificato non può aprire questo file.
Forse sto facendo qualcosa di sbagliato o non capisco qualcosa? Per favore, consigliatemi.
Ho eseguito il codice finalizzato nell'ambiente di sviluppo PyCharm, ma non succede ancora nulla, solo il pulsante "Rerun" è attivato. Non riesco ancora a capire - il codice funziona o no?
Ci sono alcune informazioni aggiuntive visualizzate nella scheda "Problemi":
PEP 8: E402 importazione a livello di modulo non all'inizio del file: 28 - questo riguarda la linea con il codice from datetime import datetime
PEP 8: E402 importazione a livello di modulo non all'inizio del file: 29 - questo si riferisce al tempo diimportazione della linea
Rimuovere le parentesi ridondanti - quando ho rimosso queste parentesi dal codice, il messaggio è scomparso.
Maxim, puoi fare temporaneamente la citazione nel file di aggiornamento ora almeno in 1 minuto per capire se il codice funziona o no, altrimenti devo aspettare un'ora intera...?
Un'altra cosa. Dopo aver lanciato il codice iniziale che avevo pubblicato in precedenza, il file EUR_USD_QUOTE.csv è stato immediatamente aperto con la quotazione attuale, mentre il codice modificato non può aprire questo file.
Forse sto facendo qualcosa di sbagliato o non capisco qualcosa? Per favore, consigliatemi.
Saluti, Vladimir.
I primi 2 errori - basta spostare questo all'inizio del file
from datetime import datetime
import time
Questo è solo un avvertimento in stile programmazione, non un errore
Per un controllo veloce, sostituisci entrambi i campi
hour
a
secondo
il file dovrebbe essere scritto ogni 10 secondi perché il timer di controllo è impostato su 10 secondi.
P.S. Basta che non vi facciate prendere troppo la mano o sarete bannati per richieste troppo frequenti.
t = datetime.now().hour
t2 = t
while True:
t = datetime.now().hourif(t2 != t):
get_data(save_file='EUR_USD_QUOTE.csv')
t2 = t
time.sleep(10)
sulle parentesi non ho nessun errore
Questo codice aspetta fino alla prossima ora e poi salva solo
Maxim, ho cambiato un po' il tuo codice con il metodo dell'"esperimento scientifico" (scusami in anticipo) e ha funzionato per aprire il file EUR_USD_QUOTE.csv con la quotazione attuale in 1 minuto dopo il lancio.
from datetime import datetime
import time
t = datetime.now().minute # здесь поставил минуту
t2 = t
while True:
t = datetime.now().minute # здесь поставил минуту
if t2 != t:
get_data(save_file='EUR_USD_QUOTE.csv')
t2 = t
# Code executed here
time.sleep(1) # и здесь 10 изменил на 1.
Ma se non chiudo il file EUR_USD_QUOTE.csv durante il prossimo minuto, ricevo questo messaggio:
Traceback (most recent call last): File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/8.py", line 36, in <module> get_data(save_file='EUR_USD_QUOTE.csv') File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/8.py", line 21, in get_data with open(save_file, 'w') as save: PermissionError: [Errno 13] Permesso negato: 'EUR_USD_QUOTE.csv'
Processo finito con codice di uscita 1
Come posso far continuare il processo senza intervento umano dopo che il codice del programma è stato eseguito?
Maxim, ho cambiato un po' il tuo codice con il metodo dell'"esperimento scientifico" (scusami in anticipo) ed è stato possibile aprire il file EUR_USD_QUOTE.csv con la quotazione attuale in 1 minuto dopo il lancio.
Ma se non chiudo il file EUR_USD_QUOTE.csv durante il prossimo minuto, ricevo questo messaggio:
Traceback (most recent call last): File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/8.py", line 36, in <module> get_data(save_file='EUR_USD_QUOTE.csv') File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/8.py", line 21, in get_data with open(save_file, 'w') as save: PermissionError: [Errno 13] Permesso negato: 'EUR_USD_QUOTE.csv'
Processo finito con codice di uscita 1
Come posso far continuare il processo senza intervento umano dopo che il codice del programma è stato eseguito?
Saluti, Vladimir.
ah sì, perché il processo è occupato os.startfile() per qualche motivo, cancellate questa linea
e sì, perché il processo è occupato os.startfile() per qualche motivo, cancellate quella linea
и
può essere rimosso.
Controllato, funziona.
Maxim, ha fatto tutto come mi hai consigliato. Non sono stati segnalati altri problemi. Il programma è partito ma ora come posso visualizzare la quotazione se il file EUR_USD_QUOTE.csv è chiuso e quando lo apro e lo lascio aperto appare lo stesso messaggio che PermissionError: [Errno 13] Permission denied: 'EUR_USD_QUOTE.csv' e la quotazione nel file aperto non è più aggiornata?
Vi prego di scusarmi ancora una volta, non ho mai nascosto di essere uno zero totale nella programmazione.
Maxim, ho fatto tutto come mi hai consigliato. Non ci sono più messaggi di problemi. Ora come posso visualizzare la quota se il file EUR_USD_QUOTE.csv è chiuso e quando lo apro e lo lascio aperto, ottengo lo stesso messaggio che PermissionError: [Errno 13] Permission denied: 'EUR_USD_QUOTE.csv' e la quota nel file aperto non è più aggiornata?
Vi prego di scusarmi ancora una volta, non ho mai nascosto di essere uno zero totale nella programmazione.
Saluti, Vladimir.
Apri il file con Excel? Significa che apre il file in modo monopolistico. Dovete permettere ad altre applicazioni/utenti di modificare il file.
Возможности системы Microsoft Excel позволяют работать по наполнению одного файла электронных таблиц одновременно нескольким пользователям. Для того, чтобы начать совместную работу с документом, достаточно в документе Microsoft Excel перейти в меню « Рецензирование » — « Доступ к книге » и выбрать « Разрешить изменять файл нескольким...
Apri il file con Excel? Quindi apre il file in modo monopolistico. Dovete permettere ad altre applicazioni/utenti di modificare il file da qualche parte nelle impostazioni.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Buon pomeriggio a tutti!
Non so se sto scrivendo nel thread giusto, ma spero che tu possa correggermi. E un'altra cosa da chiarire: sono uno zero assoluto nella programmazione!
Allora, ho trovato un codice di un piccolo programma scritto in PYTHON che prende una quotazione della coppia EUR/USD da un sito noto e la scrive nella cella A1 del file EUR_USD_QUOTE.csv.
Se a qualcuno non dispiace, si prega di migliorare questo codice in modo che una citazione sia automaticamente aggiornata nella stessa cella A1 del file EUR_USD_QUOTE.csv ogni ora.
Sinceramente, Vladimir.
Buon pomeriggio a tutti!
Non so se sto scrivendo nel thread giusto, ma spero che tu possa correggermi. E un'altra cosa da chiarire: sono uno zero assoluto nella programmazione!
Allora, ho trovato un codice di un piccolo programma scritto in PYTHON che prende una quotazione della coppia EUR/USD da un sito noto e la scrive nella cella A1 del file EUR_USD_QUOTE.csv.
Se a qualcuno non dispiace, si prega di migliorare questo codice in modo che una citazione sia automaticamente aggiornata nella stessa cella A1 del file EUR_USD_QUOTE.csv ogni ora.
Sinceramente, Vladimir.
Ho lanciato il codice finalizzato nell'ambiente di sviluppo PyCharm, ma non succede ancora nulla, solo il pulsante "Rerun" è attivato. Non riesco ancora a capire - il codice funziona o no?
Ci sono alcune informazioni aggiuntive visualizzate nella scheda "Problemi":
Maxim, puoi fare temporaneamente la citazione nel file di aggiornamento ora almeno in 1 minuto per capire se il codice funziona o no, altrimenti devo aspettare un'ora intera...?
Un'altra cosa. Dopo aver lanciato il codice iniziale che avevo pubblicato in precedenza, il file EUR_USD_QUOTE.csv è stato immediatamente aperto con la quotazione attuale, mentre il codice modificato non può aprire questo file.
Forse sto facendo qualcosa di sbagliato o non capisco qualcosa? Per favore, consigliatemi.
Saluti, Vladimir.
Grazie, Maxim!
Ho eseguito il codice finalizzato nell'ambiente di sviluppo PyCharm, ma non succede ancora nulla, solo il pulsante "Rerun" è attivato. Non riesco ancora a capire - il codice funziona o no?
Ci sono alcune informazioni aggiuntive visualizzate nella scheda "Problemi":
Maxim, puoi fare temporaneamente la citazione nel file di aggiornamento ora almeno in 1 minuto per capire se il codice funziona o no, altrimenti devo aspettare un'ora intera...?
Un'altra cosa. Dopo aver lanciato il codice iniziale che avevo pubblicato in precedenza, il file EUR_USD_QUOTE.csv è stato immediatamente aperto con la quotazione attuale, mentre il codice modificato non può aprire questo file.
Forse sto facendo qualcosa di sbagliato o non capisco qualcosa? Per favore, consigliatemi.
Saluti, Vladimir.
I primi 2 errori - basta spostare questo all'inizio del file
Questo è solo un avvertimento in stile programmazione, non un errore
Per un controllo veloce, sostituisci entrambi i campi
a
secondo
il file dovrebbe essere scritto ogni 10 secondi perché il timer di controllo è impostato su 10 secondi.
P.S. Basta che non vi facciate prendere troppo la mano o sarete bannati per richieste troppo frequenti.
sulle parentesi non ho nessun errore
Questo codice aspetta fino alla prossima ora e poi salva solo
Non ho questi moduli installati
quindi non ho controllato
Maxim, ho cambiato un po' il tuo codice con il metodo dell'"esperimento scientifico" (scusami in anticipo) e ha funzionato per aprire il file EUR_USD_QUOTE.csv con la quotazione attuale in 1 minuto dopo il lancio.
Ma se non chiudo il file EUR_USD_QUOTE.csv durante il prossimo minuto, ricevo questo messaggio:
Traceback (most recent call last):
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/8.py", line 36, in <module>
get_data(save_file='EUR_USD_QUOTE.csv')
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/8.py", line 21, in get_data
with open(save_file, 'w') as save:
PermissionError: [Errno 13] Permesso negato: 'EUR_USD_QUOTE.csv'
Processo finito con codice di uscita 1
Come posso far continuare il processo senza intervento umano dopo che il codice del programma è stato eseguito?
Saluti, Vladimir.
Maxim, ho cambiato un po' il tuo codice con il metodo dell'"esperimento scientifico" (scusami in anticipo) ed è stato possibile aprire il file EUR_USD_QUOTE.csv con la quotazione attuale in 1 minuto dopo il lancio.
Ma se non chiudo il file EUR_USD_QUOTE.csv durante il prossimo minuto, ricevo questo messaggio:
Traceback (most recent call last):
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/8.py", line 36, in <module>
get_data(save_file='EUR_USD_QUOTE.csv')
File "C:/Users/Vladimir/PycharmProjects/My_Python_Project/8.py", line 21, in get_data
with open(save_file, 'w') as save:
PermissionError: [Errno 13] Permesso negato: 'EUR_USD_QUOTE.csv'
Processo finito con codice di uscita 1
Come posso far continuare il processo senza intervento umano dopo che il codice del programma è stato eseguito?
Saluti, Vladimir.
ah sì, perché il processo è occupato os.startfile() per qualche motivo, cancellate questa linea
и
può essere rimosso
Controllato, funziona.
e sì, perché il processo è occupato os.startfile() per qualche motivo, cancellate quella linea
и
può essere rimosso.
Controllato, funziona.
Maxim, ha fatto tutto come mi hai consigliato. Non sono stati segnalati altri problemi. Il programma è partito ma ora come posso visualizzare la quotazione se il file EUR_USD_QUOTE.csv è chiuso e quando lo apro e lo lascio aperto appare lo stesso messaggio che PermissionError: [Errno 13] Permission denied: 'EUR_USD_QUOTE.csv' e la quotazione nel file aperto non è più aggiornata?
Vi prego di scusarmi ancora una volta, non ho mai nascosto di essere uno zero totale nella programmazione.
Saluti, Vladimir.
Maxim, ho fatto tutto come mi hai consigliato. Non ci sono più messaggi di problemi. Ora come posso visualizzare la quota se il file EUR_USD_QUOTE.csv è chiuso e quando lo apro e lo lascio aperto, ottengo lo stesso messaggio che PermissionError: [Errno 13] Permission denied: 'EUR_USD_QUOTE.csv' e la quota nel file aperto non è più aggiornata?
Vi prego di scusarmi ancora una volta, non ho mai nascosto di essere uno zero totale nella programmazione.
Saluti, Vladimir.
Apri il file con Excel? Significa che apre il file in modo monopolistico. Dovete permettere ad altre applicazioni/utenti di modificare il file.
Forse http://blog.depit.ru/odnovremennaya-rabota-v-excel/ aiuterà.
In generale, non si può modificare un file aperto in un altro programma.
Apri il file con Excel? Quindi apre il file in modo monopolistico. Dovete permettere ad altre applicazioni/utenti di modificare il file da qualche parte nelle impostazioni.
Forse http://blog.depit.ru/odnovremennaya-rabota-v-excel/ aiuterà.
Non si può modificare un file aperto in un altro programma.
Sì, lo sto aprendo in Excel. Non riesco ancora ad aggiornare la quotazione nel file EUR_USD_QUOTE.csv aperto in tempo reale.
L'idea era quella di guardare la tabella e vedere i cambiamenti nella citazione.
Saluti, Vladimir.