- 策略一:直接POST数据
- 策略二:使用各种工具抓取登陆接口以及所需要的POST数据
- 策略三:直接使用保存登陆状态的Cookie模拟登陆
策略一:直接POST数据(比如需要登陆的账户信息)
只要是需要提供post数据的,就可以用这种方法。下面示例里post的数据是账户密码:
我们来模拟登陆一下笔趣阁,这网站基本都没有什么反爬虫措施,一看就很好爬(嘻嘻)。
我特地注册了一个账号,来模拟登陆。
账号密码a_hui_tai_lang
直接F12
可以看到直接发送POST请求到http://www.biquge.com.tw/login.php?do=submit&action=login&usecookie=1&jumpurl=即可登陆成功,获取cookie
#coding=utf-8
import requests
def main():
# 请求头
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
}
# 笔趣阁的登录请求接口
url='http://www.biquge.com.tw/login.php?do=submit&action=login&usecookie=1&jumpurl='
# 需求用的的请求数据
data = {
'username': 'a_hui_tai_lang', 'password': 'a_hui_tai_lang'}
session=requests.session()
response = session.post(url, data=data, headers=headers,verify=False)
# 查看一下是否成功登录
print response.content.decode('gbk')
# cookies里面已经有登陆信息了
print session.cookies
if __name__ == '__main__':
main()