Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    XMLHTTP .responseText dubbi

    Ciao
    Sto cercando di recuperare parte di una sito remoto, nella fattispecie sto facendo le prove con il sito di gazzetta.it in quanto mi fornisce una grossa risorsa e ha un ordine cronologico/numerico delle diverse pagine facile da consultare.

    Il problema è questo:quando con XMLHTTP.responseText mi creo una bella striga su cui lavorare ho diversi problemi nel selezionarne solo parte. Ho girato già per il forum trovando diverse soluzioni ma tutte approssimative.
    ESEMPIO DI URL REMOTA
    codice:
     
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="65" height="50"></td>
    <td height="50"><span class="ver_11fux_b">ARGOMENTO </span></td>
    </tr>
    <tr>
    <td width="65" align="center" valign="top"><span class="ver_11fux_b">ORARIO </span></td>
    <td valign="top" class="ver_11_r"><span class="ver_11_b_nero">TITOLO </span>
    
    TITOLINO 
    
    
    CORPO 
    
    
    </td>
    </tr>
    </table>
    Tale pagina .htm è sempre ugauale nella forma perciò volevo isolare dalla stringa:
    myPage = XMLHTTP.responseText
    le parti ARGOMENTO; ORARIO; TITOLO; TITOLINO e CORPO
    Per fare ciò ho usato questo metodo

    titolostart = instr(myPage,"ver_11fux_b")+ 13
    tot = mid(myPage, titolostart)
    arr = split(tot, "</span>")
    titolo = arr(0)
    resto= arr(1)
    Response.write titolo

    e poi via via utilizzando come stringa iniziale arr(1), è l'unica soluzione che mi dia un risultato decente ma ogni tanto "salta"

    ho già provato a derinire un eventuale titoloend ed utilizzare
    tot= mid(myPage, titolostart, titoloend) ma mi dà tutta la stringa da titolostart alla fine

    Qualcuno può indicarmi una soluzione più snella ed eventualmente più affidabile?

    QuiPROVA in rete la prova sotto sport news

    Grazie :master:
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  2. #2
    up
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  3. #3
    Da quello che ho capito ti basi correttamente sul tag </span>
    per calcolare il corpo, quindi se all'interno del corpo non sono presenti altri tag <span> il tutto dovrebbe funzionare, quello che non mi è chiaro è il nome della tua variabile titoloend e come fai a impostarla, tieni presente che la funzione mid

    mid(myPage,titolostart,NUMERODICARATTERIDARESTITUI RE)

    quinti se titoloend è la posizione di </span> il corpo

    tot= mid(myPage, titolostart, titoloend-titolostart)

    spero di esserti stato utile
    Ciao

  4. #4
    non mi è chiaro è il nome della tua variabile titoloend e come fai a impostarla, tieni presente che la funzione mid
    Grazie intanto per la risposta

    titoloend è la posizione assoluta della fine del CORPO e mi sono sbagliato a scrivere, la funzione che non mi va è come avevi già inteso:

    tot= mid(myPage, titolostart, titoloend-titolostart)

    ora posso dire che la soluzione con split funzia il 90% delle volte ma non sempre, per verificare sono andato a spulciarmi il codice dell'url da dove pesco ma è ugauale a quelle dove funge, non esiste un metodo piu preciso tipo:
    da XMLHTTP.responseText pesco la parte di stringa che contiene tutte le cose che mi interessano TITOLO, ARGOMENTO etc. con
    titolostart = instr(myPage,"ver_11fux_b")+ 13
    tot = mid(myPage, titolostart)

    da tot voglio togliere tutti gli eventuali tag che mi imballano la formattazione dlla pagina tipo /span o /tr prima di procedere a ricavare le singole parti che mi interessano come già faccio?
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  5. #5
    In pratica ti servirebbe fare un replace(TestoTrovato,Tag,"") del testo trovato.
    Mi dispiace ma non conosco procedure in asp in grado di riconoscere tutti i tag ma se non sono molti e abbastanza costanti puoi usare la funzione come sopra.

  6. #6
    Grazie ma sono arrivato alla conclusione che non ci sia un metodo "facile" continuerò a perfezionare l'attuale.



    Oggi è sorto un'altro problemino, di cui non conosco l'origine

    Microsoft VBScript runtime error '800a0009'

    Subscript out of range: '[number: 1]'

    in corrispondenza di arr(1) il risultato della funzione split(stringa,"CARATTERE"),
    non cocnosco molto bene questa funzione, ma in caso di più ricorrenze all'interno della stringa di CARATTERE si impalla o mi da un array con più indici?
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  7. #7
    up
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  8. #8
    Ho risolto il dilemma
    grazie a tutti


    QUI IL PROBLEMA
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.