我正在尝试从网站上抓取,但它给我一个错误

时间:2019-04-15 10:53:13

标签: python scrapy

  File "/usr/local/bin/scrapy", line 10, in <module>
    sys.exit(execute())
  File "/usr/local/lib/python2.7/site-packages/scrapy/cmdline.py", line 149, in execute
    cmd.crawler_process = CrawlerProcess(settings)
  File "/usr/local/lib/python2.7/site-packages/scrapy/crawler.py", line 251, in __init__
    super(CrawlerProcess, self).__init__(settings)
  File "/usr/local/lib/python2.7/site-packages/scrapy/crawler.py", line 137, in __init__
    self.spider_loader = _get_spider_loader(settings)
  File "/usr/local/lib/python2.7/site-packages/scrapy/crawler.py", line 338, in _get_spider_loader
    return loader_cls.from_settings(settings.frozencopy())
  File "/usr/local/lib/python2.7/site-packages/scrapy/spiderloader.py", line 61, in from_settings
    return cls(settings)
  File "/usr/local/lib/python2.7/site-packages/scrapy/spiderloader.py", line 25, in __init__
    self._load_all_spiders()
  File "/usr/local/lib/python2.7/site-packages/scrapy/spiderloader.py", line 47, in _load_all_spiders
    for module in walk_modules(name):
  File "/usr/local/lib/python2.7/site-packages/scrapy/utils/misc.py", line 71, in walk_modules
    submod = import_module(fullpath)
  File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/sid/scrapytutorial/quotetutorial/quotetutorial/spiders/quotes_spider.py", line 28, in <module>
    cd
NameError: name 'cd' is not defined

我无法弄清楚为什么会出现此错误。这与文件结构有关还是这种内部错误?我需要制作一个其他文件夹然后重试吗?

这是我到目前为止所做的:

quotes_spider.py文件

import scrapy
from ..items import QuotetutorialItem

class QuoteScrapy(scrapy.Spider):
    name = 'quotes'
    start_urls = [
        'http://quotes.toscrape.com/'
    ]

    def parse(self, response):

        items = QuotetutorialItem()

        all_div_quotes = response.css('div.quote')

        for quotes in all_div_quotes:
            title = quotes.css('span.text::text').extract()
            author = quotes.css('.author::text').extract()
            tag = quotes.css('.tag::text').extract()

            items['title'] = title
            items['author'] = author
            items['tag'] = tag

        yield items

items.py

import scrapy

class QuotetutorialItem(scrapy.Item):

    title = scrapy.Field()
    author = scrapy.Field()
    tag = scrapy.Field()

请仔细检查一下,然后告诉我我做错了什么

0 个答案:

没有答案