這是我的Scrapy定製的正則表達式管道代碼:Scrapy正則表達式自定義管道
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
這是我的正則表達式代碼:
class RegEx(object):
regexp = {
'email' : re.compile('liczba'), 'whatever' : re.compile(r'mit'), 'blu' : re.compile(r'houseLocked'),}
不是真正的編譯正則表達式爲僅用於演示的目的。
這是有效的,但是一旦找到匹配,並且「返回項目」被觸發,其餘部分將被丟棄。
是否可以繼續在Scrapy管道中迭代?
我已經在這裏呆了4天,並嘗試了各種你可以想象的排列方式,但結果總是如此。
我要麼缺少顯而易見的東西,要麼這不直截了當。
如果不可能以這種方式,任何建議的新途徑非常感謝。
「和‘退貨項目’被觸發,其餘的被丟棄。」你休息的意思是什麼?其餘的項目?或者循環剛剛打破並停在那一點? – Granitosaurus
如果我如上所述設置了3個正則表達式,並且我已經知道其中一個存在於要被抓取的網頁之一中,則只返回一個匹配並且一個刮取數據的URL。我只是不知道爲什麼會發生這種情況。我相信它不斷刮擦,但只是將它們分配爲「丟棄」。有點奇怪。 – Stuart