Estoy intentando extraer información de un producto de una página web mediante scrapy. Mi página web que se va a eliminar se ve así:
- comienza con una página de lista de productos con 10 productos
- un clic en el botón "siguiente" carga los siguientes 10 productos (la URL no cambia entre las dos páginas)
- uso LinkExtractor para seguir el enlace de cada producto en la página del producto y obtener toda la información que necesito
Traté de replicar el siguiente botón de llamada ajax pero no puedo trabajar, así que estoy probando el selenio. Puedo ejecutar el controlador web de selenium en un script separado, pero no sé cómo integrarlo con scrapy. ¿Dónde debo poner la parte de selenio en mi araña?
Mi araña es bastante estándar, como la siguiente:
class ProductSpider(CrawlSpider):
name = "product_spider"
allowed_domains = ['example.com']
start_urls = ['http://example.com/shanghai']
rules = [
Rule(SgmlLinkExtractor(restrict_xpaths='//div[@id="productList"]//dl[@class="t2"]//dt'), callback='parse_product'),
]
def parse_product(self, response):
self.log("parsing product %s" %response.url, level=INFO)
hxs = HtmlXPathSelector(response)
# actual data follows
Se agradece cualquier idea. ¡Gracias!