Skip to content
This repository was archived by the owner on May 5, 2023. It is now read-only.

Commit 2911813

Browse files
committed
feat: add custom command for covidtracking spider
1 parent 255d966 commit 2911813

File tree

1 file changed

+12
-3
lines changed
  • django_covid19/management/commands

1 file changed

+12
-3
lines changed

django_covid19/management/commands/crawl.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
sys.path.insert(0, os.path.join(app_dir, 'spider'))
77

88
from nCoV.spiders.dxy import DXYSpider
9+
from nCoV.spiders.covidtracking import CovidTrackingSpider
910
from scrapy.crawler import CrawlerProcess
1011
from scrapy.utils.project import get_project_settings
1112
from django.core.management.base import BaseCommand
@@ -17,15 +18,23 @@ def __init__(self):
1718
os.environ.setdefault('SCRAPY_SETTINGS_MODULE', settings_file_path)
1819
self.process = CrawlerProcess(get_project_settings())
1920
self.spider = DXYSpider
21+
self.covidtracking_spider = CovidTrackingSpider
2022

21-
def run_spiders(self):
22-
self.process.crawl(self.spider)
23+
def run_spiders(self, spider):
24+
if spider == 'covidtracking':
25+
self.process.crawl(self.covidtracking_spider)
26+
else:
27+
self.process.crawl(self.spider)
2328
self.process.start()
2429

2530
class Command(BaseCommand):
2631

2732
help = _('Crawl data from DingXiangYuan.')
2833

34+
def add_arguments(self, parser):
35+
parser.add_argument('spider', type=str, help='spider name')
36+
2937
def handle(self, *args, **options):
38+
spider = options['spider']
3039
scraper = Scraper()
31-
scraper.run_spiders()
40+
scraper.run_spiders(spider)

0 commit comments

Comments
 (0)