欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

【python】自动登录51cto家园

发布时间:2024/3/13 python 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【python】自动登录51cto家园 小编觉得挺不错的,现在分享给大家,帮大家做个参考.


自动登录:http://home.51cto.com


1、分析:

使用httpfox抓取手动登录home.51cto.com的过程,过程如下:


点登录,提交用户名与密码到http://home.51cto.com/index.php?s=/Index/doLogin 这个地址,正确后,他会返回的内容包含很多链接,如第二个图片。然后分别get这些链接。请求完这些链接后,再访问个人主页http://home.51cto.com/index.php?s=/Home/index



post成功后服务器返回的内容。



2、思路有了,那么就是写代码了。(登录是使用onepc的帐号,完后后可以返回的html中找到onepc)


登录代码参考网上的资料。


import urllib.request import urllib.parse import http.cookiejar import reposturl='http://home.51cto.com/index.php?s=/Index/doLogin' url='http://home.51cto.com'cookie = http.cookiejar.LWPCookieJar() cookie_support = urllib.request.HTTPCookieProcessor(cookie) opener = urllib.request.build_opener(cookie_support, urllib.request.HTTPHandler) urllib.request.install_opener(opener)urllib.request.urlopen(url)headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0','Referer':'http://home.51cto.com/','Host':'home.51cto.com'}postdata={'email':'hxw168','passwd':'xxxx','reback':''}  #密码未加密postdata=urllib.parse.urlencode(postdata).encode('utf-8')request=urllib.request.Request(posturl,postdata,headers)response=urllib.request.urlopen(request)html=response.read().decode('utf-8')#print(response.read().decode('utf-8'))#print(html)#这里把post成功后返回的内容中取得各个url,然后分别执行。 r_geturl=re.compile('src="([^"]+)"',re.S) logurllist=r_geturl.findall(html) for l in logurllist:urllib.request.urlopen(l)s=urllib.request.urlopen('http://home.51cto.com/index.php?s=/Home/index')print(s.read().decode('utf-8')) #这里可以读取到用户帐号、短信息登录成功后就可以做别的事了。



转载于:https://blog.51cto.com/hxw168/1535751

总结

以上是生活随笔为你收集整理的【python】自动登录51cto家园的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。