Я использую Scrapy для обхода http://www.investopedia.com.Python - Scrapy SgmlLinkExtractor Deny Value Is Is Ignored
У меня есть определение фильтра ползать в моем файле «Spider.py»:
rules = (
# Crawl filters
Rule(SgmlLinkExtractor(deny=settings['DENY_FILTER']), callback='parse_item', follow=True, process_links='process_links'),
)
настройки [ «DENY_FILTER»] не тянет из файла «settings.py» и как бы я ни отформатировать его, искатель не будет фильтровать (или «отрицать») то, о чем я прошу. Запрещающие следующие значения:
DENY_FILTER = (re.compile('((?!(\?|&)page=(\d)+)\?.*)', re.I), re.compile('/markets/stocks/', re.I), re.compile('/errorpage/', re.I))
Я также попытался использовать неоткомпилированную версию Regex но безрезультатно:
DENY_FILTER = ('((?!(\?|&)(p|P)age=(\d)+)\?.*)', '/markets/stocks/', '/(e|E)rror(p|P)age/')
Я искал в Интернете в течение нескольких дней и не придумал нет ответы, поэтому теперь я обращаюсь к вам в StackOverflow. Есть идеи?