Я использую Scrapy для сканирования http://www.investopedia.com.
У меня есть определение фильтра сканирования в моем файле "Spider.py":
rules = (
# Crawl filters
Rule(SgmlLinkExtractor(deny=settings['DENY_FILTER']), callback='parse_item', follow=True, process_links='process_links'),
)
settings ['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. Есть идеи?