Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - vaeVictis

Pagine: [1]
1
Stai sbattendo la testa da giorni sui fusi orari? Quel calendario usa il fuso di Londra (GMT). Poi a un certo punto quando lo carichi sul browser, javascript chiama getTimeZoneOffset() https://www.w3schools.com/jsref/jsref_gettimezoneoffset.asp, aggiunge l'offset e tu vedi l'ora italiana. I tuoi tool, invece, non eseguono quella funzione, o non riescono a leggere l'offset, va a sapere. Che ti importa? Puoi comunque farlo tu a mano dopo, direi.

Lo faccio a mano ma salta completamente gli eventi che ricadono nel "giorno prima". Ovvero tutti quelli da mezzanotte all'una. Intendo dire che nel codice html ottenuto con mechanize salta  gli eventi del primo giorno compresi in quell'orario. Non li vede proprio.
Il problema è questo.

2
Ciao a tutti.

Come premesso nel titolo ho un problema nel recupero e parsing di una pagina HTML.
In breve, rispetto al codice HTML che posso vedere con le apposite funzioni di Chrome, il mio programma recupera il codice HTML della pagina, ma le ore in un determinato campo vengono sfasate con un delay negativo di un'ora.

Sono giorni che ci sto sbattendo la testa e non riesco proprio a capire da cosa possa dipendere.
Spero possiate aiutarmi a capire da cosa possa dipendere.

Grazie in anticipo :)

Vi lascio il link sito in questione, che è questo calendario economico
E il codice con cui prelevo tutte le informazioni sui singoli eventi economici, in versione ridotta in modo che possiate vedere l'orario e il nome dell'evento per poterlo poi (se avrete la pazienza di aiutarmi) vedere sul sito al link qui sopra:


from __future__ import print_function
from bs4 import BeautifulSoup

import regex as re
import mechanize
from datetime import datetime

URL_PAGE = 'https://www.myfxbook.com/forex-economic-calendar'

# recupero codice html     
br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]       
html_content = br.open(URL_PAGE).read()

# preparazione della zuppa
soup = BeautifulSoup(html_content, "html.parser")

#regex compilate per l'estrazione dei dati di interesse
cal_row_re  = re.compile(r'^calRow.*')              # <-- nome dell'evento
date_re     = re.compile(r'\w+\s?\d+:\d+')         # <-- data

# trovo tuttoi gli eventi che mi interessano
CalEvents = soup.find_all(id=cal_row_re)

# per ogni evento stampo data e nome separati da punto e virgola
for singleEvent in CalEvents:
    date = singleEvent.find(text=date_re).strip()
    eventName = singleEvent.find(class_='noUnderline').get_text().strip()
    print(date, eventName, sep = ';')



3
Non mi ero offeso... facevo il filosofo :)
A parte gli scherzi, ci tenevo a precisare questo aspetto.

Tenete conto che è il primo programma che sviluppo in questo modo.

Grazie ancora dei consigli.

p.s.:
Non so se non ero stato chiaro, ma io intendevo chiedere se fosse sensato sviluppare un singolo aspetto del programma (mettiamo per esempio il login) con più pattern per vedere in faccia meglio come si comportano.
Pensavo fosse una cosa sensata.

4
In vita mia ho capito poche, pochissime cose.
Una di queste è che le uniche domande senza senso sono quelle che non vengono poste.

Detto questo, grazie per gli ulteriori chiarimenti.

5
Grazie per l'interessamento e per gli interessanti consigli.
Sono un ricercatore in fisica matematica. Programmo da qualche tempo in C, C++ e Python.
Vorrei migliorare le mie competenze, capendo bene sia l'aspetto dei pattern creazionali, sia l'aspetto dei pattern per la programmazione multithread.
Non essendo un programmatore per formazione, ho affrontato (e fortunatamente) superato (abbastanza felicemente) la fase "mistica" in cui cercavo di colmare in modo totalmente sbagliato le mie lacune (sulle quali non mi dilungo perché credo che più o meno ci siamo passati tutti :) ).

