Python 为什么我的草稿只刮第一页而不刮其他页?

Python 为什么我的草稿只刮第一页而不刮其他页?,python,python-3.x,web-scraping,scrapy,Python,Python 3.x,Web Scraping,Scrapy,我试图在网站上搜集一些信息: 但是我找不到一种方法来刮去所有的页面,脚本只是刮去了第一页,我不明白我做错了什么 以下是我目前的脚本: import scrapy from ..items import QuotetutorialItem class QuoteSpider(scrapy.Spider): name = 'quotes' page_number = 2 start_urls = ['http://quotes.toscrape.com/page/1/']

我试图在网站上搜集一些信息:

但是我找不到一种方法来刮去所有的页面,脚本只是刮去了第一页,我不明白我做错了什么

以下是我目前的脚本:

import scrapy

from ..items import QuotetutorialItem

class QuoteSpider(scrapy.Spider):
    name = 'quotes'
    page_number = 2
    start_urls = ['http://quotes.toscrape.com/page/1/']

    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()
            tags = quotes.css('.tag::text').extract()

            items['title'] = title
            items['author'] = author
            items['tags'] = tags

            yield items

        next_page = 'http://quotes.toscrape.com/page/'+ str(QuoteSpider.page_number) + '/'


        if QuoteSpider.page_number < 11:
            QuoteSpider.page_number += 1
            yield response.follow(next_page, callback = self.parse)
import scrapy
从..项导入QuotetutorialItem
类报价器(刮板蜘蛛):
名称='quotes'
页码=2
起始URL=['http://quotes.toscrape.com/page/1/']
def解析(自我,响应):
items=QuotetutorialItem()
all\u div\u quotes=response.css('div.quote'))
对于所有\u div \u引号中的引号:
title=quotes.css('span.text::text').extract()
author=quotes.css('.author::text').extract()
tags=quotes.css('.tag::text').extract()
项目['title']=标题
项目['author']=作者
项目['tags']=标记
收益项目
下一页http://quotes.toscrape.com/page/“+str(引用页码)+”/”
如果QuoteSpider.page_编号<11:
QuoteSpider.page_编号+=1
yield response.follow(下一页,callback=self.parse)
我在终端中键入
scrapy crawl quote
,它只提供第一页上的信息

有什么想法吗


谢谢?

我想你的代码还可以。它提取了10页的所有信息。请加上

items['url'] = response.url

在您的解析函数中。然后重新检查其提取的10页信息是否正确。

在for循环代码块中,对于所有“div”引号中的引号:items['url']=response.url非常感谢,我将尝试一下:)KeyError:'QuotetutorialItem不支持字段:url'在QuotetutorialItem类中定义一个新字段url.items=QuotetutorialItem(url)名称错误:未定义名称“url”,可能是指“开始url”?