Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-11-2010, 11:52   #1
Gimmy2
Member
 
L'Avatar di Gimmy2
 
Iscritto dal: Jan 2008
Città: Paderno Dugnano
Messaggi: 116
Estrazione dati da sito web - linguaggio

Ciao a tutti, ho bisogno di estrarre una serie di dati da un sito web ed eventualmente trasferirli in un file o in excel e vorrei un consiglio sul linguaggio di programmazione dal quale partire.
In secondo luogo leggendo altri thread qua e là ho visto che vi sono dei problemi se la pagina in questione è dinamica, potetreste darmi delle delucidazioni a ruguardo?

Grazie anticipatamente, Andrea.
__________________
Intel Core Duo E8400 - Asus P5Q - Corsair XMS2 DHX CM2X2048-6400C4DHX- ATI Radeon HD 4850 - Samsung SyncMaster 206BW - Gigabyte GZ-X5 - Corsair 550VXEU - Microsoft Windows 7 Professional
Gimmy2 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2010, 14:59   #2
codcata
Member
 
Iscritto dal: Jun 2008
Città: Torino
Messaggi: 118
puoi risolvere il tuo problema con un parse html se il sito e' scritto in html. puoi usare python, php, java, dipende da cosa conosci. parserizzare l'html e' una porta a rompimenti di balls enormi, questo se il tuo sito non offre i dati in json o xml.
per il fatto del sito dinamico non ci dovrebbero essere problemi. ovviamenti avrai dati diversi in base al istante in cui raccogli i dati dal sito.
codcata è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2010, 17:40   #3
Gimmy2
Member
 
L'Avatar di Gimmy2
 
Iscritto dal: Jan 2008
Città: Paderno Dugnano
Messaggi: 116
ok, grazie per la risposta! se lo scrivo in php poi basta che apro il file .php che creo e da lì posso per esempio creare un bottone che una volta schiacciato esegue quello che devo fare giusto?
Hai invece qualche funzione da consigliarmi per questo scopo?
__________________
Intel Core Duo E8400 - Asus P5Q - Corsair XMS2 DHX CM2X2048-6400C4DHX- ATI Radeon HD 4850 - Samsung SyncMaster 206BW - Gigabyte GZ-X5 - Corsair 550VXEU - Microsoft Windows 7 Professional
Gimmy2 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 12:47   #4
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
sarebbe forse sensato chiederti che esperienza di programmazione hai

lo scraping non è certo qualcosa di banale e non è raro dover modificare il parser per ottenere buoni risultati

io ho sempre usato python + beautifulsoup che imho è il sistema più robusto per effettuare lo scraping di contenuti dal codice html
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 12:57   #5
Gimmy2
Member
 
L'Avatar di Gimmy2
 
Iscritto dal: Jan 2008
Città: Paderno Dugnano
Messaggi: 116
bè diciamo che di php ho una buobna conoscenza, l'ho usato per l'università per qualche same con apache e mysql... di python invece non so niente...
Usando php sapreste dirmi quindi da dove partire? Se è necessario usare qualche altro linguaggio o qualche funzione specifica?

Grazie
__________________
Intel Core Duo E8400 - Asus P5Q - Corsair XMS2 DHX CM2X2048-6400C4DHX- ATI Radeon HD 4850 - Samsung SyncMaster 206BW - Gigabyte GZ-X5 - Corsair 550VXEU - Microsoft Windows 7 Professional
Gimmy2 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 13:25   #6
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
il problema è che in php lo scraper te lo devi creare tu, mentre con python c'è già beautifulsoup che implementa il 99.99% di quello che ti serve

il discorso scraping è molto complesso, nel senso che non tutti i siti là fuori usano html scritto correttamente, moltissimi sono scritti male, con errori, omissioni, ecc....

un buon parser html implementa una serie di logiche euristiche che ti permettono di correggere il codice al volo e quindi di bypassare gli errori che i coder html mettono nei loro siti

in php sei praticamente da solo, in python hai beautifulsoup

