"Пауза / возобновление" Scrapy стала "пауза / перезапуск"
Вот вещь
Вот большой список слов. Я хочу сканировать некоторые данные по этим словам. Это отнимает много времени, поэтому я хотел бы разбить его на куски.
Сначала я загружаю список слов в список в __init__
моего паука.
def __init__(self, category=None, *args, **kwargs):
super(GlosbeSpider, self).__init__(*args, **kwargs)
list_file = open('glosbe/vi/word4/word_list_4', 'r')
for lines in list_file:
lines = lines.strip()
self.word_list.append(lines)
list_file.close()
print 'INIT!!!!!'
Затем я создаю несколько начальных запросов в start_requests()
:
def start_requests(self):
container = []
for word in self.word_list:
url = "https://glosbe.com/gapi/tm?from=zh&dest=%s&format=json&phrase=%s&page=%d&pretty=true" % (
self.language, word, 1)
meta_info = {'page_num': 1, 'word': word}
new_req = scrapy.Request(url, callback=self.parse_json, meta=meta_info, dont_filter=True,
errback=self.process_error)
container.append(new_req)
print 'START_REQUESTS!!!!!'
return container
И я разбираю предметы в parse_json()
(код здесь опущен, не важно).
Согласно официальному документу, если я использую одну и ту же команду дважды в оболочке, как:
scrapy crawl MySpider -s JOBDIR=dir_I_want_to_use
тогда сканер продолжит свою работу с того места, где он останавливается.
Тем не менее, когда я продолжаю работу, используя ту же команду, указанную выше,
INIT!!!!!
START_REQUESTS!!!!!
на экране. Зачем? Я думаю, что он должен продолжить процесс разбора без вызова start_requests()
,
Если я хочу продолжить свою работу по ползанию с того места, где я остановился, как я могу справиться с этим? Благодарю.