通过连接目录页面,爬取到目录中元素的跳转的超链接,
再分别连接到超链接,进行爬取
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版权协议,转载请附上原文出处链接和本声明。