|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
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 ![]()
Avete qualche suggerimento?
__________________
Sono GULDO, non Guido! Cioè, certo che guido... Bé, insomma, avete capito ![]() Linux 2.6.26|Debian|Debian@Hwupgrade|Debian Clan|Solo Puffin ti darà forza e grinta a volontà! NERD rank 62|Milla Jovovich|大事な物はいつも形の無い物だけ Sito e Forum sul Giappone|La mia libreria su aNobii |
|
|
|
|
|
#2 |
|
Senior Member
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() 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 |
|
|
|
|
|
#3 | |||
|
Senior Member
Iscritto dal: Nov 2002
Città: Morio Cho
Messaggi: 2595
|
Grazie dell'aiuto
Quote:
<?xml-stylesheet type="text/xsl" href="libreria.xsl"?> e questo non riesco a capire come farlo... Quote:
È quindi bastato aggiungere .encode("latin-1") al valore da scrivere nella casella di testo della form. Quote:
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?!)
__________________
Sono GULDO, non Guido! Cioè, certo che guido... Bé, insomma, avete capito ![]() Linux 2.6.26|Debian|Debian@Hwupgrade|Debian Clan|Solo Puffin ti darà forza e grinta a volontà! NERD rank 62|Milla Jovovich|大事な物はいつも形の無い物だけ Sito e Forum sul Giappone|La mia libreria su aNobii |
|||
|
|
|
|
|
#4 | |||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Figurati. Anzi, mi spiace risponderti soltanto adesso ma ho avuto un po' da fare in questi giorni.
Quote:
Però, come ti dicevo, non ho esperienza con le altre librerie (sono tante), ed è molto probabile che riescano a gestire anche questo caso. Quote:
Quote:
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ù 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 |
|||
|
|
|
|
|
#5 |
|
Senior Member
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="<input name="ft">" class="webdeveloper-display-form-details"><input name="ft"></span> <input class="webdeveloper-unhidden" name="ft" value="adv" type="text"> <td align="center" valign="top" width="646"> Meglio andarci fisicamente, alla Hoepli. Pensa te...
__________________
Sono GULDO, non Guido! Cioè, certo che guido... Bé, insomma, avete capito ![]() Linux 2.6.26|Debian|Debian@Hwupgrade|Debian Clan|Solo Puffin ti darà forza e grinta a volontà! NERD rank 62|Milla Jovovich|大事な物はいつも形の無い物だけ Sito e Forum sul Giappone|La mia libreria su aNobii Ultima modifica di guldo76 : 09-01-2009 alle 00:25. |
|
|
|
|
|
#6 |
|
Senior Member
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 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:47.






















