无法从Scrapy中返回的Request获得响应

时间:2015-07-19 19:51:24

标签: python web-scraping web-crawler scrapy scrapy-spider

我只想将url传递给另一个解析器。它没有按照文档中的说明工作,所以我将代码减少到最小,但仍然没有。也试着收益

# -*- coding: utf-8 -*-
import scrapy
import cfscrape
from scrapy.spiders import Spider
import json

rez=[]

class LinkbaseSpider(Spider):

name = "mine"
allowed_domains = ["127.0.0.1"]
start_urls = (
    'file://127.0.0.1/home/link.html',
) 

def parse(self, response):

    request= scrapy.Request("http://www.google.com",callback=self.parse2)
    return request


def parse2(self,response):
    self.logger.info("Visited %s", response.url)
    print("00000000000000000000000")

1 个答案:

答案 0 :(得分:2)

假设您的缩进实际上是正确的,那么int[38][48][26][45][35][14]会根据OffSiteMiddleware过滤您的请求。在这种情况下,allowed_domains不被允许,因为google.com设置为allowed_domains

您可以在实例化["127.0.0.1"]时设置dont_filter=True来解决此问题:

Request

仅供参考,如果您感兴趣,以下是中间件在内部的工作方式:source code