我只想将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")
答案 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。