Scrapy:创建对不在allowed_domains中的站点的请求

时间:2014-01-13 21:01:25

标签: python scrapy

我正在抓一个网站。在某些情况下,我可能想要请求转到allowed_domains中未列出的网站。那可能吗?如果没有,我可以暂时在其中添加域,创建一个请求,然后从我的解析器回调中删除域吗?

1 个答案:

答案 0 :(得分:2)

dont_filter=True对象(documentation)上设置Request

  

dont_filter(boolean) - 表示此请求不应该是   由调度程序过滤。

示例:

from scrapy.spider import BaseSpider
from scrapy.http import Request


class MySpider(BaseSpider):
    name = 'wikipedia'
    allowed_domains = ['en.wikipedia.org']
    start_urls = [
        'http://en.wikipedia.org/wiki/Main_Page',
    ]

    def parse(self, response):
        print "I'm at wikipedia"
        request = Request(url="https://google.com", 
                          callback=self.parse_google, 
                          dont_filter=True)
        yield request

    def parse_google(self, response):
        print "I'm at google"