Мой паук-скрап сканирует форумы, но я не хочу этого.
Правила находятся в файле json:
"rules": [
{
"allow": ["\\/topic\/.*"],
"follow": true
},
{
"allow": ["\\/tr\\/article\\/.*.html"],
"follow": false,
"use_content": true
},
{
"deny": ["\/forum\/.*"],
"follow": false
},
Мой паук загружает файл jsonи разбор правил.Работа allow и use_content, мое правило форума, похоже, игнорируется.
# add all rules from JSON file in a for loop:
deny_r = ()
if "deny" in rule.keys():
deny_r = [d for d in rule["deny"]]
Genspider.rules.append(Rule(
LinkExtractor(
allow=allow_r,
deny=deny_r,
restrict_xpaths=restrict_xpaths_r,
),
follow=rule["follow"],
callback='parse_item' if ("use_content" in rule.keys()) else None
))
Их довольно много:
2018-12-31 07:45:30 [scrapy.core.engine] ОТЛАДКА: Crawled (200) https://www.example.com/forum/online/News-...
Я полагаю, мое регулярное выражение неправильно для избегания / forum / urls?(пробовал несколько ["\/forum/.*"], [".*forum.*"], ["\/forum.*"]
, но, похоже, это всегда одна и та же проблема - похоже, что другие команды deny / follow false работают)