Scrapy在基本示例中崩溃(不会运行)

时间:2015-07-17 15:43:09

标签: python crash scrapy

我在Windows 7 x64上使用Python 2.7(Anaconda)。我通过pip安装了Scrapy。安装的版本是1.0.1。我试图运行tutorial中的基本示例,即:

import scrapy


class StackOverflowSpider(scrapy.Spider):
    name = 'stackoverflow'
    start_urls = ['http://stackoverflow.com/questions?sort=votes']

    def parse(self, response):
        for href in response.css('.question-summary h3 a::attr(href)'):
            full_url = response.urljoin(href.extract())
            yield scrapy.Request(full_url, callback=self.parse_question)

    def parse_question(self, response):
        yield {
            'title': response.css('h1 a::text').extract()[0],
            'votes': response.css('.question .vote-count-post::text').extract()[0],
            'body': response.css('.question .post-text').extract()[0],
            'tags': response.css('.question .post-tag::text').extract(),
            'link': response.url,
        }

然后在命令行:

scrapy runspider stackoverflow_spider.py -o top-stackoverflow-questions.json

然而,在做任何事情之前Python崩溃了。 Windows报告:

  

python.exe已停止工作

我得到的命令提示符中唯一的输出是:

C:\Anaconda\lib\site-packages\scrapy\commands\deploy.py:16: ScrapyDeprecationWarning: Module `scrapy.command` is deprecated, use`scrapy.commands` instead
  from scrapy.command import ScrapyCommand
2015-07-17 16:39:28 [scrapy] INFO: Scrapy 1.0.1 started (bot: scrapybot)
2015-07-17 16:39:28 [scrapy] INFO: Optional features available: ssl, http11, boto
2015-07-17 16:39:28 [scrapy] INFO: Overridden settings: {'FEED_FORMAT': 'json','FEED_URI': 'top-stackoverflow-questions.json'}

有谁知道如何让Scrapy工作?我安装错误了吗?

根据@Amol回答,我已经使用pip卸载了Scrapy,然后从Python / Anconda包目录中删除了所有文件夹。然后使用pip重新安装。同样的问题仍然存在,但输出崩溃前的第一行已经消失。现在的输出是:

2015-07-17 16:39:28 [scrapy] INFO: Scrapy 1.0.1 started (bot: scrapybot)
2015-07-17 16:39:28 [scrapy] INFO: Optional features available: ssl, http11, boto
2015-07-17 16:39:28 [scrapy] INFO: Overridden settings: {'FEED_FORMAT': 'json','FEED_URI': 'top-stackoverflow-questions.json'}

2 个答案:

答案 0 :(得分:1)

版本1.0.1不应出现

scrapy \ commands \ deploy.py 文件。该文件可能有一些代码依赖于导致python.exe崩溃的一些弃用/移动代码。

快速查看我的机器上存在的虚拟环境中的文件告诉我:
对于scrapy 0.24.4:此文件存在
for scrapy 1.0.1:此文件已被删除

scrapy 1.0.1安装中存在此文件表明安装可能未正确发生。那个,以前版本的文件仍然存在。

您可能想要删除scrapy,删除scrapy目录并重新安装。

答案 1 :(得分:0)

我无法理解。所以非绝缘的Python并重新安装它,现在scrapy工作。虽然不理想