chiaramente se devi fare il parsing di un singolo sito, allora ti vai a guardare il codice html e vedi se e dove ci sono errori e quindi riesci bene o male a creare un parser che funziona, ma se vuoi un parser per leggere vari siti html di cui non puoi ovviamente annotare tutti i difetti, devi appoggiarti a qualcosa di robusto

in teoria i migliori parser in assoluto sono quelli dei browser, tra cui quello di firefox è uno dei migliori.....ovviamente puoi interfacciarti con firefox, preferibilmente da python perchè ci sono dei wrapper appositi, oppure puoi interfacciarti a webkit, o se vuoi farla semplice usi beautifulsoup
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 16:09   #7
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Quote:
Originariamente inviato da Gimmy2 Guarda i messaggi
bè diciamo che di php ho una buobna conoscenza, l'ho usato per l'università per qualche same con apache e mysql
Ma anche no allora.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 16:27   #8
Gimmy2
Member
 
L'Avatar di Gimmy2
 
Iscritto dal: Jan 2008
Città: Paderno Dugnano
Messaggi: 116
Quote:
il problema è che in php lo scraper te lo devi creare tu, mentre con python c'è già beautifulsoup che implementa il 99.99% di quello che ti serve

il discorso scraping è molto complesso, nel senso che non tutti i siti là fuori usano html scritto correttamente, moltissimi sono scritti male, con errori, omissioni, ecc....

un buon parser html implementa una serie di logiche euristiche che ti permettono di correggere il codice al volo e quindi di bypassare gli errori che i coder html mettono nei loro siti

in php sei praticamente da solo, in python hai beautifulsoup

chiaramente se devi fare il parsing di un singolo sito, allora ti vai a guardare il codice html e vedi se e dove ci sono errori e quindi riesci bene o male a creare un parser che funziona, ma se vuoi un parser per leggere vari siti html di cui non puoi ovviamente annotare tutti i difetti, devi appoggiarti a qualcosa di robusto

in teoria i migliori parser in assoluto sono quelli dei browser, tra cui quello di firefox è uno dei migliori.....ovviamente puoi interfacciarti con firefox, preferibilmente da python perchè ci sono dei wrapper appositi, oppure puoi interfacciarti a webkit, o se vuoi farla semplice usi beautifulsoup
Ok grazie, purtroppo di python non so niente, quindi vedo se riesco a fare qualcosa con php. Il sito dal quale preleverei i dati è sempre lo stesso, ho iniziato a vedere qualcosa di scraping, ho visto che c'è una libreria (cURL) che da quanto ho letto è molto utile. Spero che sbattendoci un po la testa riesca a fare qualcosa. Grazie cmq per le info
__________________
Intel Core Duo E8400 - Asus P5Q - Corsair XMS2 DHX CM2X2048-6400C4DHX- ATI Radeon HD 4850 - Samsung SyncMaster 206BW - Gigabyte GZ-X5 - Corsair 550VXEU - Microsoft Windows 7 Professional
Gimmy2 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 16:35   #9
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
curl permette di scaricare le pagine html, ma ovviamente non indicizza il DOM

del resto in php puoi benissimo usare file_get_contents ( se ovviamente nel php.ini hai abilitato la funzionalità di lettura di file remoti ) e quindi curl ti serve a ben poco

se si tratta sempre dello stesso sito allora puoi creare un banale scraper usando le espressioni regolari
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 20:03   #10
Gimmy2
Member
 
L'Avatar di Gimmy2
 
Iscritto dal: Jan 2008
Città: Paderno Dugnano
Messaggi: 116
cosa vuol dire che non indicizza il DOM?
Più che altro come faccio a selezionare una riga piuttosto che un'altra o dei determinati valori? Ci sono delle funzioni apposite? E' possibile inoltre spostarsi fra le pagine del sito in modo automatico?

Grazie ancora per le risposte.
__________________
Intel Core Duo E8400 - Asus P5Q - Corsair XMS2 DHX CM2X2048-6400C4DHX- ATI Radeon HD 4850 - Samsung SyncMaster 206BW - Gigabyte GZ-X5 - Corsair 550VXEU - Microsoft Windows 7 Professional
Gimmy2 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 20:44   #11
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Gimmy2 Guarda i messaggi
cosa vuol dire che non indicizza il DOM?.
vedi di qua, oppure la più completa versione in lingua inglese, di la.
Comunque credo che pabloski ti stia suggerendo accedere alla pagina html che ti interessa come ad uno stream dati: puoi (ad esempio, ma non solo, caricarla tutta in memoria e vederla come una unica stringa per poi) darla in pasto ad un matcher di regular expression al quale passerai dei pattern per estrarre i match che ti interessano.

