python模拟登陆新浪微博 并 关注好友 刷粉丝(rsa算法,2013年7月26日测试成功)

编程入门 行业动态 更新时间:2024-10-12 03:28:22

python模拟登陆<a href=https://www.elefans.com/category/jswz/34/1766670.html style=新浪微博 并 关注好友 刷粉丝(rsa算法,2013年7月26日测试成功)"/>

python模拟登陆新浪微博 并 关注好友 刷粉丝(rsa算法,2013年7月26日测试成功)

登陆新浪微博的代码已上传至

我的个人主页:郑翊 /

最近完成的页面: 中国搜索-地方 /

上一篇博客发了之后,收到很多人回信,还是比较开心的。

可惜发了不久,新浪微博改版,以前的登陆方式不好使了。

虽然有人询问新的登陆方法,但由于一直没时间,所以一直没管。

最近找完工作后空闲了,于是重新研究了一下新的登陆方式,写成了代码如下。

并且,其中附加了关注功能,可以方便大家用来刷粉丝。

觉得好用的同时别忘了关注一下我的新浪微博



运行的时候把这句改成自己的账户名和密码即可

weibo = WeiboLogin('name', 'password')

需要额外安装rsa模块


如果不会下载rsa模块,也可去下面地址下载完整代码。



#!/usr/bin/env python
# coding=utf8'Email: zhengyi.bupt@qq'import urllib
import urllib2
import cookielib
import base64
import re
import json
import rsa
import binasciiclass WeiboLogin:username = ''password = ''serverUrl = ''loginUrl = '.php?client=ssologin.js(v1.4.11)'postData = {'entry': 'weibo','gateway': '1','from': '','savestate': '7','userticket': '1','pagerefer': '','vsnf': '1','su': '','service': 'miniblog','servertime': '','nonce': '','pwencode': 'rsa2','rsakv': '','sp': '','encoding': 'UTF-8','prelt': '60','url': '.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack','returntype': 'META'}def __init__(self, username, password):self.username = usernameself.password = passwordself.serverUrl = '.php?entry=sso&callback=sinaSSOController.preloginCallBack&su=%s&rsakt=mod&client=ssologin.js(v1.4.11)' % usernamecookiejar = cookielib.LWPCookieJar()cookie_support = urllib2.HTTPCookieProcessor(cookiejar)opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler(debuglevel=1))urllib2.install_opener(opener)def login(self):servertime, nonce, pubkey, rsakv = self.getServerTime()self.postData['servertime'] = servertimeself.postData['nonce'] = nonceself.postData['rsakv'] = rsakvself.postData['su'] = self.getSu()self.postData['sp'] = self.getSp(servertime, nonce, pubkey)text = self.getUrl(self.loginUrl, self.postData, 'POST')p = repile('location\.replace\(\"(.*)\"\)')try:loginUrl = p.search(text).group(1)self.getUrl(loginUrl)print "Login success!"return Trueexcept:print 'Login error!'return Falsedef getServerTime(self):data = self.getUrl(self.serverUrl)p = repile('\((.*)\)')try:jsonData = p.search(data).group(1)data = json.loads(jsonData)servertime = str(data['servertime'])nonce = data['nonce']pubkey = data['pubkey']rsakv = data['rsakv']return servertime, nonce, pubkey, rsakvexcept:print 'getServerTime error!'return Nonedef getSu(self):username = urllib.quote(self.username)su = base64.encodestring(username)[:-1]return sudef getSp(self, servertime, nonce, pubkey):rsaPublickey = int(pubkey, 16)key = rsa.PublicKey(rsaPublickey, 65537)message = str(servertime) + '\t' + str(nonce) + '\n' + str(self.password)passwd = rsa.encrypt(message, key)sp = binascii.b2a_hex(passwd)return spdef getUrl(self, url, para = {}, m = 'GET'):header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36'}data = urllib.urlencode(para)if m == 'GET':if para == {}:req = urllib2.Request(url = url,headers = header)else:req = urllib2.Request(url = url + "?" + data,headers = header)elif m == 'POST':req = urllib2.Request(url = url,data = data,headers = header)else:req = ''result = urllib2.urlopen(req)text = result.read()return textdef follow(self, uid):url = '=5'para = {'uid': uid,'f': '1','location': 'profile','wforce': '1','refer_sort': 'profile','refer_flag': '','_t': '0'}data = urllib.urlencode(para)req = urllib2.Request(url = url,data = data,headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36','Referer':'/' + uid})urllib2.urlopen(req)def savePage(self, pageName, data):fout = open(pageName, 'w')  fout.write(data)  fout.close() if __name__ == '__main__':weibo = WeiboLogin('name', 'password')weibo.login()weibo.follow('1682175375')


更多推荐

python模拟登陆新浪微博 并 关注好友 刷粉丝(rsa算法,2013年7月26日测试成功)

本文发布于:2024-03-08 18:23:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1721800.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:新浪   算法   粉丝   好友   测试

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!