python-scrapy: cómo a buscar una dirección URL (no a través de los siguientes enlaces) dentro de una araña?

StackOverflow https://stackoverflow.com/questions/4640804

  •  09-10-2019
  •  | 
  •  

Pregunta

¿Cómo puedo tener dentro de mi araña algo que va a traer un poco de extracto de URL para algo de una página a través de HtmlXPathSelector? Sin embargo, la URL es algo que quiero suministrar como una cadena en el código, no un enlace a seguir.

He intentado algo como esto:

req = urllib2.Request('http://www.example.com/' + some_string + '/')
req.add_header('User-Agent', 'Mozilla/5.0')
response = urllib2.urlopen(req)
hxs = HtmlXPathSelector(response)

pero en este momento se inicia una excepción con:

[Failure instance: Traceback: <type 'exceptions.AttributeError'>: addinfourl instance has no attribute 'encoding'
¿Fue útil?

Solución

tendrá que construir un objeto scrapy.http.HtmlResponse con el cuerpo = urllib2.urlopen (req) .read (?) - pero ¿por qué es exactamente lo que necesita utilizar urllib2 en lugar de devolver la solicitud de devolución de llamada con un

Otros consejos

scrapy no es explícita para mostrar cómo hacer unittest, yo no recomiendo el uso scrapy a los datos de rastreo si desea hacer unittest para cada araña.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top