pythonシミュレーションによるログイン


最近、ネットワーク爬虫類を学習し、後で表示するための詳細な手順を記録しました.
pythonシミュレーションでログインし、主にこの記事を参考にします.http://blog.csdn.net/crazyuo/article/details/8662025を選択して、自分でログインできるようにします.
ソースを添付:
#encoding=utf-8


import urllib
import urllib2
import cookielib
from _LWPCookieJar import LWPCookieJar
from logging.handlers import HTTPHandler


#       
hosturl='http://www.renren.com'


#                ,    
# firefox      ,F12,  POST,login,         
#             
posturl='http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2016401925736'


#  cookie
cj=cookielib.LWPCookieJar()#LWPCookieJar            Cookie,         Cookie
cookie_support=urllib2.HTTPCookieProcessor(cj)
opener=urllib2.build_opener(cookie_support,urllib2.HTTPHandler)
urllib2.install_opener(opener)


#      ,  cookie  cookie    
h=urllib2.urlopen(hosturl)


#   ,       posturl    
headers={
         'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0',
         'Referer':'http://www.renren.com/'}


#    ,    
postdata={
          'email':"*****", #     
          'icode':"",
          'origURL':"http://www.renren.com/home",
          'domain':"renren.com",
          'key_id':"1",
          'captcha_type':"web_login",
          'password':"1b2f4dcaae1b6c35ae8e248d2c4e60ea09c97a771514763146936af23a0127f8",#      
          'rkey':"d0cf42c2d3d337f9e5d14083f2d52cb2",
          'f':"http%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DNuOWcFY5vnkONBdyip4Gb465jXUQpVZlEwT1gOUJ6ry%26wd%3D%26eqid%3Dbbc02beb00346b3200000005574198bf"
          }
#       
postdata=urllib.urlencode(postdata)


#      
request=urllib2.Request(posturl,postdata,headers)
#      
response=urllib2.urlopen(request)


#                  
print urllib2.urlopen('http://www.renren.com').read()

firefoxブラウザでパッケージをキャプチャし、posturl、headers、postdataを得るには、次の手順に従います.
人の登録のホームページを開けて、F 12を押してかばんをつかんで、人を登録して、それから下でPOSTを探し当てて、login何
利用python模拟登录_第1张图片
メッセージヘッダのリクエストURLはposturlで、リクエストヘッダにheadersが見つかります.
利用python模拟登录_第2张图片
postdataはパラメータにあります
利用python模拟登录_第3张图片
はい、差は多くありません.これだけです.
登録ロバの練習.作成したクッキーオブジェクトは、上記といくつかの違いがあります.
#encoding=utf-8


import urllib
import urllib2
import cookielib
from _LWPCookieJar import LWPCookieJar
from logging.handlers import HTTPHandler


hosturl='http://secure.verycd.com/signin?error_code=emptyInput&continue=http://www.verycd.com/'
posturl='http://secure.verycd.com/signin?error_code=emptyInput&continue=http://www.verycd.com/'
filename='cookie.txt'
cj=cookielib.MozillaCookieJar(filename)
cookie_support=urllib2.HTTPCookieProcessor(cj)
opener=urllib2.build_opener(cookie_support,urllib2.HTTPHandler)
urllib2.install_opener(opener)
h=urllib2.urlopen(hosturl)
cj.save(ignore_discard=True, ignore_expires=True)
headers={
         'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0',
         'Referer':'http://secure.verycd.com/signin?error_code=emptyInput&continue=http://www.verycd.com/'}
postdata={
          'username':"",
          'password':"",
          'continue':"http://www.verycd.com/",
          'fk':"",
          'save_cookie':"1",
          'login_submit':"  "        
          }
postdata=urllib.urlencode(postdata)
request=urllib2.Request(posturl,postdata,headers)
response=urllib2.urlopen(request)
print urllib2.urlopen('http://www.verycd.com/').read()