Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-01-2009, 14:54   #1
guldo76
Senior Member
 
L'Avatar di guldo76
 
Iscritto dal: Nov 2002
Città: Morio Cho
Messaggi: 2595
[Python] XML, parsing HTML, HTML INPUT

Ciao,
avete presente aNobii?
http://www.anobii.com/
Io lo adoro! Ma non divaghiamo. Ho un sacco di libri nella wish list, cioè libri che non ho, ma desidero leggere prima o poi. Ogni tanto li cerco sui siti online di vendita di libri; molti si trovano facilmente, altri meno.
Mi è venuta la voglia, durante questi giorni di feste, di scrivere uno script che andasse in giro a cercare i libri per me. Inizialmente speravo di cavarmela molto facilmente, ma la cosa si è un po' complicata strada facendo, soprattutto perché non tutti i siti ti permettono di cercare per ISBN...
Se volete avere un'idea di cosa intendo, aprite dall'allegato il file anobii.txt (input), quindi libreria.xml (output).

Purtroppo ho almeno tre problemi... che metto tutti qui in un'unica discussione
  1. Come si può inserire il riferimento a un xsl all'interno di un xml? Per il momento l'ho fatto brutalmente aprendo il file xml come fosse un file di testo qualunque e andando a scriverci forzatamente l'istruzione apposita. È piuttosto brutta come soluzione, possibile non ce ne sia una migliore?
  2. L'ultima istruzione del seguente blocco può andare in errore:
    Codice:
    response = urllib2.urlopen(self.url)  
    forms = ClientForm.ParseResponse(response, backwards_compat=False)  
    form = forms[1]  
    if self.titolo: form["query_title"]  = self.titolo  
    if self.autore: form["query_author"] = self.autore  
    if self.isbn  : form["query_code"]   = self.isbn  
    form["query_shelf"] = (p_lang,)  
    form["query_category"] = ("AAA",)  
    form["query_availability"] = ("ALL",)  
    page = urlopen(form.click()).read()
    restituendo il tipico errore:
    Codice:
    'ascii' codec can't encode character u'\xf6' in position 17: ordinal not in range(128)
  3. Ho trovato una pagina html in cui gli elementi INPUT non sono inseriti all'interno di una FORM... Quindi non ho idea di come possa fare a eseguire nel programma la compilazione dei campi di testo e il click sul tastino submit... cosa che se fossero in una FORM potrei fare con ClientForm (vedi punto 2)

Avete qualche suggerimento?
Allegati
File Type: zip cercaLibri.zip (12.6 KB, 4 visite)
guldo76 è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2009, 16:47   #2
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
1) Non ho usato la libreria più avanzata di Python per quanto riguarda la manipolazione di XML, ma ti assicuro che è molto ben fornita. Sicuramente ci sarà un libreria che ti permette di fare ciò che chiedi.

2). L'errore sta nella urlopen().read() o nella form.click() ? Prova a riscrivere quel codice così:
Codice:
Link = form.click()
page = urlopen(Link).read()
e vedi se il problema sta nella prima o nella seconda riga, possibilmente riportando anche il valore di Link.

3). Può essere una pagina che fa uso di Flash? Perché con l'HTML standard tutti i valori di input stanno in una qualche forma, per cui i valori li puoi sempre prelevare.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 06-01-2009, 22:02   #3
guldo76
Senior Member
 
L'Avatar di guldo76
 
Iscritto dal: Nov 2002
Città: Morio Cho
Messaggi: 2595
Grazie dell'aiuto

Quote:
Originariamente inviato da cdimauro Guarda i messaggi
1) Non ho usato la libreria più avanzata di Python per quanto riguarda la manipolazione di XML, ma ti assicuro che è molto ben fornita. Sicuramente ci sarà un libreria che ti permette di fare ciò che chiedi.
Ho trovato una libreria che mi permette di applicare lo stile, nel senso di generare un file html elaborando l'xml in base a quello stile. Io però vorrei un file xml con la riga:
<?xml-stylesheet type="text/xsl" href="libreria.xsl"?>
e questo non riesco a capire come farlo...

Quote:
Originariamente inviato da cdimauro Guarda i messaggi
2). L'errore sta nella urlopen().read() o nella form.click() ? Prova a riscrivere quel codice così:
Codice:
Link = form.click()
page = urlopen(Link).read()
e vedi se il problema sta nella prima o nella seconda riga, possibilmente riportando anche il valore di Link.
Risolto. Il form voleva i parametri in latin1, non in unicode.
È quindi bastato aggiungere
.encode("latin-1")
al valore da scrivere nella casella di testo della form.

Quote:
Originariamente inviato da cdimauro Guarda i messaggi
3). Può essere una pagina che fa uso di Flash? Perché con l'HTML standard tutti i valori di input stanno in una qualche forma, per cui i valori li puoi sempre prelevare.
È una pagina asp. Questa:
http://www.hoepli.it/avanzata.asp
L'ho guardata col DOM inspector, e non mi pare proprio che i campi INPUT siano inseriti in una FORM... Porc...
Può darsi che il programmatore che ha scritto quella pagina ASP se n'è fregato degli standard... (strano, eh?!)
guldo76 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2009, 08:37   #4
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da guldo76 Guarda i messaggi
Grazie dell'aiuto
Figurati. Anzi, mi spiace risponderti soltanto adesso ma ho avuto un po' da fare in questi giorni.
Quote:
Ho trovato una libreria che mi permette di applicare lo stile, nel senso di generare un file html elaborando l'xml in base a quello stile. Io però vorrei un file xml con la riga:
<?xml-stylesheet type="text/xsl" href="libreria.xsl"?>
e questo non riesco a capire come farlo...
Hum. E' un tag speciale. Non credo sia direttamente gestibile come un qualunque nodo.

