python實現自動登入人人網並採集資訊的方法

來源:互聯網
上載者:User
本文執行個體講述了python實現自動登入人人網並採集資訊的方法。分享給大家供大家參考。具體實現方法如下:

#!/usr/bin/python# -*- coding: utf-8 -*-import sysimport reimport urllib2import urllibimport cookielibclass Renren(object):  def __init__(self):    self.name = self.pwd = self.content = self.domain = self.origURL = ''    self.operate = ''#登入進去的操作對象    self.cj = cookielib.LWPCookieJar()    try:       self.cj.revert('./renren.coockie')     except Exception,e:      print e    self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))    urllib2.install_opener(self.opener)  def setinfo(self,username,password,domain,origURL):    '''設定使用者登入資訊'''    self.name = username    self.pwd = password    self.domain = domain    self.origURL = origURL  def login(self):    '''登入人人網'''    params = {      'domain':self.domain,      'origURL':self.origURL,      'email':self.name,       'password':self.pwd}    print 'login.......'    req = urllib2.Request(       'http://www.renren.com/PLogin.do',      urllib.urlencode(params)    )    self.file=urllib2.urlopen(req).read()        newsfeed = open('news.html','w')    try:      newsfeed.write(self.file)    except Exception, e:      newsfeed.close()    self.operate = self.opener.open(req)     print type(self.operate)    print self.operate.geturl()    if self.operate.geturl():       print 'Logged on successfully!'      self.cj.save('./renren.coockie')      self.__viewnewinfo()    else:      print 'Logged on error'  def __viewnewinfo(self):    '''查看好友的更新狀態'''    self.__caiinfo()  def __caiinfo(self):    '''採集資訊'''        h3patten = re.compile('(.*?)')#匹配範圍    apatten = re.compile('(.+):')#匹配作者    cpatten = re.compile('(.+)\s')#匹配內容     content = h3patten.findall(self.file)    print len(content)      infocontent = self.operate.readlines()    print type(infocontent)    print 'friend newinfo:'     for i in infocontent:      content = h3patten.findall(i)      if len(content) != 0:        for m in content:          username = apatten.findall(m)          info = cpatten.findall(m)          if len(username) !=0:            print username[0],'說:',info[0]            print '----------------------------------------------'          else:            continueren = Renren()username = 'username'#你的人人網的帳號password = 'password'#你的人人網的密碼domain = 'www.renren.com'#人人網的地址origURL = 'http://www.renren.com/home'#人人網登入以後的地址ren.setinfo(username,password,domain,origURL)ren.login()

希望本文所述對大家的Python序設計有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.