Ora, il mio obiettivo non è quello di fare un programma santino al GOF, anzi!
Vorrei semplicemente iniziare a pensare in termini migliori alle applicazioni che mi trovo a scrivere.
Avendo promesso ad un amico la creazione di questa stupida applicazione e avendo notato che esistono più forum ( :) ), mi è venuto in mente di mettere in pratica quel poco che per ora so.

Secondo voi, può avere senso sviluppare l'applicazione seguendo più pattern?
Mi potrebbe essere utile, soprattutto per il discorso di rendermi poi conto dei diversi trade-off?


6
Citazione
Lasciando stare tutto il lingo-fuffa dei dp, quello che tu vuoi probabilmente e' un oggetto che ti astragga il forum, su cui implementi le operazioni che devi fare. Poi possiamo chiamarlo un po' come ci pare a seconda dell'angolo sotto cui lo guardiamo.

Sì, certo. Questo è quello che devo riuscire ad implementare.

Mi sento un po' una mezza pippaccia... ma io avevo pensato addirittura all'Abstract Factory Pattern... forse perché è il primo che ho studiato :)

7
Non saprei proprio.
Non ho capito cosa intendi.
Che intendi?

edit:
Aspe'... ce l'ho!
Intendi lo "strategy pattern" :)
Me lo guardo per benino questa sera, grazie.

8
Benvenuto e regolamento / Re: Bella per tutti! :)
« il: Giugno 18, 2014, 18:40 »
Grazie :)
Ho provveduto ad aprire la mia prima discussione.
Complimenti per il forum!


p.s.:
Ci tenevo a presentarmi al volo, ma sto lavorando.
Appena ho due minuti mi "qualifico"!

9
Ciao a tutti.
Apro la mia prima discussione, sperando di non aver toppato la scelta della sezione e certo della vostra disponibilità :)

Sto iniziando a sviluppare una piccola applicazione che servirà per interagire con il profilo personale di un account su un forum.
In particolar modo, sono interessato a sviluppare qualcosa che possa semplificare la gestione dei messaggi privati.


Non ho particolari problemi a gestire il login con il modulo mechanize.
La motivazione per cui ho aperto la discussione è invece legata alla scelta del pattern per poter ottenere il più facilmente possibile, in futuro, l'estensione di questa piccola applicazione a differenti forum.


Per chiarire, faccio un esempio riferito a due forum, questo e il forum italiano di Ubuntu.

Supponiamo di voler gestire il login per entrambi i forum.
A prescindere dal differente indirizzo... le due form per il login hanno differenti controlli e, una volta selezionata quella opportuna, per poter fare il login dovrò, rispettivamente, fare qualcosa del tipo
Citazione
brForumPython.form['user'] = 'vaeVictis'
brForumPython.form['passwrd'] = '*******************'
oppure
Citazione
brForumUbuntu.form['username'] = 'vaeVictis'
brForumUbuntu.form['password'] = '*******************'
br.submit()

Come potete vedere, cambia il nome dei controlli... e con loro cambieranno anche molte altre cose, sebbene ovviamente le azioni da fare saranno sempre le stesse (ovvero il login, la cancellazione dei messaggi, il download dei messaggi in qualche formato... e via dicendo).

Con l'intento di prendere dimestichezza con l'argomento del design pattern della programmazione ad oggetti, e mentre mi leggo un bel libro a riguardo, stavo pensando di applicarmi a questo problema.

... voi con che pattern mi consigliereste di affrontare questo problema?

Spero di non essere stato poco chiaro. Se così non fosse, cercherò di fare chiarezza in un secondo momento. Fatemi sapere :)

Grazie in anticipo!
Ciao!

10
Benvenuto e regolamento / Bella per tutti! :)
« il: Giugno 18, 2014, 12:18 »
Come da titolo, dopo alcuni anni in cui bene o male programmo in Python, mi sono finalmente deciso ad iscrivermi a questo forum, che sembra avere dei contenuti davvero molto interessanti.

Un saluto a tutti  :ok:

Pagine: [1]