python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。
1.首先分析请求,打开4399网站。

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

这里最好勾选perserve log 选项,用来保存请求日志。这时我们来先用我们的账号密码登陆一下,然后查看一下截获的请求
可以很清楚的看到这里有个login,而且这个请求是post请求,下拉查看一下Form data,也就是表单数据

可以很清楚的看到我们的刚才登录发送给服务器的表单数据,更重要的是,除了uername和password之外,所有的数据都是一成不变的,这意味着我们不需要解析网页的源码获得信息,只需要把用户名和密码提交上去就行,下面开始构建我们的代码。
import requests
#模拟登陆4399 成功 一定要灵活运用session()这个好东西
#这是我们要提交的表单
data={
'loginFrom':'uframe',
'postLoginHandler':'default',
'layoutSelfAdapting':'true',
'externalLogin':'qq',
'displayMode':'popup',
'layout':'vertical',
'appId':'www_home',
'mainDivId':'popup_login_div',
'includeFcmInfo':'false',
'userNameLabel':'4399用户名',
'userNameTip':'请输入4399用户名',
'welcomeTip':'欢迎回到4399',
'username':'',
'password':''
}
headers={
'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'
}
url='http://ptlogin.4399.com/ptlogin/login.do?v=1'
session=requests.Session()
res=session.post(url=url,data=data,headers=headers)
res2=session.get(url='http://u.4399.com/user/info',headers=headers) #成功登陆以后,查看我们的用户数据
#这里把我们的请求结果保存到文件
f=open('4399.html','wb')
f.write(res2.content)
f.close()
运行起来,然后查看我们保存的html文件,

模拟登录成功! 这就是我们个人用户信息的源代码。
这个例子主要讲了requests 的post方法,用于post请求,还有很重要的session,用于维持会话,希望这个例子对大家能有所帮助,谢谢,
python爬虫学习,使用requests库来实现模拟登录4399小游戏网站。的更多相关文章
- Python爬虫学习1: Requests模块的使用
Requests函数库是学习Python爬虫必备之一, 能够帮助我们方便地爬取. Requests: 让HTTP服务人类. 本文主要参考了其官方文档. Requests具有完备的中英文文档, 能完全满 ...
- Python爬虫学习三------requests+BeautifulSoup爬取简单网页
第一次第一次用MarkDown来写博客,先试试效果吧! 昨天2018俄罗斯世界杯拉开了大幕,作为一个伪球迷,当然也得为世界杯做出一点贡献啦. 于是今天就编写了一个爬虫程序将腾讯新闻下世界杯专题的相关新 ...
- 芝麻HTTP: Python爬虫利器之Requests库的用法
前言 之前我们用了 urllib 库,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助.入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取.那么这一节来 ...
- python爬虫之一:requests库
目录 安装requtests requests库的连接异常 HTTP协议 HTTP协议对资源的操作 requests库的7个主要方法 request方法 get方法 网络爬虫引发的问题 robots协 ...
- PYTHON 爬虫笔记三:Requests库的基本使用
知识点一:Requests的详解及其基本使用方法 什么是requests库 Requests库是用Python编写的,基于urllib,采用Apache2 Licensed开源协议的HTTP库,相比u ...
- Python爬虫的开始——requests库建立请求
接下来我将会用一段时间来更新python爬虫 网络爬虫大体可以分为三个步骤. 首先建立请求,爬取所需元素: 其次解析爬取信息,剔除无效数据: 最后将爬取信息进行保存: 今天就先来讲讲第一步,请求库re ...
- python爬虫#网络请求requests库
中文文档 http://docs.python-requests.org/zh_CN/latest/user/quickstart.html requests库 虽然Python的标准库中 urlli ...
- 【python爬虫】用requests库模拟登陆人人网
说明:以前是selenium登陆取cookie的方法比较复杂,改用这个 """ 用requests库模拟登陆人人网 """ import r ...
- 网络爬虫入门:你的第一个爬虫项目(requests库)
0.采用requests库 虽然urllib库应用也很广泛,而且作为Python自带的库无需安装,但是大部分的现在python爬虫都应用requests库来处理复杂的http请求.requests库语 ...
随机推荐
- python中threading模块中的Join类
join类是threading中用于堵塞当前主线程的类,其作用是阻止全部的线程继续运行,直到被调用的线程执行完毕或者超时.具体代码如下: import threading,time def doWai ...
- _bzoj2038 [2009国家集训队]小Z的袜子(hose)【莫队】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2038 裸的莫队,注意要先移动右端点再移动左端点. #include <cstdio&g ...
- [GZOI2016] 亚索的量子实验【分块】
第二题 亚索的粒子实验 [问题描述] 亚索是一名伟大的科学家,他最近在做一个粒子的实验,粒子初始有一定的能量,实验过程中倘若第i个粒子被注入k能量,那该粒子就会增加k能量,同时由于辐射作用,第2i,3 ...
- 【洛谷4769】[NOI2018] 冒泡排序(动态规划_组合数学)
题目: 洛谷 4769 博客页面左下角的嘴嘴瓜封神之战中的题目 分析: 一个排列交换次数为 \(\frac{1}{2}\sum_{i=1}^{n}|i-p_i|\) 的充要条件是这个排列不存在长度为 ...
- 算法和数据结构~Sqlserver索引使用的B树
B树相关概念 在B-树中查找给定关键字的方法是,首先把根结点取来,在根结点所包含的关键字K1,…,Kn查找给定的关键字(可用顺序查找或二分查找法),若找到等于给定值的关键字,则查找成功:否则,一定可以 ...
- spark调试环境搭建
到目前为止,基于RDD的spark streamming实时应用和离线应用(主要解析日志)已经写了一些,但是对spark的了解还是很少,所以决心花点精力,对spark做一些比较深入的了解和学习.参照之 ...
- Android开发学习——ButterKnife使用
为了码代码的效率,我们有了ButterKnife;其基本使用如下步骤: 1.在Android Studio的Setting中,下载plugin 2.在整个Project的build.gradle中添加 ...
- Node.js(二)常用的系统模块
http模块 第一章已经介绍了 node.js 的模块都可以传一个回调函数 回调函数支持两个参数 error , data let fs = require('fs'); fs.readFile( ...
- Python学习 Day 3 字符串 编码 list tuple 循环 dict set
字符串和编码 字符 ASCII Unicode UTF-8 A 1000001 00000000 01000001 1000001 中 x 01001110 00101101 11100100 101 ...
- CSS中的趣事之float浮动
浮动float一般跟left或是right: 特性: 1,包裹性:浮动文本类型时,需要指定宽度width,如果不指定,就会折叠到最小宽度: 2,浮动会影响别的元素: 3,子级浮动,会导致父级高度 ...