GunnerXiang 2019-02-28 11:42 采纳率: 0%
浏览 536
已结题

关于Pythons爬虫登陆的问题

最近刚开始学习爬虫,想模拟登陆这个网站:www.09game.com遇到了一些问题,登陆页面如下:
图片说明

找到了隐藏域中的token信息,于是想着先get此页面获取token和cookie,再post登陆。找到post的参数:
图片说明

LoginAcount是用户名,password 是密码,还有一个token,另外2个不变。

代码如下:

图片说明

import requests
from bs4 import BeautifulSoup
import warnings
#忽略警告
warnings.filterwarnings("ignore")

url = 'http://users.09game.com/User'
headers = {
    'Host': 'users.09game.com',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0'
}
data = {
    'LoginAccount': '18292911110',
    'Password': 'chenfeng',
    'ReturnUrl': '/User',
    'name': '登录'
}

s = requests.session()
#get请求,获取cookie,token
r = s.get(url=url, headers=headers)
cookies = dict(r.cookies)

soup = BeautifulSoup(r.text)
token = soup.find_all(type="hidden")[1]["value"]
data['__RequestVerificationToken'] = token


#模拟登陆
response = s.post(url=url, headers=headers, cookies=cookies, data=data)
response.encoding = 'utf8'
print(r.text)

但是结果并没有成功登陆,结果还是在登陆页面。

暂时没什么思路了,求大神帮助

  • 写回答

2条回答 默认 最新

  • 什么都没有丶 2019-02-28 14:12
    关注

    楼主,一般很少模拟登录网站的,费时。其实拿到登录之后的cookie放在header头里就行了,效果是一样的

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog