Todas las colecciones
Herramientas Avanzadas
XPath & Expresión regular
Localizar y scrapear un elemento a través del texto cercano
Localizar y scrapear un elemento a través del texto cercano
Actualizado hace más de una semana

Octoparse raspar datos con XPath, pero los datos pueden cambiar de ubicación dentro de una página web. Para abordar esto, te mostraremos cómo puedes extraer datos con mayor precisión al asociarlos con un texto cercano.

Primero, veamos un ejemplo de cuándo esta técnica puede ser útil.

32626.png

En la imagen de ejemplo anterior, el valor de "Brand" se encuentra junto a las palabras "Brand". Del mismo modo, el valor de "Item Weight" siempre se encontrará junto a las palabras "Item Weight". El mismo patrón debería aplicarse al resto de la lista.


Si bien "Item Weight" puede cambiar de lugar de la tercera fila a la cuarta fila de la lista, su valor asociado siempre debe estar al lado. Por lo tanto, una forma más consistente de encontrar y capturar los valores asociados de cualquier elemento es buscar primero dónde están las palabras y luego ubicar los datos junto a ellas. En este ejemplo, en lugar de intentar encontrar el valor "10 pounds" directamente en la página, podemos capturarlo con mayor precisión cuando lo relacionamos con el texto de "Item Weight".


Sigue los pasos a continuación para ver cómo se hace:

1) Haz clic en "10 pounds" para capturar el valor de "Item Weight". Una vez extraído, haz clic en el icono Configuración de la acción para verificar lo(s) campo(s) de datos

233232.png

2) Haz clic en "Personalizar XPath"

23626.png

3) Busca el XPath relacionado con el texto del campo de datos de destino

  • Ahora, abre la página en Chrome, haz clic derecho para inspeccionar los datos de destino

95415626526.gif
  • Observa que las palabras reales de "Item Weight" se pueden encontrar dentro de la etiqueta <th> mientras que su valor asociado se encuentra dentro de la etiqueta <td> justo debajo de ella.

    262626.png
  • Una vez que vemos el patrón, podemos escribir un XPath para buscar el valor de "Item Weight" relativo al lugar donde realmente encontraremos las palabras: "//th[contains(text(),'Item Weight')]/following-sibling::td[1]"- Esta expresión XPath le dice al programa que busque la etiqueta <th> que contiene el texto de" Item Weight "y luego busque la primera etiqueta <td> ubicada justo debajo de ella. Y esto nos dará exactamente lo que queremos, el valor asociado de "Item Weight".

16156212.png
  • Ingresa el nuevo XPath en el cuadro de texto "Matching XPath", haz clic en "Aceptar" para guardar la configuración.

1461262.png

Ahora, Octoparse buscará el valor asociado de "Peso del artículo" de acuerdo con el lugar donde se muestran las palabras "Peso del artículo" en la página web. Aplicar esta técnica a campos similares en la lista puede ayudar a reducir la posibilidad de excepciones de elementos no encontrados.

Nota:

Following-sibling se utiliza con mucha frecuencia para encontrar un elemento ubicado junto a otro elemento designado.

¿Ha quedado contestada tu pregunta?