Python3爬蟲連續獲取Cookies的方法


第一種獲取Cookies的方法

# 第一次獲取cookies
headers = {
  'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',
  'Referer': 'http://jkjmjzs.jinke.com/weixin/wxLogin.aspx'
}

url = 'http://jkjmjzs.jinke.com/weixin/wxLogin.aspx'
response = requests.get(url)
cookies = response.cookies.get_dict()
print(cookies)

# 第二次獲取cookies
url = 'http://jkjmjzs.jinke.com/weixin/wxAction2.ashx?t=LD&rand=%s' % random.random()
payloads = {
  'LoginID': 'username',
  'Password': 'password',
  'RememberPwd': 0
}
response = requests.post(url, data = payloads, headers = headers, cookies = cookies)
cookies.update(response.cookies.get_dict())
print(cookies)

第二種獲取Cookies的方法

from urllib import request
from http import cookiejar

#跳過SSL驗證證書
import ssl
#設置忽略SSL驗證
ssl._create_default_https_context = ssl._create_unverified_context

if __name__ == '__main__':
    #聲明一個CookieJar對象實例來保存cookie
    cookie = cookiejar.CookieJar()
    #利用urllib.request庫的HTTPCookieProcessor對象來創建cookie處理器,也就CookieHandler
    handler=request.HTTPCookieProcessor(cookie)
    #通過CookieHandler創建opener
    opener = request.build_opener(handler)
    #此處的open方法打開網頁
    response = opener.open('http://www.baidu.com')
    #打印cookie信息
    for item in cookie:
        print('Name = %s' % item.name)
        print('Value = %s' % item.value)

第三種獲取Cookies的方法

def getCookie():
    url = "https://passport.bilibili.com/login"
    Hostreferer = {
        'accept':'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36'
    }
    #urllib或requests在打開https站點是會驗證證書。 簡單的處理辦法是在get方法中加入verify參數,並設為False
    html = requests.get(url, headers=Hostreferer,verify=False)
    #獲取cookie:DZSW_WSYYT_SESSIONID
    if html.status_code == 200:
        print(html.cookies)
        for cookie in html.cookies:
            print(cookie)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM