Как передать пользовательские параметры (например, -o) сканеру Scrapy - PullRequest
0 голосов
/ 20 апреля 2020

Я сейчас работаю над проектом python2 .7 / Scrapy 1.8. Я работаю в контейнере Docker и использую

launchable.py:

import scrapy
from scrapy.crawler import CrawlerProcess

from spiders import addonsimilartechSpider, similartechSpider

process = CrawlerProcess()
process.crawl(similartechSpider.SimilarTechSpider)
process.crawl(addonsimilartechSpider.AddonSimilarSpider)
process.start()

Я обычно начинал свою терапию вот так :

scrapy crawl <nameofmyspider> -o output.xlsx

Я установил scrapy-xlsx и использовал его до сих пор, теперь, когда у меня есть файл launchable.py, я не знаю, как передавать «пользовательские» аргументы через сканер scrappy (не spider). Я понимаю разницу между настройками скрапа и настройками паука, поэтому:

process.crawl(similartechSpider.SimilarTechSpider, input='-o', first='test1.xlsx')

, скорее всего, не сработает, верно?

спасибо, что потратили на это время.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020
CrawlerProcess(settings={
    'FEED_URI': 'output_file_name.xlsx',
    'FEED_EXPORTERS' : {'xlsx': 'scrapy_xlsx.XlsxItemExporter'},
})
0 голосов
/ 23 апреля 2020

Вместо этого используйте соответствующие настройки Scrapy (FEED_*).

Вы можете передать их CrawlerProcess как dict.

...