我正在运行下面的代码,代码似乎有一些问题。 下面显示的不是我的整个代码,如果有人问我,我会发布剩下的代码:
from threading import Thread
from selenium import webdriver
from scrapy.http import Request
from urlparse import urlparse
from scrapy.spider import BaseSpider
class MySpider(BaseSpider):
name = "scrapy"
def get_url():
url = raw_input('Enter the url of your website (including the http)')
return url
start_url = str(get_url())
def parse(self,response):
return response
def get_depth():
scrapies = MySpider()
response= Request(scrapies.start_url)
return response.meta['depth']
错误发生在return response.meta['depth']
。错误消息没有特定的内容,它只是说key error: depth
,所以我不知道如何解决这个问题。这是否意味着depth
不适合meta
?
感谢..
答案 0 :(得分:1)
您需要使用Yield调用get_depth并传递元值。请参阅下面的示例。
yield Request(url = someurl,callback = self.get_depth,meta = {'key':value},)