Ошибка кода с учебником Scrapy - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь изучить Scrapy и прохожу базовый учебник. Я использую Anaconda Navigator.Я работаю в среде с установленной scrapy.Я ввел код, но получаю сообщение об ошибке.

Вот код:

import scrapy


class FirstSpider(scrapy.Spider):
    name = "FirstSpider"

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

    def parse(self, response):
        page = response.url.split("/")[-2]
        filename = "quotes-%.html" % page
        with open(filename, "wb") as f:
            f.write(response.body)
        self.log("saved file %s")% filename

Код работает немного.Говорит, что просканировал 0 страниц.Затем отлаживает: консоль Telnet, а затем выдает эту ошибку, "[scrapy.core.engine] ERROR: Error while obtaining start requests."

Затем код запускается еще и выдает еще одну ошибку после "yield scrapy.Requests(utl=url, callback = self.parse)" that says "AttributeError: Module 'scrapy' has no attribute 'Requests'.

Я переписалкод, и искал ответы.Пожалуйста помоги.Спасибо!

1 Ответ

0 голосов
/ 06 июня 2018

У вас есть опечатка здесь:

yield scrapy.Requests(url=url, callback = self.parse)

Это Request, а не Requests.

...