Vai al contenuto principale

Come individuare elemento web tramite testo vicino

Aggiornato più di un anno fa

Stai leggendo una guida tutorial per l'ultima versione di Octoparse. Se utilizzi una versione vecchia di Octoparse, ti consigliamo vivamente di aggiornarla perché è una versione più veloce, più semplice e più robusta! Scarica e aggiorna qui!

Octoparse tiene traccia dei dati con XPath ma i dati possono cambiare posizione all'interno di una pagina web. Per affrontare questo problema, ti mostreremo come estrarre i dati in modo più accurato associandoli a un testo nelle vicinanze.

Innanzitutto, diamo un’occhiata a un esempio di quando questa tecnica può essere utile.

1.png

Nell'immagine di esempio sopra, il valore del termine Brand si trova accanto alle parole "Brand". Allo stesso modo, il valore del termine Item Weight si troverà sempre accanto alle parole "Item Weight". Lo stesso schema dovrebbe applicarsi al resto dell'elenco.

Sebbene l'Item Weight possa cambiare posizione dalla terza alla quarta riga dell'elenco, il valore associato dovrebbe sempre trovarsi accanto. Pertanto, un modo più coerente per trovare e acquisire i valori associati di qualsiasi elemento è cercare prima dove si trovano le parole, poi individuare i dati vicini. In questo esempio, invece di cercare di trovare il valore 10 pounds direttamente sulla pagina, possiamo catturarlo in modo più accurato quando lo colleghiamo al testo di Item Weight.

Segui i passaggi sotto per vedere come funziona:

PASSAGGIO 1. Cliccare su 10 pounds nella pagina per estrarre il testo di Item Weight.

PASSAGGIO 2. Andare all'anteprima dei dati e fare clic su Customize XPath.

1.png

PASSAGGIO 3. Trovare l'XPath relativo al testo del campo dati target

  • Allora aprire la pagina web nel browser Chrome e fare clic con il pulsante destro del mouse per ispezionare i dati desiderati.

lwe3.gif

  • Si può trovare le parole effettive Item Weight nel tag <th> mentre il suo valore relativo viene visualizzato nel tag <td> sotto.

262626.png

  • Una volta capito il pattern possiamo scrivere un XPath per cercare il valore di Item Weight rispetto a dove troveremo effettivamente le parole:

//th[contains(text(),'Item Weight')]/following -sibling::td[1]

Questa espressione XPath dice al programma di cercare il tag <th> contenente il testo di Item Weight, quindi di trovare il primo tag <td> situato proprio sotto di esso. Ci darà esattamente quello che vogliamo, il valore associato di Item Weight.

16156212.png

  • Inserire il nuovo XPath nella casella di testo Matching XPath e cliccare su Apply per salvare le impostazioni.

100.png

Ora Octoparse cercherà sempre il valore associato di Item Weight in base alla posizione delle parole Item Weight sulla pagina web. L'applicazione di questa tecnica a campi simili nell'elenco può aiutare a ridurre la possibilità di estrarre gli elementi non desiderati.

Suggerimento: il fratello successivo viene spesso utilizzato per trovare un elemento situato accanto a un altro elemento designato. Scopri di più su XPath qui!

Hai ricevuto la risposta alla tua domanda?