ホームページ  >  記事  >  バックエンド開発  >  Renren.com にログインするための Python cookielib 実装コード

Renren.com にログインするための Python cookielib 実装コード

WBOY
WBOYオリジナル
2016-06-16 08:46:581064ブラウズ

まずスクリプトから始めて、後で知識について話しましょう:

コードをコピーします コードは次のとおりです:

#!/usr/bin/env python
#encoding=utf-8
import sys
import re
import urllib2
import urllib
import cookielib

class Renren(object ):

def __init__(self):
self.name = self.pwd = self.content = self.domain = self.origURL = ''
self .operate = ''#Login 受信操作オブジェクト
self.cj = cookielib.LWPCookieJar()
try:
self.cj.revert('renren.coockie')
例外、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 = ユーザー名
self.pwd = パスワード
self.domain = ドメイン
self.origURL = origURL

def login(self):
''''Renren にログイン''''
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.operate = self.opener.open(req)

if self.operate. geturl( ) == 'http://www.renren.com/Home.do':
print 'ログオンに成功しました!'
self.cj.save('renren.coockie')
self .__viewnewinfo ()
else:
print 'ログオン エラー'

def __viewnewinfo(self):
'''友達の更新ステータスを表示'''
self.__caiinfo ()


def __caiinfo(self):
'''情報を収集'''

h3patten = re.compile('

(.*?) < /h3>')#範囲の一致
apatten = re.compile('(.+):')#作成者の一致
cpatten = re.compile (' (.+)s')#一致するコンテンツ
infocontent = self.operate.readlines()
# print 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],'say:',info[0]
print '---------- -- ----------------------------------'
else:
続行

ren = Renren()
username = ''#あなたの Renren アカウント
password = ''#あなたの Renren パスワード
domain = 'renren.com'#Renren のアドレス
origURL = 'http: //www.renren.com/Home.do'#れんれんログイン後のアドレス
ren.setinfo(username,password,domain,origURL)
ren.login ()

主に Python cookielib、urllib2、urllib の 3 つのモジュールを使用します。これらの 3 つのモジュールは、Python が http を実行するのに適したモジュールです。 try:
self.cj.revert('renren.coockie')
例外を除く、e:
print e
self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))

urllib2.install_opener(self.opener)
これらの行は、Renren の Cookie をローカルで作成するためのものです。Renren はログインに Cookie が必要であることを確認する必要があるためです。このスクリプトを実行すると、次のことがわかります。は、現在のディレクトリにファイル renren.cookie を自動的に作成するプログラムです。

私の renren.cookie 情報は次のとおりです: #LWP-Cookies-2.0 Set-Cookie3: WebOnLine Notice_244225225=1; domain=".renren.com"; 2010-04-11 06:59:33Z"; version=0 要約すると、Cookie を使用して Web サイトにログインする必要がある場合は、cookielib モジュールを使用する必要があります。それ以外の場合は、Cookielib モジュールを使用して Web サイトにログインできません。プログラムを中断したら、たとえば、上記のスクリプトを使って、Python の Renren コードを試してみます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。