scrapy 获取到下一页的链接了,怎么回调给获取文章链接的函数呢?

    def FundIndex_parse(self, response):
        '''
        获取 fund.123.com.cn 导航中的栏目链接
        @ColumnUrls 为导航中栏目的相对地址
        @ColumnUrl 为拼接后的栏目链接
        :param response:
        :return:
        '''
        ColumnUrls = response.css('.nav-bar.nav-main ul li a::attr(href)').extract() #栏目列表
        for ColumnUrl in ColumnUrls:
            ColumnUrl = 'http://fund.123.com.cn' + ColumnUrl #栏目链接
            yield Request(url = ColumnUrl,callback=self.FundList_parse)
        ColumnNextUrl = response.css('.stock-list.mt25 .list-content ul li a::attr(href)').extract() #获取下一页链接
        time.sleep(3)
        if ColumnNextUrl:
            print(ColumnNextUrl)
            yield Request(url=ColumnNextUrl,callback=self.FundList_parse)

    def FundList_parse(self,response):
        '''
        获取 fund.123.com.cn 各栏目列表页的文章链接
        @ListUrls 为文章页链接(列表类型)
        :param response:
        :return:
        '''
        ListUrls = response.css('.list-content ul li h6 a::attr(href)').extract()
        for ListUrl in ListUrls:
            ListUrl = 'http://fund.123.com.cn' + ListUrl
            yield Request(url=ListUrl,callback=self.FundContent_parse)            

设想:ColumnUrl 是拼接好的列表链接,然后把栏目链接回调给FundList_parse处理(FundList_parse是把列表页中的文章链接提取出来),接下来ColumnNextUrl是获取到下一页的链接,接着判断,如果ColumnNextUrl存在,把ColumnNextUrl回调自身,把列表页的文章连接提取出来。
实际:事实上获取到的下一页链接并没有回调给自身处理,请问这是什么原因?

阅读 1.5k
1 个回答

FundList_parse的代码呢,只看到了FundIndex_parse

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题