Я пытаюсь воспроизвести код этого разговора:SCRAPY паук не найден
https://www.youtube.com/watch?v=eD8XVXLlUTE
Когда я пытаюсь запустить паук:
scrapy crawl talkspider_basic
Я получил эту ошибку:
raise KeyError("Spider not found: {}".format(spider_name))
KeyError: 'Spider not found: talkspider_basic'
Код паука:
from scrapy.spiders import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.contrib.loader import XPathItemLoader
from pytexas.items import PytexasItem
class TalkspiderBasicSpider(BaseSpider):
name = "talkspider_basic"
allowed_domains = ["www.pytexas.org"]
start_urls = ['http://wwww.pytexas.org/2013/schedule']
def parse(self, response):
hxs = HtmlXPathSelector(response)
dls = hcs.select('///dl')
for dl in dls:
times = dl.select('dt/text()').extract()
titles = dl.select('dd/a/text()').extract()
for time, title in zip(times,titles):
title = title.strip()
yield PytexasItem(title=title,time= time)
код из пунктов:
from scrapy.item import Item, Field
class PytexasItem(Item):
title = Field()
time = Field()
speaker = Field()
description = Field()
Название проекта и файла паука являются
pytexas
и
talk_spider_basic.py
соответственно, так что я не Думаю, что из-за имен есть какой-то конфликт.
Edit:
Он имеет структуру по умолчанию:
pytexas/
scrapy.cfg
pytexas/
items.py
pipelines.py
settings.py
spiders/
__init__.py
talk_spider_basic.py
Не могли бы вы разместить свою структуру проекта? Благодарю. – alecxe
'BaseSpider' устарел, просто используйте' Spider' ... сколько лет этому учебнику? –
@NickT это с 2013 года –