Altrimenti analizzi linea per linea il contenuto per farci quello che ti pare.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 13-11-2010 alle 20:50.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 20:53   #12
Gimmy2
Member
 
L'Avatar di Gimmy2
 
Iscritto dal: Jan 2008
Città: Paderno Dugnano
Messaggi: 116
ok, ho capito cos'è il DOM, ma il fatto che non lo poassa indicizzare cosa comporta in termini pratici?
__________________
Intel Core Duo E8400 - Asus P5Q - Corsair XMS2 DHX CM2X2048-6400C4DHX- ATI Radeon HD 4850 - Samsung SyncMaster 206BW - Gigabyte GZ-X5 - Corsair 550VXEU - Microsoft Windows 7 Professional
Gimmy2 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2010, 21:28   #13
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da Gimmy2 Guarda i messaggi
ok, ho capito cos'è il DOM, ma il fatto che non lo poassa indicizzare cosa comporta in termini pratici?
mi spiego con un esempio

prendiamo beautifulsoup che è un modulo python che serve proprio a creare il DOM partendo dal codice html....tu gli passi come parametro una stringa che contiene il codice html, lui internamente si crea una struttura di varia complessità che rappresenta il documento

ad esempio <html><body><h1>Ciao Pippo</h1><p>Io sono un cane</p></body></html>

il DOM si presenterà fatto così

html --> body --> h1 --> Ciao Pippo
--> p --> Io sono un cane

in pratica avrai un vettore che chiamiamo S per semplicità e avrai che S[0] contiene il contenuto di <html> e cioè il body e tutti gli elementi al suo interno

S[0][0] sarà un vettore di 2 elementi contenente h1 e p e i loro contenuti

S[0][0][0] sarà Ciao Pippo e S[0][0][1] sarà Io sono un cane

ovviamente il tutto associato a metadati che permettono di capire se il contenuto di un elemento dell'array è un elemento html, una semplice stringa di testo, un elemento cdata, ecc....

questo è il genere di struttura che si chiama DOM, poi ovviamente ogni libreria la gestisci fisicamente a modo suo ma concettualmente il DOM è una struttura contenente il codice html, sezionato in base ai vari tag, dov'è possibile navigare all'interno dei tag e quindi scoprire/leggere gli elementi contenuti all'interno dei vari tag, scendere ancora più sotto, fino ad arrivare agli elementi atomici che sono le stringhe di testo

per fare lo scraping di una pagina html ti serve qualcuno che sia in grado di creare una struttura del genere

