python访问需要登录的网页
来源:互联网 发布:labview多线程编程 编辑:程序博客网 时间:2024/05/21 06:44
有些网页需要你登录之后才可以访问,你需要提供账户和密码。 只要在发送http请求时,带上含有正常登陆的cookie就可以了。 1.首先我们要先了解cookie的工作原理。 Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。 2.之后我们要获取到用户正常登录的cookie. python提供了cookieJar的库,只要把cookieJar的实例作为参数传到urllib2的一个opener里面。 然后访问一次登录的页面,cookie就已经保存下来了。之后通过这个实例访问所有的页面都带有正常登陆的cookie了。
Python代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#encoding=utf-8
import
urllib2
import
urllib
import
cookielib
def
renrenBrower(url,user,password):
#登陆页面,可以通过抓包工具分析获得,如fiddler,wireshark
login_page
=
"http://www.renren.com/PLogin.do"
try
:
#获得一个cookieJar实例
cj
=
cookielib.CookieJar()
#cookieJar作为参数,获得一个opener的实例
opener
=
urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#伪装成一个正常的浏览器,避免有些web服务器拒绝访问。
opener.addheaders
=
[(
'User-agent'
,
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'
)]
#生成Post数据,含有登陆用户名密码。
data
=
urllib.urlencode({
"email"
:user,
"password"
:password})
#以post的方法访问登陆页面,访问之后cookieJar会自定保存cookie
opener.
open
(login_page,data)
#以带cookie的方式访问页面
op
=
opener.
open
(url)
#读取页面源码
data
=
op.read()
return
data
except
Exception,e:
print
str
(e)
#访问某用户的个人主页,其实这已经实现了人人网的签到功能。
print
renrenBrower(
"http://www.renren.com/home"
,
"用户名"
,
"密码"
)
- python访问需要登录的网页
- Python 访问需要登录验证的接口
- 编写Python程序访问需要cookie的网页
- 使用httpclient下载需要登录的网页
- Jsoup访问需要登录的页面
- python通过本地保存的cookie文件实现登录并访问相关网页
- SSH2登陆拦截配置(若登陆,则跳转到用户需要访问的网页,若没登录,直接跳转到登录页面)
- python登录网页的两种方式
- python 实现登录网页的操作
- python 实现登录网页的操作
- 抓取需要登录的网页的处理方式
- 使用httpclient下载需要登录的网页续
- 获取需要登录的网页信息,session保持方法
- jsoup爬取需要登录的网页(个人备份)
- 要执行请求的操作,WordPress 需要访问您网页服务器的权限。 请输入您的 FTP 登录XXXX完美解决方法
- 【centos安装wordpress】要执行请求的操作,WordPress 需要访问您网页服务器的权限。 请输入您的 FTP 登录XXXX”完美解决方法
- 使用HttpWebRequest访问需要登录的网站-另一种途径
- Java编程通过session访问需要登录的页面
- javaScript.DOM. 编程艺术第二版
- POJ-3278-Catch That Cow
- Linux下C语言调试
- Tomcat正常启动,访问所有页面均报404异常,404异常总结
- 希尔排序
- python访问需要登录的网页
- JavaScript简单的页面注册
- linux下USB DNW功能实现
- 迄今见过的最好的职业规划文章
- Gnuplot 科学绘图软件脚本使用教程介绍
- VAssistX的卸载方法
- 第三次课后作业
- 深度调查:危险的“360安全卫士”!
- SharedPreferences来判断程序是不是第一次运行