用Python模拟登录网站
前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序。简单说一下流程:先用cookielib获取cookie,再用获取到的cookie,进入需要登录的网站。
01 |
# -*- coding: utf-8 -*- |
13 |
"username":"nowamagic", |
17 |
post_data=urllib.urlencode(data) |
20 |
"Host":"www.nowamagic.net", |
23 |
# 初始化一个CookieJar来处理Cookie |
24 |
cookieJar=cookielib.CookieJar() |
26 |
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar)) |
28 |
req=urllib2.Request(auth_url,post_data,headers) |
29 |
result = opener.open(req) |
31 |
result = opener.open(home_url) |
再附带几个示例程序:
1. 使用已有的cookie访问网站
01 |
import cookielib, urllib2 |
03 |
ckjar = cookielib.MozillaCookieJar(os.path.join('C:\Documents and Settings\tom\Application Data\Mozilla\Firefox\Profiles\h5m61j1i.default','cookies.txt')) |
05 |
req = urllib2.Request(url, postdata, header) |
07 |
req.add_header('User-Agent', \ |
08 |
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)') |
10 |
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(ckjar) ) |
2. 访问网站获得cookie,并把获得的cookie保存在cookie文件中
01 |
import cookielib, urllib2 |
03 |
req = urllib2.Request(url, postdata, header) |
04 |
req.add_header('User-Agent', \ |
05 |
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)') |
07 |
ckjar = cookielib.MozillaCookieJar(filename) |
08 |
ckproc = urllib2.HTTPCookieProcessor(ckjar) |
10 |
opener = urllib2.build_opener(ckproc) |
16 |
ckjar.save(ignore_discard=True, ignore_expires=True) |
3. 使用指定的参数生成cookie,并用这个cookie访问网站
01 |
import cookielib, urllib2 |
03 |
cookiejar = cookielib.CookieJar() |
04 |
urlOpener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar)) |
05 |
values = {'redirect':", 'email':'abc@abc.com', |
06 |
'password':'password', 'rememberme':", 'submit':'OK, Let Me In!'} |
07 |
data = urllib.urlencode(values) |
09 |
request = urllib2.Request(url, data) |
10 |
url = urlOpener.open(request) |
14 |
request = urllib2.Request(url) |
15 |
url = urlOpener.open(request) |
- 忘记秘密利用python模拟登录暴力破解秘密
忘记秘密利用python模拟登录暴力破解秘密: #encoding=utf-8 import itertools import string import requests def gen_pwd_f ...
- [Python] Python 模拟登录,并请求
Python 模拟登录,并请求 # encoding: utf- import requests import socket import time socket.setdefaulttimeout( ...
- 【Python数据分析】Python模拟登录(一) requests.Session应用
最近由于某些原因,需要用到Python模拟登录网站,但是以前对这块并不了解,而且目标网站的登录方法较为复杂, 所以一下卡在这里了,于是我决定从简单的模拟开始,逐渐深入地研究下这块. 注:本文仅为交流学 ...
- Python模拟登录实战(三)
目标:模拟登录知乎 代码如下: #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'ziv·chan' import re impor ...
- Python模拟登录实战(一)
今天,学习了模拟登录新浪微博.模拟登录主要有两种方式,一.利用Cookie:二.模仿浏览器的请求,发送表单. 法一: Cookie:指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密 ...
- Python模拟登录的几种方法
目录 方法一:直接使用已知的cookie访问 方法二:模拟登录后再携带得到的cookie访问 方法三:模拟登录后用session保持登录状态 方法四:使用无头浏览器访问 正文 方法一:直接使用已知的c ...
- Python模拟登录wap版百度贴吧+自己主动回贴
模拟登录的原理都差点儿相同.大致都是这样: 打开首页获取相关cookie: 提交登陆表单(即username与password). 确认是否登录成功. 假设想了解更具体的原理与相关知识,推荐到具体解释 ...
- Python模拟登录实战(二)
目标:1.模拟登录豆瓣,2.自动更改签名和发表说说. 代码如下: #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'ziv·chan ...
- [Python] 模拟登录网站(。。为了之后操作数据。。)
我司的内部管理(Web)系统(日报)着实..(mafan).. 所以,就想自己动手增加一下便利性. 计划是, - 桌面程序 用来方便记录(按自己格式,数据随时保存到sqlite中,备用) 通过一览来确 ...
随机推荐
- 转:【工欲善其事必先利其器】—Entity Framework实例详解
开始本篇文章之前,先说一下Entity Framework 6 Alpha1在NuGet中已可用,原文链接http://blogs.msdn.com/b/adonet/archive/2012/10/ ...
- Dynamics AX Read OLEDB
static System.Data.DataTable getOLEDB_Record(str _dbPath,str _query) { System.Data.OleDb.OleDbConnec ...
- LightOj1203 - Guarding Bananas(凸包求多边形中的最小角)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1203 题意:给你一个点集,求凸包中最小的角:模板题,但是刚开始的时候模板带错了,错的我 ...
- HTML-002-弹出对话框
日常的网页编程中,弹出对话框经常会以各种形式出现,例如:信息提示框.确认框.新增.修改信息等对话框均是其不同的表现形式. 此文以弹出信息新增对话框进行简要演示,经请参阅! 以下为其对应的结构目录: a ...
- Java学习-008-判断文件类型实例
此文源码主要为应用 Java 如何判断文件类型的源码及其测试源码.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-2-2 23:02:00,请知悉. Java 判断文件类型源码如 ...
- JavaScript实现进入某一页面时自动将鼠标光标放在某一textbox上
<script language="javascript" type="text/javascript"> var txtText0 = " ...
- 计算机管理打不开的解决方法,直接cmd修改reg
复制命令即可: reg add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\she ...
- 公众平台调整SSL安全策略,开发者升级的方法
公众平台调整SSL安全策略,请开发者注意升级 近一段时间HTTPS加密协议SSL曝出高危漏洞,可能导致网络中传输的数据被黑客监听,对用户信息.网络账号密码等安全构成威胁.为保证用户信息以及通信安全,微 ...
- Vue.2.0.5-插件
开发插件 插件通常会为Vue添加全局功能.插件的范围没有限制--一般有下面几种: 添加全局方法或者属性,如: vue-element 添加全局资源:指令/过滤器/过渡等,如 vue-touch 通过全 ...
- Silverlight打印注意事项
1.Silverlight的打印功能从版本5开始才支持矢量打印,这不但要求打印机支持矢量打印,而且还要安装相应的打印驱动程序. 测试你的打印机是否支持矢量打印,可以参考:如何用C#代码检测打印机和驱动 ...