Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 遵循scrapy教程的第一步时出错_Python 3.x_Scrapy - Fatal编程技术网

Python 3.x 遵循scrapy教程的第一步时出错

Python 3.x 遵循scrapy教程的第一步时出错,python-3.x,scrapy,Python 3.x,Scrapy,。在编写第一个爬行器之后,它指示我使用命令scrapy crawl quotes,但我似乎得到了一个错误 这是我的密码: import scrapy class QuotesSpider(scrapy.Spider): name = "quotes" def start_requests(self): urls = [ 'http://quotes.toscrape.com/page/1/', 'http://

。在编写第一个爬行器之后,它指示我使用命令
scrapy crawl quotes
,但我似乎得到了一个错误

这是我的密码:

import scrapy


class QuotesSpider(scrapy.Spider):
    name = "quotes"

    def start_requests(self):
        urls = [
            'http://quotes.toscrape.com/page/1/',
            'http://quotes.toscrape.com/page/2/',
        ]
        for url in urls:
            yield scrapy.Request(url=url, callback=self.parse)

    def parse(self, response):
        page = response.url.split("/")[-2]
        filename = 'quotes-%s.html' % page
        with open(filename, 'wb') as f:
            f.write(response.body)
        self.log('Saved file %s' % filename)
以下是我遇到的错误:

 PS C:\Users\BB\desktop\scrapy\tutorial\spiders> scrapy crawl quotes

 2018-09-12 13:55:06 [scrapy.utils.log] INFO: Scrapy 1.5.0 started
 (bot: tutorial)

 2018-09-12 13:55:06 [scrapy.utils.log] INFO: Versions: lxml 4.2.1.0,
 libxml2 2.9.8, cssselect 1.0.3, parsel 1.4.0, w3lib 1.19.0, Twisted
 17.5.0, Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)], pyOpenSSL 18.0.0 (OpenSSL 1.0.2o 27 Mar
 2018), cryptography 2.2.2, Platform Windows-10-10.0.17134-SP0

 Traceback (most recent call last):

 File "C:\Users\BB\Anaconda3\lib\site-packages\scrapy\spiderloader.py",
 line 69, in load

 return self._spiders[spider_name]

 KeyError: 'quotes'


 During handling of the above exception, another exception occurred:


 Traceback (most recent call last):

 File "C:\Users\BB\Anaconda3\Scripts\scrapy-script.py", line 5, in
 <module>

 sys.exit(scrapy.cmdline.execute())

 File "C:\Users\BB\Anaconda3\lib\site-packages\scrapy\cmdline.py", line
 150, in execute

 _run_print_help(parser, _run_command, cmd, args, opts)

 File "C:\Users\BB\Anaconda3\lib\site-packages\scrapy\cmdline.py", line
 90, in _run_print_help

 func(*a, **kw)

 File "C:\Users\BB\Anaconda3\lib\site-packages\scrapy\cmdline.py", line
 157, in _run_command

 cmd.run(args, opts)

 File
 "C:\Users\BB\Anaconda3\lib\site-packages\scrapy\commands\crawl.py",
 line 57, in run

 self.crawler_process.crawl(spname, **opts.spargs)

 File "C:\Users\BB\Anaconda3\lib\site-packages\scrapy\crawler.py", line
 170, in crawl

 crawler = self.create_crawler(crawler_or_spidercls)

 File "C:\Users\BB\Anaconda3\lib\site-packages\scrapy\crawler.py", line
 198, in create_crawler

 return self._create_crawler(crawler_or_spidercls)

 File "C:\Users\BB\Anaconda3\lib\site-packages\scrapy\crawler.py", line
 202, in _create_crawler

 spidercls = self.spider_loader.load(spidercls)

 File "C:\Users\BB\Anaconda3\lib\site-packages\scrapy\spiderloader.py",
 line 71, in load

 raise KeyError("Spider not found: {}".format(spider_name))

 KeyError: 'Spider not found: quotes'
PS C:\Users\BB\desktop\scrapy\tutorial\spider>scrapy crawl quotes
2018-09-12 13:55:06[scrapy.utils.log]信息:scrapy 1.5.0已启动
(机器人:教程)
2018-09-12 13:55:06[scrapy.utils.log]信息:版本:lxml 4.2.1.0,
libxml2.9.8、cssselect 1.0.3、parsel 1.4.0、w3lib 1.19.0、Twisted
17.5.0,Python 3.6.5 | Anaconda,Inc.|(默认,2018年3月29日,13:32:41)[MSC v.1900 64位(AMD64)],pyOpenSSL 18.0.0(OpenSSL 1.0.2,2007年3月27日
2018),加密技术2.2.2,平台Windows-10-10.0.17134-SP0
回溯(最近一次呼叫最后一次):
文件“C:\Users\BB\Anaconda3\lib\site packages\scrapy\spiderloader.py”,
第69行,已加载
返回自我。\u蜘蛛[蜘蛛名称]
KeyError:“引号”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\BB\Anaconda3\Scripts\scrapy script.py”,第5行,在
sys.exit(scrapy.cmdline.execute())
文件“C:\Users\BB\Anaconda3\lib\site packages\scrapy\cmdline.py”,第行
150,执行中
_运行\u打印\u帮助(解析器、\u运行\u命令、cmd、args、opts)
文件“C:\Users\BB\Anaconda3\lib\site packages\scrapy\cmdline.py”,第行
90,在运行打印帮助中
func(*a,**千瓦)
文件“C:\Users\BB\Anaconda3\lib\site packages\scrapy\cmdline.py”,第行
157,in_run_命令
cmd.run(参数、选项)
文件
“C:\Users\BB\Anaconda3\lib\site packages\scrapy\commands\crawl.py”,
第57行,运行中
self.crawler\u process.crawl(spname,**opts.spargs)
文件“C:\Users\BB\Anaconda3\lib\site packages\scrapy\crawler.py”,第行
170,在爬行中
爬虫=自我。创建爬虫(爬虫或蜘蛛)
文件“C:\Users\BB\Anaconda3\lib\site packages\scrapy\crawler.py”,第行
198,在create_crawler中
返回自我。创建爬虫程序(爬虫程序或蜘蛛程序)
文件“C:\Users\BB\Anaconda3\lib\site packages\scrapy\crawler.py”,第行
202,在_创建_爬虫
spidercls=self.spider_loader.load(spidercls)
文件“C:\Users\BB\Anaconda3\lib\site packages\scrapy\spiderloader.py”,
第71行,已加载
raise KeyError(“未找到蜘蛛网:{}”。格式(蜘蛛网名称))
KeyError:“未找到蜘蛛:引号”

好的,我已经创建了一个名为spider的文件夹,但是教程已经为我做了这件事,并且有一个_pycache_是吗?“scrapy crawl quotes”命令运行所需的文件。简言之,我从错误的文件夹运行它。

这个链接对我来说似乎已经死了。如果你想得到任何有意义的答案,你必须显示相关的代码。很抱歉,这是正确的链接,它只是附加了一些东西。你必须把代码放在这里,而不仅仅是一个链接。@Xan Kun Clark Davis抱歉,这里是新的。谢谢我编辑了这篇文章并包含了代码。你需要使用
crawl
命令,从
scrapy.cfg
文件的文件夹中读取。我不确定,但您可能需要先
cd…\