当前位置: 首页 > news >正文

在建立网站站点的过程中临沂seo推广

在建立网站站点的过程中,临沂seo推广,电子商务网站建设与维护论文,临朐网站建设价格文章目录 为什么要保存cookiesrequests.utils工具类保存cookies到本地文件从本地文件解析cookies使用使用实践 为什么要保存cookies 保存cookies是避免每次都登录获取权限,一遍权限是有过期时间的,不需要每次重复登录,可以将cookies保存起来…

文章目录

    • 为什么要保存cookies
    • requests.utils工具类
    • 保存cookies到本地文件
    • 从本地文件解析cookies
    • 使用
    • 使用实践

为什么要保存cookies

保存cookies是避免每次都登录获取权限,一遍权限是有过期时间的,不需要每次重复登录,可以将cookies保存起来,用的时候再加载。适用于多机器并发式爬取数据或者抢票等功能。
在这里插入图片描述

requests.utils工具类

需要使用request.utils工具类进行解析cookie,从CookieJar转为字典,从字典转为CookieJar,需要特殊的操作。

# 将CookieJar转为字典:
cookie_dict= requests.utils.dict_from_cookiejar(r.cookies)# 将字典转为CookieJar:
cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)

保存cookies到本地文件

def save_cookie():# 登录成功, session里的cookie是最全的,response返回的cookie不全cookiejar = requests.utils.dict_from_cookiejar(request_session.cookies)with open(cookie_path, "w") as f:json.dump(cookiejar, f, indent=True)

比如下面这个网站cookie的保存内容:
在这里插入图片描述

从本地文件解析cookies

def __load_cookie():'''加载本地cookie,如果存在加载,如果不存在就返回空:param session::return:'''try:with open(cookie_path, "r") as f:load_cookie = json.load(f)return requests.utils.cookiejar_from_dict(load_cookie)except Exception as e:traceback.print_exc()return None

使用

将从本地解析出来的cookies同步到session中

request_session = requests.Session()
exist_cookies= requests.utils.cookiejar_from_dict(load_cookie)
request_session.cookies.update(exist_cookies)

使用实践

下面这个例子使用session方式请求,登录成功之后会调用save()保存cookie,每次重新启动程序会先加载cookies

import json
import tracebackimport requests.utilsfrom executor.page_executor import PageExecutor
from file_path import get_absolute_pathcookie_path = get_absolute_path('data/cookie.txt')
request_session: requests.Session = Nonedef __load_cookie():'''加载本地cookie,如果存在加载,如果不存在就返回空:param session::return:'''try:with open(cookie_path, "r") as f:load_cookie = json.load(f)return requests.utils.cookiejar_from_dict(load_cookie)except Exception as e:traceback.print_exc()return Nonedef get_session():global request_sessionif request_session is not None:return request_sessionelse:request_session = requests.Session()exist_cookies = __load_cookie()if exist_cookies is not None:request_session.cookies.update(exist_cookies)return request_sessiondef save_cookie():# 登录成功, session里的cookie是最全的,response返回的cookie不全cookiejar = requests.utils.dict_from_cookiejar(request_session.cookies)with open(cookie_path, "w") as f:json.dump(cookiejar, f, indent=True)logger.info('cookies saved to ./data/cookie.txt')
http://www.hkea.cn/news/239308/

相关文章:

  • 网站建设服务怎么样近期国内热点新闻事件
  • 阿里巴巴网站国际站建设seo托管服务
  • 企业网站优化之如何做需求分析网奇seo赚钱培训
  • 施工企业会计制度收入确认规定百度自然排名优化
  • 校园网站建设意义网络营销的特点有哪些
  • 内江做网站哪里便宜google搜索关键词热度
  • 福建省建设银行招聘网站网络推广员压力大吗
  • 动态网站订单怎么做搜索引擎优化营销
  • html5行业网站最近有哪些新闻
  • 做网站业务的怎么寻找客户在哪里打广告效果最好
  • 广东深圳seo服务内容
  • 做网站怎么备案网络服务有限公司
  • 网站主页特效欣赏百度官网下载电脑版
  • php mysql开发网站开发任何小说都能搜到的软件
  • the7 wordpress主题宁波seo外包费用
  • 云南建筑培训网seo刷点击软件
  • 男女做暖网站h5页面制作平台
  • 可以做puzzle的网站百度关键词排名提升工具
  • 竞网网站建设南宁网站seo大概多少钱
  • 114黄页信息网宝鸡seo培训
  • 东南亚做棋牌网站挖掘爱站网
  • 中国工程建设招标网官方网站谷歌查询关键词的工具叫什么
  • wordpress管理员密码忘记成都seo招聘
  • 武汉企业建站系统模板下载官方正版百度
  • 上海做网站国际财经新闻
  • 用废旧盒子做家用物品网站seo排名工具
  • 企业铭做网站域名解析在线查询
  • 怎么注册自己的小程序网站优化分析
  • 荆州网站建设流程网站设计培训
  • 网站支付怎么做的seo职业技能培训班