您的位置:首页 > 产品设计 > UI/UE

Scrapy爬虫框架学习之使用start_requests函数实现用户登录

2018-01-30 20:35 651 查看

本篇记录下使用starts_requests函数来实现用户登录的小知识

1.通过账号密码登录

import scrapy
class StudentSpider(scrapy.Spider):
name = 'student'
allowed_domains = ['kaoshi.zhiyou900.com']
# start_urls = ['http://kaoshi.zhiyou900.com:8888/edustu/login/login.spr']
# 通过重写strat_requests方法,实现用户登录
# 爬虫启动时,会首先执行start_requests函数的调用,执行成功之后,再去执行parse()函数进行解析。
# start_urls=[]这个列表可要可不要。
def start_requests(self):
yield scrapy.FormRequest(
#测试网址
url='http://kaoshi.zhiyou900.com:8888/edustu/login/login.spr',
formdata={
'j_username': '账号',
'j_password': '密码'
},
# callback如果默认没有填写值,scrapy将自动回调parse()
callback=self.parse,
)
def parse(self, response):
print response.body


2.通过携带cookie登录

import scrapy
class StudentSpider(scrapy.Spider):
name = 'student'
allowed_domains = ['kaoshi.zhiyou900.com']

def start_requests(self):
# 通过在请求中设置登录之后的cookie,实现免登录
yield scrapy.FormRequest(
#访问登录之后的页面
url='http://kaoshi.zhiyou900.com:8888/edustu/me/edu/meda.spr',
cookies={
'sid': 'xxxxxx',
'JSESSIONID': 'xxxxxx',
},
headers={
'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0",
'HOST': 'kaoshi.zhiyou900.com:8888',
'Referer': 'http://kaoshi.zhiyou900.com:8888/edustu/login/login.spr',
},
callback=self.parse
)

def parse(self, response):
print response.body


注:错误之处,还望指正!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