Python爬虫類:ホームページ要求ヘッドheaderは手動でcookieを追加して登録します.

3314 ワード

クッキーを手動で追加
手動でページクッキーを取得:
        - ウェブページを登録して、マウスの右ボタンをクリックして-->NetWork-->Docをチェックして、再度urlをロードして、内容が現れます.第一項をクリックすると、右側のheaderにcookieが現れます.コピーして、直接に要求ヘッダに入れて、下の例は人人網の登録したインターフェースにアクセスします.
from urllib import request

if __name__=='__main__':
    url = 'http://www.renren.com/969895831'
    headers = {
        'Cookie':'anonymid=jsom9rkf-d0es5r; depovince=GW; _r01_=1; ln_uact=18000212424; ln_hurl=http://head.xiaonei.com/photos/0/0/men_main.gif; jebe_key=9794e124-df7d-4ec4-9948-ff3b2284fa46%7Cfd1ca2fac6d637ef39a053379b245585%7C1551358890355%7C1%7C1551358888541; _de=8D7D172A55D3EEB1C788ADE5096897F1; jebecookies=2899c925-ea94-4b83-804e-fd161b0a3d94|||||; JSESSIONID=abccODxv45lH65F3LB0Kw; ick_login=130b9cd5-5b07-4176-bc30-f635f7288d2b; p=b84be9a332dd21cd337088e8ace635f11; first_login_flag=1; t=e8bf5973f8e824ad22c5d3c90005ff271; societyguester=e8bf5973f8e824ad22c5d3c90005ff271; id=969895831; xnsid=cb919a22; ver=7.0; loginfrom=null; wp_fold=0'
    }
    req = request.Request(url=url,headers=headers)
    rsp = request.urlopen(req)
    html = rsp.read().decode('utf-8')
    with open('rsp.html','w',encoding='utf-8') as f:      #          ,     encoding = 'utf-8'       ,       html       
        f.write(html)
クッキーを自動追加
- http        cookie   ,              header  cookie
    - CookieJar
        -      cookie,    http    cookie
        - cookie      ,CookieJar     ,cookie   
    - FileCookieJar(filename,delayload,policy=None)
        -       cookie
        - filename   cookie   
    - MozillaCookieJar(filename,delayload,policy=None)
        -    mozilla   cookie.txt   FileCookieJar  
    - LwpCookieJar(filename,delayload,policy=None)
        -    libwww - perl      Set-Cookie3   FileCookieJar  
    -          :CookieJar-->FileCookieJar-->MozillaCookieJar,LwpCookieJar
       CookieJar     
-     cookie  ,     
    -                     
    -          cookie
    -      cookie      
from  urllib import request,parse
from http import cookiejar

#   cookiejar   
cookie = cookiejar.CookieJar()
#   cookie   
cookie_handler = request.HTTPCookieProcessor(cookie)
#   http     
http_handler = request.HTTPHandler()
#   https   
https_handler=request.HTTPSHandler()

#          
opener = request.build_opener(http_handler,https_handler,cookie_handler)

def login():
    '''
          
             ,      cookie  
    :return:
    '''
    #  url     form action     
    url= 'http://www.renren.com/PLogin.do'
    #         form     input   
    data  ={
        'email':'18000212424',
        'password':'yudongnan1314'
    }
    data = parse.urlencode(data)    #          
    rep = request.Request(url = url,data=data.encode('utf-8'))   #   utf-8     

    #   opener    
    rsp = opener.open(rep)

def getHomePage():
    url = 'http://www.renren.com/969895831'

    #        login  , opener          cookie
    rsp = opener.open(url)
    html = rsp.read().decode()
    with open('rsp.html','w',encoding='utf-8') as f:
        f.write(html)

if __name__=='__main__':
    login()       #       
    getHomePage() #