ホームページ > バックエンド開発 > Python チュートリアル > Python を使用して学校に Renren ステータスを投稿します (Renren でステータスを参照)

Python を使用して学校に Renren ステータスを投稿します (Renren でステータスを参照)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-16 08:45:07
オリジナル
1122 人が閲覧しました

复制代码 代码如下:

#_*_coding:utf_8_

from sgmllib import SGMLParser
import sys, urllib2, urllib, cookielib
import datetime, time

class spider(SGMLParser):

    def __init__(self, email, password):
        SGMLParser.__init__(self)

        self.email = email
        self.password = password
        self.domain = 'renren.com'

        try:
            cookie = cookielib.CookieJar()
            # a class to handle HTTP cookies
            cookieProc = urllib2.HTTPCookieProcessor(cookie)
        except:
            raise
        else:
            opener = urllib2.build_opener(cookieProc)
            urllib2.install_opener(opener)      

    def login(self):
        print '开始登录'
        url = 'http://www.renren.com/PLogin.do'
        #url = 'http://www.renren.com/SysHome.do'
        postdata = {
                    'email': self.email,
                    'password': self.password,
                    'domain': self.domain 
                   }
        # 一般情况下引入urllib2的地方都需要引入urllib,因为需要urlencode()
        req = urllib2.Request(
                              url,
                              urllib.urlencode(postdata)           
                             )

        self.file = urllib2.urlopen(req).read()
        # urlopen后 成功后进入首页 因此self.file的内容就是首页的html文件的内容
        # print self.file

        idPos = self.file.index("'id':'")
        self.id = self.file[idPos+6:idPos+15]

        tokPos = self.file.index("get_check:'")
        self.tok = self.file[tokPos+11:tokPos+21]

        rtkPos = self.file.index("get_check_x:'")
        self.rtk = self.file[rtkPos+13:rtkPos+21]

    def publish(self, content):
        url1 = 'http://shell.renren.com/' +self.id+ '/status'
        print 'self.id = ' , self.id
        postdata = {
                  'content': content,
                  'hostid': self.id,
                  'requestToken': self.tok,
                  '_rtk': self.rtk,
                  'channel': 'renren',
                  }
        req1 = urllib2.Request(
                            url1,
                            urllib.urlencode(postdata)           
                            )
        self.file1 = urllib2.urlopen(req1).read()

        print datetime.datetime.now()
        print '刚才账号 %s发了一条状态' % self.email 
        print '内容为: %s' % postdata.get('content', '')

renrenspider = Spider('qich555550@163.com', 'qishibo123')
renrenspider.login()
#content = raw_input('ステータスの内容を入力してください:')
contents =[ 「Wish」、「each」、「bit」、「with」、「learn」、「pen」、「friend」、「in」、「新」、「的」、「一」、「年」、「里」 " ","body","physical","health","health","万","事","など","意味","誤って画面を擦ってしまいました、ご容赦ください"]
#renrenspider.publish(content)
#content = "明けましておめでとうございます"
#renrenspider.publish(content)
#renrenspider.publish(content.decode('gb2312').encode('utf) -8' ))

コンテンツ内のコンテンツの場合:
renrenspider.publish(content)

このアプリを使用すると、ステータスを送信して画面を更新できますが、学校内のステータスは特定の時間に対応していないため、2秒ごとのステータスは驚くべきものになります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート