Reptile_04 cookies存储与读取

cookies的作用当登录一个网站,短时间内容存储手动或自动存储cookie,再进行其它操作时避免用户重复登录。

一、cookies获取与使用

cookies获取代码:
login_in = requests.post(url,headers=headers,data=data)
#用requests.post发起请求,放入参数:请求登录的网址、请求头和登录参数,然后赋值给login_in。

cookies = login_in.cookies
#提取cookies的方法:调用requests对象(login_in)的cookies属性获得登录的cookies,并赋值给变量cookies。


ookies使用代码:
comment = requests.post(url_1,headers=headers,data=data_1,cookies=cookies)
#用requests.post发起请求,带参数:请求登录后网址、headers、评论参数、cookies参数,赋值给comment。
#调用cookies的方法就是在post请求中传入cookies=cookies的参数。

二、session及其用法

session是会话过程中,服务器用来记录特定用户会话的信息

session和cookies的关系密切——cookies中存储着session的编码信息,session中又存储了cookies的信息

session.post(url,headers=headers,data=data)
#session下用post发起登录请求,放入参数:请求登录的网址、请求头和登录参数。

session.post(url_1,headers=headers,data=data_1)
#session下用post发起请求,放入参数:请求登录后网址,请求头和评论参数,并赋值给comment。

三、存储cookies

先把cookies转成字典,然后再通过json模块转成字符串。这样,就能用open函数把cookies存储成txt文件
在这里插入图片描述

import requests,json
#引入requests和json模块。

session.post(url, headers=headers, data=data)
# session请求

cookies_dict = requests.utils.dict_from_cookiejar(session.cookies)
#把cookies转化成字典。

cookies_str = json.dumps(cookies_dict)
#调用json模块的dumps函数,把cookies从字典再转成字符串。

f = open('file\\cookies.txt', 'w')
#创建名为cookies.txt的文件,以写入模式写入内容。

f.write(cookies_str)
#把已经转成字符串的cookies写入文件。

四、读取cookies

读取cookies与存储相反,要先把字符串转成字典,再把字典转成cookies本来的格式

cookies_txt = open('file\\cookies.txt', 'r')
#以reader读取模式,打开名为cookies.txt的文件。

cookies_dict = json.loads(cookies_txt.read())
#调用json模块的loads函数,把字符串转成字典。

cookies = requests.utils.cookiejar_from_dict(cookies_dict)
#把转成字典的cookies再转成cookies本来的格式。

session.cookies = cookies
#获取cookies:就是调用requests对象(session)的cookies属性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
看起来您想要从地理数据库中读取栅格文件,并将其根据Excel中的物种列表进行批量处理,并将其转换为矢量多边形。不过,在您提供的代码中,有一些错误和缺失,我来给您进行修正和补充。 首先,您需要导入arcpy模块,并设置工作空间(workspace)为地理数据库路径。同时,您还需要指定栅格文件夹路径(tif_file_path)和矢量裁剪文件路径(clip_file_path)。另外,您需要读取Excel文件中的物种名称列表,并将其存储为一个列表对象(name_list)。 ```python import arcpy import os import pandas as pd # 设置工作空间 arcpy.env.workspace = "D:/reptile/" # 设置栅格文件夹路径和矢量裁剪文件路径 tif_file_path = "D:/reptile/mask_reptiles.gdb/" clip_file_path = "D:/reptile/reptile_raster_clip/" # 读取Excel文件中的物种名称列表 excel_file = "D:/reptile/reptile_threated_list.xlsx" df = pd.read_excel(excel_file) name_list = df['scientificName'].tolist() ``` 接下来,您需要使用arcpy.ListRasters()函数获取地理数据库中所有栅格文件的列表,并对于每一个栅格文件进行裁剪,并将裁剪结果存储到指定的文件夹中。这里需要注意的是,您需要根据栅格文件名称和物种名称进行匹配,以确保只裁剪出需要的栅格文件。 ```python # 获取地理数据库中所有栅格文件的列表 raster_names = [raster for raster in arcpy.ListRasters("*", "TIF")] # 对于每一个栅格文件,进行裁剪,并将裁剪结果存储到指定的文件夹中 for raster in raster_names: # 获取栅格文件名称 raster_name = os.path.splitext(raster)[0] # 如果栅格文件名称在物种名称列表中,则进行裁剪 if raster_name in name_list: # 设置裁剪文件名称和路径 clip_file_name = os.path.join(clip_file_path, raster_name + ".shp") # 进行裁剪 arcpy.Clip_management(raster, "#", clip_file_name, shp_file_name, "#", "ClippingGeometry") ``` 最后,您需要将裁剪出的矢量多边形进行进一步处理,例如合并、转换为栅格等操作。这里需要根据具体的需求进行选择和处理。 ```python # 对于每一个裁剪出的矢量多边形,进行进一步处理 for clip_file in arcpy.ListFeatureClasses("*", "POLYGON", clip_file_path): # 进行合并等进一步处理 ... ``` 需要注意的是,在裁剪和进一步处理过程中,您需要根据具体的需求和数据格式选择合适的arcpy函数。在实现过程中建议参考arcpy官方文档和相关教程,确保代码正确运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

法海爱捉虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值