前面我们实现了douban的操作,下面是一个类似的案例,人人网数据爬取:
爬虫文件:
1 import scrapy 2 from Renren.items import RenrenItem 3 4 5 class DanRenrenSpider(scrapy.Spider): 6 name = 'dan_renren' 7 allowed_domains = ['renren.com'] 8 data = { 9 'email': '**************', 10 'password': '********************', 11 } 12 13 def start_requests(self): 14 urls = 'http://www.renren.com/Plogin.do' 15 yield scrapy.FormRequest( 16 url=urls, 17 formdata=self.data, 18 callback=self.detail 19 ) 20 21 def detail(self, response): 22 item = RenrenItem() 23 print('=========================<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=====================') 24 print(response.body) 25 print(response.rul) 26 name = response.xpath('//*[@id="recommendFriBox"]/div[2]/ul/li/p/a[1]/text()').extract() 27 for i in name: 28 item['usr_name'] = i 29 yield item
这里的代码好像可以取到数据,实际上很难,这里人人网会验证验证码的对错,由于此网站对于触发验证码识别
是一个大概率事件,所以写验证码识别是非常必要的。具体方法这里不介绍了,可以根据网站自行处理,作者一般是
使用打码平台,如果是拖拽验证码,也可以自己写,在其他文章里已经实现了滑动验证码的识别。