spider---手动验证码的登录操作

版权声明:个人原创,所属@jerry 本人 https://blog.csdn.net/qq_42938842/article/details/83625818
import requests
from bs4 import BeautifulSoup

# 要使用会话。
s = requests.Session()
url = 'https://so.gushiwen.org/user/login.aspx?from=http://www.gushiwen.org/default.aspx'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36'
}

r = s.get(url=url, headers=headers)
soup = BeautifulSoup(r.text, 'lxml')
# 验证码属性
image_src = 'https://so.gushiwen.org' + soup.select('#imgCode')[0]['src']
r_image = s.get(url=image_src, headers=headers)
with open('code.png', 'wb') as fp:
    fp.write(r_image.content)

# 发送post请求

# 获取表单框里数据
views = soup.select('#__VIEWSTATE')[0]['value']
viewg = soup.select('#__VIEWSTATEGENERATOR')[0]['value']
# 让用户输入验证码
code = input('请输入验证码--')
user_email = input('请输入验证码--')
user_password = input('请输入验证码--')
post_url = 'https://so.gushiwen.org/user/login.aspx?from=http%3a%2f%2fso.gushiwen.org%2fuser%2fcollect.aspx'
from_data = {
    "__VIEWSTATE": views,
    "__VIEWSTATEGENERATOR": viewg,
    "from": "http://www.gushiwen.org/default.aspx",
    "email": user_email,
    "pwd": user_password,
    "code": code,
    "denglu": "登录",
}

r_post = s.post(url=post_url, headers=headers, data=from_data)
print(r_post.text)

猜你喜欢

转载自blog.csdn.net/qq_42938842/article/details/83625818