in alternativa puoi semplicemente creare un matcher con le espressioni regolari, che però sarà un sistema che brutalmente estrae tutte le stringhe di testo ma non ti dà nessuna informazione riguardo lo status di quelle stringhe ( se erano contenute all'interno di tabelle, div, header, paragrafi, erano bold, em o che altro )

l'approccio basato su espressioni regolari funziona finchè il codice è corretto, ma guai ad avere un codice in cui un tag non si chiude oppure c'è un errore sintattico ( tipo <b al posto di <b> )....in questo caso il matcher comincerà a restituire stringhe di testo con dentro tag html e sarà un guaio grosso quanto una casa

in generale siccome è impossibile creare un parser degno di tale nome in maniera semplice, il mio suggerimento è di appoggiarsi ai parser di webkit o gecko, perchè si tratta di software molto sofisticato, capace di generare il DOM a partire da html malridotto
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2010, 12:17   #14
Gimmy2
Member
 
L'Avatar di Gimmy2
 
Iscritto dal: Jan 2008
Città: Paderno Dugnano
Messaggi: 116
grazie mille per la spiegazione esauriente. Ora provo a vedere se riesco a fare qualcosa in php, magari per quello che devo fare non c'è bisogno di cose troppo complesse, in tal caso invece proverò o con python o come dici tu usando quei parser.

Grazie ancora
__________________
Intel Core Duo E8400 - Asus P5Q - Corsair XMS2 DHX CM2X2048-6400C4DHX- ATI Radeon HD 4850 - Samsung SyncMaster 206BW - Gigabyte GZ-X5 - Corsair 550VXEU - Microsoft Windows 7 Professional
Gimmy2 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2010, 14:33   #15
Gimmy2
Member
 
L'Avatar di Gimmy2
 
Iscritto dal: Jan 2008
Città: Paderno Dugnano
Messaggi: 116
Scusate il doppio post, sto facendo qualche prova con php, usando funzioni semplici come la file get content. Purtroppo quando uso questa funzione inserendo l'url del sito desiderato ottengo quest'eerore:

[function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in C:\xampp\htdocs\prova2.php on line 7

forse è dovuto al fatto che l'url in questione non termina con una pagina .php o .html o che fa uso i script? perchè ho visto che nel sorgente della pagina ve ne sono...
__________________
Intel Core Duo E8400 - Asus P5Q - Corsair XMS2 DHX CM2X2048-6400C4DHX- ATI Radeon HD 4850 - Samsung SyncMaster 206BW - Gigabyte GZ-X5 - Corsair 550VXEU - Microsoft Windows 7 Professional
Gimmy2 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2010, 15:43   #16
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quel messaggio ti dice semplicemente che il server non è in grado di elaborare la richiesta. Il problema non è dello script ma del server.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2010, 18:53   #17
Gimmy2
Member
 
L'Avatar di Gimmy2
 
Iscritto dal: Jan 2008
Città: Paderno Dugnano
Messaggi: 116
quindi vuol dire che da quel sito non è possibile in nessun modo estrarre dati dal codice sorgente?
__________________
Intel Core Duo E8400 - Asus P5Q - Corsair XMS2 DHX CM2X2048-6400C4DHX- ATI Radeon HD 4850 - Samsung SyncMaster 206BW - Gigabyte GZ-X5 - Corsair 550VXEU - Microsoft Windows 7 Professional
Gimmy2 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2010, 19:10   #18
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da Gimmy2 Guarda i messaggi
quindi vuol dire che da quel sito non è possibile in nessun modo estrarre dati dal codice sorgente?
No questo è oggettivamente impossibile. Semplicemente richiedere quell'url causa un errore. Se accedi allo stesso url dal browser che succede?
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2010, 22:25   #19
Gimmy2
Member
 
L'Avatar di Gimmy2
 
Iscritto dal: Jan 2008
Città: Paderno Dugnano
Messaggi: 116
l'url dal browser funziona, è da lì che l'ho preso. Cosa può essere allora?
__________________
Intel Core Duo E8400 - Asus P5Q - Corsair XMS2 DHX CM2X2048-6400C4DHX- ATI Radeon HD 4850 - Samsung SyncMaster 206BW - Gigabyte GZ-X5 - Corsair 550VXEU - Microsoft Windows 7 Professional
Gimmy2 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2010, 22:50   #20
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da Gimmy2 Guarda i messaggi
l'url dal browser funziona, è da lì che l'ho preso. Cosa può essere allora?
Potrebbe essere che analizza l'useragent.
pabloski è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Neuralink accelera: produzione di massa ...
Starlink abbassa l'orbita di migliaia di...
Dal MIT una nuova batteria per auto elet...
Adam Mosseri parla di IA su Instagram: l...
Suonerie personalizzate e Tone Store: il...
LG UltraGear evo: svelati i monitor gami...
Nelle offerte Amazon del nuovo anno ci s...
Meta Quest 3 da 512 GB torna a 469€ con ...
Steam a inizio 2026: i giochi più vendut...
Auto sempre al top: compressore Xiaomi, ...
In Francia si ragiona sul ban dei social...
Tesla Model Y è l'auto più...
Il caricatore definitivo, ok anche coi M...
Amazon Haul rilancia: sconti automatici ...
Upgrade PC a prezzi ribassati: Amazon sc...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:58.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v