Todas las colecciones
Herramientas Avanzadas
XPath & Expresión regular
¿Cómo usar XPath relativa para obtener datos fuera de Bucle ítem?
¿Cómo usar XPath relativa para obtener datos fuera de Bucle ítem?
Actualizado hace más de una semana

Pregunta: Cómo usar XPath relativo para obtener datos fuera de un elemento de bucle

Si este título no tiene ningún sentido para usted, aquí hay un caso de uso tutorial con el que puede estar familiarizado.

Cómo extraer la URL de cada producto y la categoría a la que pertenece al mismo tiempo.

Aquí está la muestra de datos que desea.

Respuesta: ¡Es hora de hablar sobre el poderoso pariente XPath!

Aunque la XPath relativa y la XPath coincidente siempre han sido un hueso problema para nuestros usuarios, son la clave para salvarlo de este dilema.

Tome este sitio web como ejemplo: http://www.boribori.co.kr/index.html

A primera vista de este problema, es posible que desee resolverlo con dos elementos de bucle.

El primer bucle es obtener el valor de la categoría y las URL corresponde, y usar el segundo bucle para extraer los detalles de la URL.

Bueno, puedes intentarlo, pero no terminará bien ...

Encontrará que el valor de la URL en el segundo bucle no cambiará en consecuencia, porque Octoparse no puede detectar dos bucles en la misma página. Así que busquemos una solución alternativa.

Puede crear un elemento de bucle para obtener todas las URL primero y usar la relación de ubicación entre la categoría y las URL de producto correspondientes para escribir el XPath obteniendo el valor de la categoría.

Based on the XPath of Loop Item (URLs):

//ul[@class="list"]/li

Puede escribir the matching XPath of the category:

//ul[@class="list"]/li/preceding::div[@class="itemBox"]/h5/img

The relative XPath es la parte adicional de matching XPath relative to Loop Item Xpath:

/preceding::div[@class="itemBox"]/h5/img

Asegúrese de que XPath del elemento de bucle sea parte de XPath de la categoría. Ese es el vínculo para conectar un relative XPath y matching XPath.

Consejos!Más detalles sobre XPath, consulte aquí:Octoparse XPath HerramaientaLocalizar elementos con XPath¿Cómo asociar datos con texto cercano?Video-Locate elementos con XPath

Aquí se muestra la forma de ingresar la XPath coincidente y la XPath relativa.

Sin embargo, el valor de la muestra todavía está en blanco. La razón es que la configuración predeterminada es Extract the text of the element.

La configuración predeterminada funcionará si el valor de la categoría se muestra como texto. Sin embargo, en este caso, la categoría es un valor de un atributo "alt", que dejó el campo en blanco.

Para resolverlo, simplemente marque otra opción: "Extraer el atributo especificado del elemento", luego seleccione el tipo de atributo correcto: "alt". Ahora el valor finalmente aparece.......

Consejos!Consulte más detalles ssobre el valor de atibuto de scraping aquí en:¿Cómo scrape el valor de un atributo en el código fuente?

¡Aquí hay una muestra de datos que puede obtener!

Si has persistido hasta ahora, ¡te felicito! Solo obtienes cómo escribir rutas relativas para extraer datos fuera del bucle.

¿Ha quedado contestada tu pregunta?