登陆高清范(http://www.hdpfans.com/)网站并自动签到

import requests
from bs4 import BeautifulSoup

# 定义数据头及URl
headers ={
'Host': 'www.hdpfans.com',
'Connection': 'keep-alive',
'Cache-Control': 'no-cache',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Origin': 'http://www.hdpfans.com',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded',
'Referer': 'http://www.hdpfans.com/member.php?mod=logging&action=login&referer=',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.8'
}
url = 'http://www.hdpfans.com/member.php'

# 访问登陆页面获取登陆请求的formhash及loginhash
session = requests.session()
ans_html = session.get('http://www.hdpfans.com/member.php?mod=logging&action=login&referer=')
soup = BeautifulSoup(ans_html.text,'html.parser')
form_hash = soup.select('input[name="formhash"]')[0].attrs['value']
login_hash = soup.select('[id^="main_messaqge_"]')[0].attrs["id"][14:]

# 根据获取的formhash及loginhash设定发送的数据
data = {
'formhash': form_hash,
'referer': 'http://www.hdpfans.com/./',
# 修改自己的用户名及密码,密码是经过加密处理的,请自己使用浏览器获取加密后的密码
'username': '',
'password': '',
'questionid': '0',
'answer':'',
'cookietime': '2592000'
}
params = {
'mod': 'logging',
'action': 'login',
'loginsubmit': 'yes',
'loginhash': login_hash,
'inajax': '1'
}

# 发送登陆请求
responser = session.post(url,params = params,headers = headers,data = data)

# 打开签到页面获取签到请求formhash
sign_in_res = session.get('http://www.hdpfans.com/qiandao',headers=headers)
soup = BeautifulSoup(sign_in_res.text,'html.parser')
sign_in_form_hash = soup.select('form#scform > input')[0].attrs['value']

# 设置签到请求headers及params数据
sign_in_headers = {
    'Host': 'www.hdpfans.com',
    'Connection': 'keep-alive',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
    'Accept': '*/*',
    'Referer': 'http://www.hdpfans.com/qiandao',
    'Accept-Encoding': 'gzip, deflate, sdch',
    'Accept-Language': 'zh-CN,zh;q=0.8'
}
sign_in_params = {
    'formhash': sign_in_form_hash,
}

# 发送签到请求
sign_in_url = 'http://www.hdpfans.com/plugin.php?id=k_misign:sign&operation=qiandao&from=insign&inajax=1&ajaxtarget=JD_sign'
sign_in_res = session.get(sign_in_url,headers = sign_in_headers,params = sign_in_params)

# print(sign_in_res.text)

你可能感兴趣的:(登陆高清范(http://www.hdpfans.com/)网站并自动签到)