python模拟登陆实战(1)
来源:互联网 发布:手机模拟器连发软件 编辑:程序博客网 时间:2024/06/14 05:15
今天看到了这个博客:点击打开链接,也尝试着如博客中一样,登陆V2EX。
由于网站版本迭代了,需要做修改。
先进入
https://www.v2ex.com/signin
在chrome中按F12打开开发者工具,然后登陆该网站,此时在Network中左边的Name中找到signin,然后在Headers中找到From Data,如下:我们需要post的数据是Form Data中的那一长串,而非是原博主的那样,key是固定的叫做User和pwd,所以这两个长串也是我们需要匹配出来的,这两个长串是在登陆页面中的html中,以及once的值。
这里通过正则表达式匹配出来,然后post就ok了。
代码如下:
import reimport requestsUA = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' \ 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36'url = 'https://www.v2ex.com/signin'header = { 'User-Agent': UA, 'Referer': url}s = requests.session()content = s.get(url=url, headers=header).content.decode('utf-8')# print(content)p1 = r'<input type="text" class="sl" name="(.*?)"'p2 = r'<input type="password" class="sl" name="(.*?)"'p3 = r"location.href = '/auth/google\?once=([0-9]+)';"user = re.findall(pattern=p1, string=content, flags=re.S)[0]pwd = re.findall(pattern=p2, string=content, flags=re.S)[0]once = re.findall(pattern=p3, string=content, flags=re.S)[0]print(user)print(pwd)print(once)data = { user: '填你的账户', pwd: '填你的密码', 'once': once, 'next': '/'}# print(data[user])# print(data[pwd])# print(data['once'])s.post(url=url, data=data, headers=header)url = 'http://www.v2ex.com/settings'content = s.get(url=url, headers=header).content.decode('utf-8')print(content)
0 0
- python模拟登陆实战(1)
- 《python爬虫实战》:模拟登陆
- Python:模拟登陆与HTTP协议(1)
- 网站模拟登陆备忘(php + python)
- Python爬虫技术(一)--模拟登陆
- 普通python模拟登陆
- python模拟登陆
- python模拟登陆
- python模拟登陆杂记
- python模拟登陆网站
- Python模拟登陆v2ex
- Python模拟登陆
- python字典模拟登陆
- python爬虫 模拟登陆
- Python模拟登陆(urllib2)
- python模拟登陆
- python 模拟登陆leetcode
- Python模拟登陆
- 令人振奋的Class(下):继承和实战代码示例
- 亚像素级点定位及边缘定位算法
- P1220 关路灯
- 《posix多线程编程》笔记(一)
- 无线路由连接(不用连接WAN照样可以上网)
- python模拟登陆实战(1)
- Codeforces Round #394 (Div. 2)-E. Dasha and Puzzle(dfs)
- sed -i 的使用陷阱
- 菜鸟总结----java 异常
- UVA-10954 贪心+优先队列
- [提高]ES2015中最惊艳特性之生成器函数初步
- C++ 时间戳转本地时间 函数
- 操作系统与网络实现 之二十一
- 【寒假任务】 洛谷1181 数列分段section I