scrapy_cookie_header 处理

start_urls=['http://login.bioon.com/login']

    

    def parse(self,response):

        #从response.headers中获取cookies信息

        r_headers = response.headers['Set-Cookie']

        cookies_v = r_headers.split(';')[0].split('=')

        

        cookies = {cookies_v[0]:cookies_v[1]}

        

        #模拟请求的头部信息

        headers = {

        'Host': 'login.bioon.com',

        'Referer':'http://login.bioon.com/login',

        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0',

        'X-Requested-With':'XMLHttpRequest' 

        }

        

        #获取验证信息

        csrf_token = response.xpath(

            '//input[@id="csrf_token"]/@value ').extract()[0]

        

        #获得post的目的URL

        login_url = response.xpath(

            '//form[@id="login_form"]/@action ').extract()[0]

        end_login = response.urljoin(login_url)

        

        #生成post的数据

        formdata={

        #请使用自己注册的用户名

        'account':'********',

        'client_id':'usercenter',

        'csrf_token':csrf_token,

        'grant_type':'grant_type',

        'redirect_uri':'http://login.bioon.com/userinfo',

        #请使用自己注册的用户名

        'username':'********',

        #请使用自己用户名的密码

        'password':'xxxxxxx',

        }

        

        #模拟登录请求

        return FormRequest(

        end_login,

        formdata=formdata,

        headers=headers,

        cookies=cookies,

        callback=self.after_login

        )


你可能感兴趣的:(scrapy_cookie_header 处理)