使用python语言,因为需要爬取的页面返回的cookie不全,经尝试没法套用request中的session模块,所以自己构建字典、导入、调整来实现cookie字典的update与调用。
参考scott大神的做法,用正则表达式匹配字符串识别cookie字符串中的数据格式,稍微改了下正则表达式以正确纳入字符“.”之前的字段浏览器用一行JS代码导出cookies.txt,Python的requests库导入cookies格式化为字典格式-CSDN博客
import re
matches = re.findall(r'([a-zA-Z0-9_.]+)=((?:{[^{}]*}|[^;]*)+)', cookie_str) cookie1 = {} for i in matches: cookie1.update({i[0]: i[1]})
#以此将字符串格式的cookie导入为dict格式,进入cookie1
#接下来通过操纵dict文件来还原为原来的字符串以正确导入header中,加入request库的访问参数
cookie2 = cookie1.copy() cookiekeys_list = [] cookievalue_list = [] cookiepickle_list = [] for item in cookie2.keys(): cookiekeys_list.append(item) for item in cookie2.values(): cookievalue_list.append(item) for item in range(0,len(cookiekeys_list)): cookiepickle_list.append(str(cookiekeys_list[item]) + "=" + str(cookievalue_list[item])) cookie1111 = ';'.join(item for item in cookiepickle_list)
头一次在论坛里发文章,代码不知道怎么展示,意思到了就行了哈。如果是非标准格式的cookie存、取,没法用现成的方法,可以试试这个比较原始的