请参阅 http://doc.scrapy.org/en/latest/topics/downloader-middleware.html?highlight=cookiejar#std:reqmeta-cookiejar的“cookiejar”请求元密钥
澄清:
假设我们在settings.py中有一组帐户:
MY_ACCOUNTS = [ {'login': 'my_login_1','pwd': 'my_pwd_1'},{'login': 'my_login_2','pwd': 'my_pwd_2'},]
这是登录页面的链接:http://example.com/login
在你的蜘蛛中创建start_requestsfunction,在这个函数中我们可以在MY_ACCOUNTS数组上循环并登录到每个帐户:
def start_requests(self): requests = [] for i,account in enumerate(self.crawler.settings['MY_ACCOUNTS']): request = FormRequest('http://example.com/login',formdata={'form_login_name': account['login'],'form_pwd_name': account['pwd']},callback=self.parse,dont_filter=True) request.Meta['cookiejar'] = i requests.append(request) return requests
form_login_name和form_pwd_name分别是登录表单上的字段名称.
dont_filter = True忽略重复请求的过滤器,因为在这里我们发出POST请求以登录同一页面http://example.com/login
request.Meta [‘cookiejar’] =我将每个会话的cookie(登录)分开,不要忘记在你的子请求中添加cookiejar标识符,假设你想在登录后将scrapy重定向到一个页面:
def parse(self,response): """ make some manipulation here ... """ yIEld Request(my_url,Meta={'cookiejar': response.Meta['cookiejar']},callback = my_callback)总结
以上是内存溢出为你收集整理的python – 废弃多个帐户,即多个登录全部内容,希望文章能够帮你解决python – 废弃多个帐户,即多个登录所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)