Però, come ti dicevo, non ho esperienza con le altre librerie (sono tante), ed è molto probabile che riescano a gestire anche questo caso.
Quote:
Risolto. Il form voleva i parametri in latin1, non in unicode.
È quindi bastato aggiungere
.encode("latin-1")
al valore da scrivere nella casella di testo della form.
Infatti. Era sicuramente un problema di encoding, ma volevo capire da dove arrivava.
Quote:
È una pagina asp. Questa:
http://www.hoepli.it/avanzata.asp
L'ho guardata col DOM inspector, e non mi pare proprio che i campi INPUT siano inseriti in una FORM... Porc...
Può darsi che il programmatore che ha scritto quella pagina ASP se n'è fregato degli standard... (strano, eh?!)
Veramente vedo diverse form, e ci sono anche i controlli di input per la ricerca. Guarda qui:
Codice HTML:
					<form action="cercato.asp" method="post" name="frmAdvBooxter">
						<input type="hidden" name="ft" value="adv">
					<td align="center" valign="top" width="646">
								<br>
								<!-- QUI INCLUDE BANNER -->
						<table width="612" border="0" cellspacing="0" cellpadding="0">
							<tr>
								<td colspan="2" width="155"><img src="img/tit_avanzata.gif" alt="" height="18" width="155" border="0"></td>
								<td align="right" width="350" background="img/px_riga.gif"><img src="img/px_riga.gif" alt="" height="18" width="1" border="0"></td>
								<td colspan="2" width="107" background="img/px_riga.gif" align="right"><img src="/img/angolo_dx.gif" border="0"></td>
							</tr>
							<tr>
								<td width="1" height="20" background="img/px_blu.gif"><img src="img/px_blu.gif" alt="" height="1" width="1" border="0"></td>
								<td colspan="3" align="center" width="610" height="20">
									<table width="96%" border="0" cellspacing="0" cellpadding="0">
										<tr>
											<td class="testo_blu"><br><b>Cerca tra gli oltre 500.000 libri</b> presenti nella <a href="http://www.hoepli.it/libreriainternazionale.asp">Grande Libreria Online</a> <a href="http://www.hoepli.it"><span class="testo_blu2_b">HOEPLI<font color="#6495ed">.it</font></span></a> digitando una o pi&ugrave; parole nei campi sottostanti.  
											</td>
										</tr>
									</table>
									<br>
									<table width="96%" border="0" cellspacing="2" cellpadding="3">
										<tr>
											<td class="testo_piccolo" width="458"><span class="testo_piccolo"><b>TITOLO</b> (PAROLE CONTENUTE NEL TITOLO O NEL SOTTOTITOLO)<br>
												</span><input type="text" name="bytit" size="50" border="0"></td>
												<td class="testo_piccolo" width="109"></td>
											</tr>
										<tr>
											<td class="testo_piccolo" width="458"><b>AUTORE</b><br>
												<input type="text" name="byaut" size="50" border="0"></td>
												<td class="testo_piccolo" width="109"></td>
											</tr>
										<tr>
											<td class="testo_piccolo" width="458"><b>EDITORE</b><br>
												<input type="text" name="byed" size="50" border="0"></td>
												<td class="testo_piccolo" width="109"></td>
											</tr>
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 00:15   #5
guldo76
Senior Member
 
L'Avatar di guldo76
 
Iscritto dal: Nov 2002
Città: Morio Cho
Messaggi: 2595
Ho lasciato perdere il DOM inspector, e sono andato a guardarmi il codice nudo e crudo, come hai fatto tu.
E sono inorridito, di fronte a quello spettacolo!
In pratica la form c'è, ma in questo modo terrificante:
Codice:
</td>
<form action="cercato.asp" method="post" name="frmAdvBooxter">
  <input type="hidden" name="ft" value="adv">
<td align="center" valign="top" width="646">

Per forza che ClientForm non riesce a capire che c'è quella form! Non posso certo dargli torto...

Infatti se con l'extension per firefox "webdeveloper" faccio "visualizza sorgente generato", webdeveloper mi chiuder il tag:
Codice:
</td>
<form action="cercato.asp" method="post" name="frmAdvBooxter"></form>
<span title="&lt;input name=&quot;ft&quot;&gt;" class="webdeveloper-display-form-details">&lt;input name="ft"&gt;</span>
<input class="webdeveloper-unhidden" name="ft" value="adv" type="text">
<td align="center" valign="top" width="646">
Ma chi l'ha fatto 'sto sito, da cui mai e poi mai comprerò alcunché?
Meglio andarci fisicamente, alla Hoepli.
Pensa te...

Ultima modifica di guldo76 : 09-01-2009 alle 00:25.
guldo76 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 08:12   #6
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
La cosa strana è che il DOM inspector avrebbe dovuto trovarti in ogni caso il form e i controlli di input.

Comunque concordo: è un sito realizzato veramente male.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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 ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
FSR 4 su Radeon RX 5000, 6000 e 7000? Li...
Quanti alberi ci sono in Skyrim? In The ...
Pocket Max, la nuova console Mangmi punt...
Pubblicato maxi backup di Spotify: 300 T...
GTA 6 potrebbe evolversi in un MMORPG, s...
Green Deal anche per i caldarrostai: a R...
BYD lancia la condivisione dei caricator...
L'Antitrust italiano colpisce Apple: san...
Lo Stato paga il conto: un miliardo di e...
Il furgone elettrico Kia PV5 alza l'asti...
Instagram introduce limite agli hashtag:...
Fortnite non arriverà sull'App Store gia...
IBM: dall’AI agentica ai dati in tempo r...
Vodafone ha la rete mobile migliore in I...
Lenovo Legion Go 2 con SteamOS: il debut...
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: 13:47.


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