Scrapy crawler是什么告诉我这个输出?

时间:2018-09-17 07:41:03

标签: python scrapy web-crawler

我的易碎测试代码如下。我通过刮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())

输出: enter image description here 抱歉,我无法输入外壳程序,所以我开始了屏幕截图。

所以我不确定这是否是错误。如果应该是错误,如何显示我如何处理?

enter image description here 如何获得完整的数字? 总是四舍五入。 输出:0.07,而不是0.0688852511227967

enter image description here

1 个答案:

答案 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())