Pythonアナログログイン


Pythonを使用してWebサイトのシミュレーションログインを行う小さな例を共有します.
げんり
Cookieテクノロジーを使用して、Webサイトのログイン検証を迂回します.cookielibライブラリに使用します.プロセス:
  • Cookieを保存する容器を作成し、オプションでCookieJar,FileCookieJar,MozillaCookieJar,LWPCookieJar・・相互関係はCookieJar —- —->FileCookieJar —- —–>MozillaCookieJar LWPCookieJar
  • Cookieを扱うプロセッサhandlerを作成する.通過urllib2.HTTPCookieProcessor(cookie)
  • ウェブサイトを開くためのOpenerを作成する.できます.このopenerはurllib 2.urlopen法より普通です.opener = urllib2.build_opener(handler) .
  • オープンを使ってネットワークにアクセスできるようになりました.

  • 小さなケース
    実現する機能は,大連理工大の教務サイトへの登録をシミュレートすることである.コードは次のとおりです.
    # coding:UTF-8
    
    import urllib,urllib2,cookielib
    
    filename = r'F:\pachong\gaoqing\dlutcookie.txt'
    # show cookie and save to local
    cookie = cookielib.MozillaCookieJar()
    handler = urllib2.HTTPCookieProcessor(cookie)
    opener = urllib2.build_opener(handler)
    #     urllib       encode
    postdata = urllib.urlencode({
        #   ,          ╭(╯^╰)╮
        'zjh':'xxxxxxxxx',
        'mm':'XXXXXX'
    })
    
    
    #         url
    url = 'http://zhjw.dlut.edu.cn/loginAction.do'
    
    #         ,  cookie     
    response = opener.open(url,postdata)
    cookie.save(filename,ignore_discard=True,ignore_expires=True)
    
    #        cookie   
    for item in cookie:
        item.name + ' = ' + item.value
    
    
    
    
    #   cookie                URL
    course_url='http://zhjw.dlut.edu.cn/xkAction.do?actionType=6'
    course_header={
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586',
        'referer':'http://zhjw.dlut.edu.cn/menu/s_main.jsp'
    }
    
    result = opener.open(course_url)
    print result.read()
    

    実行結果
    まとめ
    実はアナログログインにとって、最初のログインはそのクッキーデータを取得するためです.次に作成したopenerを使用して、次に行う重要なさらなる操作を完了します.私たちが理解しなければならないのは、そのクッキーの使用の流れだけです.