python培训之如何获取cookie

发布时间:2022-11-08 09:49:50 人气:415 作者:多测师

  介绍下3种python获取cookie的方法。

  (1)借助handler

  这种方法也是网上介绍最多的一种方法,但是用起来比较麻烦

  from http import cookiejar

  from urllib import request

  class Craw():

  def __init__(self):

  self.url = ''

  self.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) ' \

  'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36'

  self.headers['Content-Type'] = 'application/x-www-form-urlencoded'

  def getCookies(self):

  cookie = cookiejar.CookieJar()

  handler = request.HTTPCookieProcessor(cookie)

  opener = request.build_opener(handler)

  response = opener.open(self.url)

  cookieValue = ''

  for item in cookie:

  cookieValue += item.name + '=' + item.value + ';'

  self.headers['Cookie'] = cookieValue

  response = requests.get(url=self.url)

  def getVerificationCode(self):

python培训之如何获取cookie

  img_url = ''

  imgResponse = requests.get(url=img_url,headers = self.headers) #直接使用headers即可

  base64_jpg = base64.b64encode(imgResponse.content)

  return base64_jpg

  (2)使用response headers的set_cookie

  import requests

  import re

  class Crawler():

  def getCookie(self):

  response = requests.post(self.url)

  set_cookie = response.headers['Set-Cookie']

  array = re.split('[;,]',set_cookie)

  cookieValue = ''

  for arr in array:

  if arr.find('DZSW_SESSIONID') >= 0 or arr.find('bl0gm1HBTB') >= 0:

  cookieValue += arr + ';'

  (3)使用response的cookies属性获取

  只写getCookies方法,代码如下:

  import requests

  class Crawler():

  def getCookie(self):

  response = requests.get(self.url)

  cookie_value = ''

  for key,value in response.cookies.items():

  cookie_value += key + '=' + value + ';'

  self.headers['Cookie'] = cookie_value

  以上内容为大家介绍了python培训之如何获取cookie,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线