我在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'}
答案 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工作。虽然不理想