今天边肖就给大家分享一个用python登录网页的操作方法,很有参考价值。希望对你有帮助。来和边肖一起看看吧。
有些网页只有登录后才能访问。您需要提供您的帐户和密码。
只要发送http请求,就可以带包含正常登录的cookie。
1、首先我们要先了解cookie的工作原理。
Cookies由服务器生成并发送给用户代理(通常是浏览器)。浏览器会将Cookie的键/值保存到某个目录下的文本文件中,并在下一次请求相同的网站时将Cookie发送到服务器(前提是浏览器设置为启用Cookie)。Cookie的名称和值可以由服务器端开发自己定义,也可以直接写入JSP的jsessionid,让服务器知道用户是否是合法用户,是否需要重新登录。
2、之后我们要获取到用户正常登录的cookie.
Python提供了一个cookieJar的库,只需将cookieJar的实例作为参数传递给urllib2中的一个opener即可。
然后访问一次登录页面,cookie就保存好了。之后,通过该实例访问的所有页面都将拥有正常的登录cookie。
以人人网为例子。
#编码=utf-8
导入urllib2
导入urllib
导入cookielib
def renrenBrower(url,用户,密码):
#登陆页面,可通过分析数据包捕获工具获得,如fiddler和wireshark。
log in _ page=' http://www . renren . com/plogin . do '
尝试:
#获取一个cookieJar实例
cj=cookielib。CookieJar()
#cookieJar作为参数来获取opener的实例。
opener=URL lib 2 . build _ opener(URL lib 2。HTTPCookieProcessor(cj))
#伪装成正常的浏览器,以避免某些web服务器拒绝访问。
opener . add headers=[(' User-agent ',' Mozilla/4.0(兼容;MSIE 6.0Windows NT 5.1)')]
#使用登录用户名和密码生成帖子数据。
data=urllib . urlencode({ ' email ':user,' password':password})
#通过帖子访问登陆页面,cookiesJar访问后会自行保存cookie。
opener.open(login_page,data)
#访问带有cookie的页面
op=opener.open(url)
#阅读页面源代码
data=op.read()
返回数据
除了例外,e:
打印字符串(e)
#访问用户的个人主页。事实上,这已经实现了Renren.com的签到功能。
打印人人浏览器(' 3358 www.renren.com/home','用户名','密码')
以上python登录网页的操作方法都是边肖分享的内容。希望给大家一个参考,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。