scrapy爬取到一个页面得到链接后再爬取该链接的页面

通过连接目录页面,爬取到目录中元素的跳转的超链接,
再分别连接到超链接,进行爬取

def start_requests(self):
        #self.init_urls()
        for url in self.urls:
        	#连接第一个页面进行爬取数据
            yield scrapy.Request(url=url, callback=self.parse) 

    def parse(self, response):
    	#保存第二个页面的网址
        clicks = response.xpath('//td[@class = "main"][8]/a/@href').extract();
  
        for click in clicks:
            click = 'http://www.cwrank.com/main/' + click
            #爬取第二个页面
            yield scrapy.Request(url=click, callback=self.parse_detail)    
        
     #再写一个函数   
    def parse_detail(self, response):
        
        web_name = response.xpath('//tr[1]/td[2]/text()').extract_first()
        web_detail = response.xpath('//tr[3]/td[2]/text()').extract_first()
        web_rank = response.xpath('//div//tr[2]/td[4]/text()').extract_first()

存在的问题是,由于多个网页同时进行爬取,所以顺序是混乱的,另外部分可能链接会连接不到页面。蹲一个大神的解答
在这里插入图片描述


版权声明:本文为weixin_45669496原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。