python - follow - raspando el archivo con html guardado en el sistema local
scrapy python documentation (3)
Por ejemplo, tenía un sitio "www.example.com"
De hecho, quiero guardar el html de este sitio guardando en el sistema local. entonces para probar guardé esa página en mi escritorio como example.html
Ahora había escrito el código araña para esto como a continuación
class ExampleSpider(BaseSpider):
name = "example"
start_urls = ["example.html"]
def parse(self, response):
print response
hxs = HtmlXPathSelector(response)
Pero cuando ejecuto el código anterior, recibo este error como se muestra a continuación
ValueError: Missing scheme in request url: example.html
Finalmente, mi intención es eliminar el archivo example.html
que consiste en guardar el código html de www.example.com
en mi sistema local
¿Puede alguien sugerirme cómo asignar ese archivo example.html en start_urls
Gracias por adelantado
Puedes usar el HTTPCacheMiddleware, que te dará la posibilidad de ejecutar una araña desde el caché. El documento para la configuración de HTTPCacheMiddleware se encuentra aquí .
Básicamente, agregar las siguientes configuraciones a su settings.py lo hará funcionar:
HTTPCACHE_ENABLED = True
HTTPCACHE_EXPIRATION_SECS = 0 # Set to 0 to never expire
Sin embargo, esto requiere hacer una spider inicial desde la web para llenar el caché.
Si ve el código fuente de scrapy Request por ejemplo github . Puede comprender qué solicitud de envío de scrapy al servidor http y obtener la página necesaria en respuesta del servidor. Su sistema de archivos no es servidor http. Para fines de prueba con scrapy, debe configurar el servidor http. Y luego puedes asignar urls a scrapy como
http://127.0.0.1/example.html
Puede rastrear un archivo local usando una url de la siguiente forma:
file:///127.0.0.1/path/to/file.html
No requiere que se instale un servidor http en su máquina.