官网上说支持模拟登录,在中间件中
接下来实现模拟登录
蜘蛛文件如下:
#第二个蜘蛛,模拟用户名密码登录 class LoginSpider(scrapy.Spider): name = "testlogin" start_urls=["http://www.kgc.cn/member/login"] def parse(self, response): return scrapy.FormRequest.from_response( response, formdata={'KgcForm_models_LoginForm[identity]':'15210749058' ,'KgcForm_models_LoginForm[password]':'13630355136asd'}, callback=self.after_login ) #不成功回的 def after_login(self,response): #找到报错时显示错误信息的标签 txt=response.css('div.errorMessage::text').extract_first() if txt is None: #txt=response.css('div.common-head.fix::text').extract_first() #print(txt) #登录成功后看所学的所有课程 #http://www.kgc.cn/my/jobOE.shtml这个页面是就业课的连接 yield response.follow("http://www.kgc.cn/my/jobOE.shtml",self.listke) else: print(txt) def listke(self,response): titles = response.css('a.courseTitle.f16.black::text').extract() for i in titles: print(i)