我的易碎测试代码如下。我通过刮y的外壳对其进行了测试,并且可以正常工作。但是现在,如果我终于开始编写脚本,则不会显示任何输出。有什么不对?谢谢。
到目前为止,我的代码:import scrapy
class CryptohunterSpider(scrapy.Spider):
name = "cryptohunter"
start_urls=["https://www.coingecko.com/de"]
def parse(self, response):
for x in response.xpath('//div[@class="coin-content center"]/a/span/text()'):
print (x.extract())
输出: 抱歉,我无法输入外壳程序,所以我开始了屏幕截图。
所以我不确定这是否是错误。如果应该是错误,如何显示我如何处理?
如何获得完整的数字? 总是四舍五入。 输出:0.07,而不是0.0688852511227967
答案 0 :(得分:1)
Python中的缩进非常重要(more info about indentation)。
不正确的缩进可能导致错误或错误的程序执行。就您而言,parse()
方法不属于您的类。因此,在执行期间,scrapy
尝试在parse()
中找到CryptohunterSpider
方法,并因错误而失败:
raise NotImplementedError('{}.parse callback is not defined'.format(self.__class__.__name__))
您需要正确缩进代码,以便parse()
属于该类
import scrapy
class CryptohunterSpider(scrapy.Spider):
name = "cryptohunter"
start_urls=["https://www.coingecko.com/de"]
def parse(self, response):
for x in response.xpath('//div[@class="coin-content center"]/a/span/text()'):
print ("Extract: ", x.extract())