自动登录SNS

本文介绍了使用Python脚本实现自动登录人人网的功能,包括构建请求、处理cookies、登录验证和获取好友列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.自动登录人人网:

import re,time,sys
from urllib import request, parse
from http import cookiejar

class renren():
    def __init__(self,email,password):
        self.url='http://www.renren.com/'
        self.email=email
        self.password=password
        self.cookie=cookiejar.LWPCookieJar()
        self.opener=request.build_opener(request.HTTPCookieProcessor(self.cookie))
        self.friendIdList=[]
    def login(self):
        url=self.url+'PLogin.do/'
        params=parse.urlencode({'email':self.email,'password':self.password})
        response=self.opener.open(request.Request(url,params.encode("utf-8")))
        #print(str(response.readline().decode('utf-8')), str(response.readline().decode('utf-8')))
        text = open("text.html","wb")
        #for i in range(10):
            #print(str(response.readline().decode('utf-8')))
        buf = response.read().decode('utf-8')
        text.write(buf.encode('utf-8'))
        url=self.url+'home'
        if response.geturl()==url:
            print ("Login Succesfully!")
            self.cookie.save('xiaonei.coockie')
        else:
            print ('Login Failed')
    def changeState(self):
        pass

    def getFriendList(self):
        url='http://friend.renren.com/myfriendlistx.do'
        response=self.opener.open(request.Request(url))
        html=response.read().decode('utf-8')
        friend=str(re.search('friends=\[{.*}\]',html).group())
        friendId=re.findall('"id":\d+',friend)
        for id in friendId:
            self.friendIdList.append(id.lstrip('"id":'))
        print (len(self.friendIdList))
    def browseFriend(self):
        cnt=0
        for friendId in self.friendIdList:
            cnt+=1
            url='http://www.renren.com/profile.do?id='+'%s'%(friendId)
            request.Request(url)
            time.sleep(1)
            
if __name__=='__main__':
    print(sys.getdefaultencoding())
    app=renren('username','password')
    app.login()
    app.changeState()
    app.getFriendList()
    app.browseFriend()

转载于:https://www.cnblogs.com/icamel/archive/2012/05/17/2506270.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值