使用scrapy框架爬取数据,前面爬取正常,最后一直爬取最后一页的数据,爬虫不停止

使用的是pycharm,爬虫

import scrapy
from zuowen.items import ZuowenItem

class ZuoweneSpider(scrapy.Spider):
    name = 'zuowene'
    allowed_domains = ['https://www.zuowen.com']
    start_urls = ['https://www.zuowen.com/xiaoxue/ernianji/']

    def parse(self, response):
        #写人作文网址获取
        xieren = response.xpath("//div[@class='tczw_c']/div[1]/div[1]/ul/li[1]/a/@href").extract_first()
        yield scrapy.Request(url=xieren,
                             callback=self.parse_url,
                             dont_filter=True)

    #处理网址
    def parse_url(self, response):
        tr_list = response.xpath("//div[@class='artlist_l']/div")[1:-1]
        for tr in tr_list:
            item = ZuowenItem()
            item["title"] = tr.xpath("./div[1]/a/text()").extract_first()
            item["url"] = tr.xpath("./div[2]/a/@href").extract_first()
            item["category"] = tr.xpath("//div[@class='artlist_l_t']/h1/a/text()").extract_first()

            yield scrapy.Request(
                item["url"],
                callback=self.parse_detail,
                meta={"item": item},
                dont_filter=True
            )

            #翻页
            next_ur1 = response.xpath("//div[@class='artpage']/a[text()='下一页']/@href").extract_first()
            if next_ur1 is not None:
                yield scrapy.Request(next_ur1,
                                     callback=self.parse_url,
                                     dont_filter=True
                                     )


    # 处理详情,抓取作文内容
    def parse_detail(self, response):
        item = response.meta["item"]
        item["content"] = response.xpath("//div[@class='con_content']//text()").extract()
        yield item

items

import scrapy


class ZuowenItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    #标题
    title=scrapy.Field()

    #网址
    url=scrapy.Field()

    #作文内容
    content=scrapy.Field()

    #分类
    category=scrapy.Field()

剩下没有设置

已经试过将dont_filter=True改为Flase,但玩之后连内容都没有了

调试一下,看看爬出来的内容是不是相同的。

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y