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