Python Scrapy:allowed_domains从数据库中添加新域

|| 我需要将更多域添加到allowed_domains中,所以我不会得到“过滤到的异地请求”。 我的应用获取要从数据库中获取的网址,因此无法手动添加它们。 我试图覆盖蜘蛛初始化 像这样
 def __init__(self):
        super( CrawlSpider, self ).__init__()
        self.start_urls = []
        for destination in Phpbb.objects.filter(disable=False):
                self.start_urls.append(destination.forum_link)

            self.allowed_domains.append(destination.link)
start_urls很好,这是我要解决的第一个问题。但allow_domains无效。 我需要更改某些配置以禁用域检查?我不想要这个,因为我只想要数据库中的那个,但是暂时可以帮助我禁用域检查。 谢谢!!     
已邀请:
        
\'allowed_domains\'
参数是可选的。首先,您可以跳过它以禁用域过滤 在
scrapy/contrib/spidermiddleware/offsite.py
中,您可以为自定义域过滤功能覆盖此功能:
def get_host_regex(self, spider):
    \"\"\"Override this method to implement a different offsite policy\"\"\"
    allowed_domains = getattr(spider, \'allowed_domains\', None)
    if not allowed_domains:
        return re.compile(\'\') # allow all by default
    domains = [d.replace(\'.\', r\'\\.\') for d in allowed_domains]
    regex = r\'^(.*\\.)?(%s)$\' % \'|\'.join(domains)
    return re.compile(regex)
    

要回复问题请先登录注册