搜狗站长工具【post请求模拟登录】代码分享总结【批量提交搜狗收录网址】

【核心要素】代码总结:模拟登录最核心的一点就是这里必须使用同一个Session 会话的请求来登录【获取验证码和登录必须是同一个Sesson实例】,不然模拟登录会无法成功!

 

第一步:创建一个Session实例对象【s = requests.Session()】

第二步:请求验证码图片识别验证码【使用s这个Session实例-s.get请求图片验证码识别】

第三部:继续使用s这个Session实例请求模拟登录,这样肯定就没问题了

总结:所有的模拟登录图片验证码验证的都必须使用同一个Session实例请求!

 

import requests
import re
import random
from io import BytesIO
from PIL import Image

url = 'http://zhanzhang.sogou.com/index.php'

headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36"
}

s = requests.Session()

response = s.get(url, headers=headers)

verify = re.findall("js_vcode_img\"\ssrc=\"(.*?)\"", response.text)[0]

# verify_url = 'http://zhanzhang.sogou.com' + verify + "?tag=" + str(random.random())

verify_url = "http://zhanzhang.sogou.com/index.php/uc/vcode"

print(verify_url)

verify_response = s.get(verify_url, headers=headers)

im = Image.open(BytesIO(verify_response.content))

im.show()

result = input("请输入验证码:\n")

data = {
    "loginForm[username]": "账户",
    "loginForm[password]": "密码",
    "loginForm[vcode]": result
}

login_url = 'http://zhanzhang.sogou.com/index.php/login'

r = s.post(login_url, json=headers, data=data)

print(r.text)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值