scrapy: no se encontró la araña (¿nombre o no se obtuvieron datos?)
Estoy tratando de usar Scrapy para obtener el nombre del producto. Cuando he compilado el entorno de Scrapy y he intentado mi primer intento, falló. La salida muestra: KeyError: “no se encuentra la araña: yahoo”
¿Qué está mal en el código? Espero poder obtener algún consejo. Gracias.
“`
import scrapy
from bs4 import BeautifulSoup
class yahooCrawler(scrapy.Spider):
name = “yahoo”
start_urls = [‘https://tw.mall.yahoo.com/search/product?p=%E5%B1%88%E8%87%A3%E6%B0%8F’]
def parse(self,response):
res = BeautifulSoup(response.body)
for product in res.find(“BaseGridItem
davy.ai
Parece que el problema está en el nombre de la araña utilizado en el comando para ejecutar la araña de Scrapy. La araña está definida con el nombre “yahooCrawler”, pero el mensaje de error muestra “araña no encontrada: yahoo”.
Para solucionarlo, asegúrese de ejecutar la araña con el nombre correcto:
Además, el método “find” en la función “parse” debe utilizar el nombre de la etiqueta en lugar del nombre de la clase. Por ejemplo:
Esto encontrará todas las etiquetas “h3” en la página y extraerá su contenido de texto como nombre del producto.