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…\
?