python - example - Ejecutando Scrapy desde un script con salida de archivo
scrapy python install (1)
Actualmente estoy usando Scrapy con los siguientes argumentos de línea de comando:
scrapy crawl my_spider -o data.json
Sin embargo, preferiría ''guardar'' este comando en una secuencia de comandos de Python. Siguiendo https://doc.scrapy.org/en/latest/topics/practices.html , tengo el siguiente script:
import scrapy
from scrapy.crawler import CrawlerProcess
from apkmirror_scraper.spiders.sitemap_spider import ApkmirrorSitemapSpider
process = CrawlerProcess({
''USER_AGENT'': ''Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)''
})
process.crawl(ApkmirrorSitemapSpider)
process.start() # the script will block here until the crawling is finished
Sin embargo, de la documentación no queda claro cuál es el equivalente del argumento de la línea de comando -o data.json
dentro del script. ¿Cómo puedo hacer que el script genere un archivo JSON?
FEED_FORMAT
agregar FEED_FORMAT
y FEED_URI
a su CrawlerProcess
:
process = CrawlerProcess({
''USER_AGENT'': ''Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'',
''FEED_FORMAT'': ''json'',
''FEED_URI'': ''data.json''
})