欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。

程序员文章站 2022-03-25 20:17:38
1.首先分析请求,打开4399网站。 右键检查元素或者F12打开开发者工具。然后找到network选项, 这里最好勾选perserve log 选项,用来保存请求日志。这时我们来先用我们的账号密码登陆一下,然后查看一下截获的请求 可以很清楚的看到这里有个login,而且这个请求是post请求,下拉查 ......

 

1.首先分析请求,打开4399网站。

python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。

右键检查元素或者f12打开开发者工具。然后找到network选项,

python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。

这里最好勾选perserve log 选项,用来保存请求日志。这时我们来先用我们的账号密码登陆一下,然后查看一下截获的请求python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。

可以很清楚的看到这里有个login,而且这个请求是post请求,下拉查看一下form data,也就是表单数据

python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。

可以很清楚的看到我们的刚才登录发送给服务器的表单数据,更重要的是,除了uername和password之外,所有的数据都是一成不变的,这意味着我们不需要解析网页的源码获得信息,只需要把用户名和密码提交上去就行,下面开始构建我们的代码。

 1 import requests
 2 #模拟登陆4399  成功  一定要灵活运用session()这个好东西
 3 #这是我们要提交的表单
 4 data={
 5     'loginfrom':'uframe',
 6     'postloginhandler':'default',
 7     'layoutselfadapting':'true',
 8     'externallogin':'qq',
 9     'displaymode':'popup',
10     'layout':'vertical',
11     'appid':'www_home',
12     'maindivid':'popup_login_div',
13     'includefcminfo':'false',
14     'usernamelabel':'4399用户名',
15     'usernametip':'请输入4399用户名',
16     'welcometip':'欢迎回到4399',
17     'username':'1252452801125',
18     'password':'1252452801'
19 }
20 headers={
21     'user-agent':'mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/74.0.3729.131 safari/537.36'
22 }
23 url='http://ptlogin.4399.com/ptlogin/login.do?v=1'
24 session=requests.session()
25 res=session.post(url=url,data=data,headers=headers) 
26 res2=session.get(url='http://u.4399.com/user/info',headers=headers) #成功登陆以后,查看我们的用户数据
27 #这里把我们的请求结果保存到文件
28 f=open('4399.html','wb')
29 f.write(res2.content)
30 f.close()

 

 运行起来,然后查看我们保存的html文件,

python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。

模拟登录成功! 这就是我们个人用户信息的源代码。

这个例子主要讲了requests 的post方法,用于post请求,还有很重要的session,用于维持会话,希望这个例子对大家能有所帮助,谢谢,

个人qq:1252452801