Python requests模拟登陆(包含验证码)的网站
一、爬虫思路
- 爬虫就是把用户能在网页看到的数据,以代码的形式抓取到文档里面,其实爬虫最主要的就是分析网站,想要得到网站的数据需要具备什么条件,说白了就是代码层操作的步骤得和用户在网页所操作的流程一模一样就ok了。
二、requests模拟登陆
import requests
import json
#请求headers 模拟谷歌浏览器访问
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
}
def login():
#获取验证码(要将验证码的地址存到本地,然后手动输入)
codeImgUrl = ''#验证码地址
response = requests.get(codeImgUrl,headers=headers)
codeImg = response.content #二进制方式
#保存本地文件中
fn = open('./code.png','wb')
fn.write(codeImg)
fn.close()
#请求报文
data={
'username': 'admin',
'password': '123',
'verifyCode': input('请输入验证码'),#这里就需要手动输入验证码
}
login_url='' #登录地址
response = requests.post(url,data=data,headers=headers)
#json转换字典
result = json.loads(response.text)
if result['status']== false:
print('登录失败')
else:
print('登录成功')
login()