Это мой Scrapy код пользовательских регулярных выражений трубопровода:Scrapy Regex Пользовательские Pipeline
for p in item['code']:
for search_type, pattern in RegEx.regexp.iteritems():
s = re.findall(pattern, p)
if s:
return item
else:
raise DropItem
И это мой Regex код:
class RegEx(object):
regexp = {
'email' : re.compile('liczba'), 'whatever' : re.compile(r'mit'), 'blu' : re.compile(r'houseLocked'),}
Не реальное скомпилирован регулярное выражение, как только для демонстрационных целей.
Это работает, но как только совпадение найдено, и срабатывает «возвращенный элемент», остальное отбрасывается.
Можно ли продолжить итерацию в трубопроводе Scrapy?
Я был в этом в течение 4 дней и пробовал каждую перестановку, которую вы можете себе представить, но всегда тот же результат.
У меня либо отсутствует очевидное, либо это не просто.
Если это невозможно, то любые рекомендации по новому маршруту получили высокую оценку.
«и„возвращение пункт“срабатывает, остальное отбрасывается.» что вы подразумеваете под покой? остаток предметов? или что цикл просто ломается и останавливается в этой точке? – Granitosaurus
Если я задал 3 регулярных выражения, как указано выше, и я уже знаю, что один из них существует на одной из веб-страниц, которые нужно очистить, возвращается только одно совпадение и один URL скребковых данных. Я просто не знаю, почему это происходит. Я считаю, что это непрерывное очищение, но просто назначает их «отброшенными». Это странно. – Stuart