urljoin scraping example espaƱol docs python web-crawler scrapy

python - scraping - scrapy vs beautifulsoup



La solicitud de Scrapy no pasa a la devoluciĆ³n de llamada cuando el 301? (1)

Tuvo que pasar el parámetro dont_filter=True a la función de devolución de llamada de respuesta

Estoy tratando de actualizar una base de datos llena de enlaces a sitios web externos, por alguna razón, se saltea la devolución de llamada cuando se mueven los encabezados de solicitud / sitio web / w / e / bandera 301

def start_requests(self): #... database stuff for x in xrange(0, numrows): row = cur.fetchone() item = exampleItem() item[''real_id''] = row[0] item[''product_id''] = row[1] url = "http://www.example.com/a/-" + item[''real_id''] + ".htm" log.msg("item %d request URL is %s" % (item[''product_id''], url), log.INFO) # shows right request = scrapy.Request(url, callback=self.parse_url) request.meta[''item''] = item yield request def parse_url(self, response): item = response.meta[''item''] item[''real_url''] = response.url log.msg("item %d new URL is %s" % (item[''product_id''], item[''real_url'']), log.INFO) #doesnt even show the items that have redirected.

La versión de Scrapy es 0.24, ¿qué puedo hacer?

Dato interesante: solo ocurre con algunos de los enlaces rotos, incluso si son del mismo sitio web con las mismas URL exactas, etc.