Ich versuche lokalisierte URLS zu leugnen, wie folgt:scrapy deny Urls lokalisierte
rules = (
Rule(LinkExtractor(deny=(r'\/es\/')), follow = True)
)
jedoch dies nicht gelingen. Versuchte andere Regexes wie das Folgende, aber kein Glück.
rules = (
Rule(LinkExtractor(deny=(r'\/es\/*.*')), follow = True)
)
Im Wesentlichen bin ich nur an der englischen Version der Ressource interessiert. Keine Version, die spanisch ist, dh: es hat /es/
in der URL.
Wie kann ich sicherstellen, dass ich keine spanischen URLs crawle?
Beste und einfache Art und Weise ist eine mddleware zu verwenden und eine beliebige URL ignorieren innerhalb 'process_request' Methode – Umair
gibt es keine' process_request' Methode für Middleware obwohl? – DarthVader
Ich bin mir nicht sicher, was Sie gesagt haben, erstellen Sie einfach eine Download-Middleware-Datei und innerhalb von process_request dieser Methode Zugriff auf die URL über request.url und dann entscheiden, ob diese URL kratzen oder ignorieren. PS: process_request wird aufgerufen, bevor eine URL gekratzt wird. – Umair