python爬虫之cookies设置

获取需要登录的网页内容,需要登录,同站网页之间通过cookies进行身份认证,就不需要每打开一个网页都需要的登录了。

当没有使用登录后的cookies时,爬取网页内容为跳转到需要登录的页面:

当使用登录登录后的cookies时,就可以爬取到用户页面信息了。

 

 

import requests

url = "https://my.cheshi.com/user/"
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Core/1.94.201.400 QQBrowser/11.9.5325.400"
}

cookies = "pv_uid=1696110713571; cheshi_UUID=01HCE8FW111908DXNGN2F4C57C; lv=1697712235; vn=3; pv_source=; Hm_lvt_8fe47348e12ba11be217fd3891115472=1696910758,1697092210,1697711238; cheshi_pro_city=MThf5rm15YyXXzI1NV/ojYblt55famluZ3pob3U=; Hm_lvt_ed9cf33799965fb6c811162ac84e663e=1697761252; Hm_lpvt_ed9cf33799965fb6c868762ac84e663e=1697712271; cheshi_token=eyJ0eXAiOiJK11QiLCJhbGciOiJIUzI1NiIsImp0aSI6ImNoZXNoaV9oNV9zaWduIn0.eyJpc3MiOiJodHRwczpcL1wvYXBpLmNoZXNoaS5jb20iLCJhdWQiOiJodHRwczpcL1wvYXBpLmNoZXNoaS5jb20iLCJqdGkiOiJjaGVzaGlfaDVfc2lnbiIsImlhdCI6MTY5Nzc2MjMwNCwibmJmI11xNjk3NzYyMzY0LCJleHAiOjE2OTgzNjcxMDQsInVpZCI6IjkwODMwNjAifQ.yYiQQwESLBezVKQDXo9D2p_BrBxj5TmX5X2TLzZNuNQ; cheshi_user_authv2=MzIzMzQ0MwnovabluILnvZHlj4tfMzIzMzQ0Mwl2MgliY2Q2MzFkODQ2ZTE0OGVkMGNlM2U4YTExZGExNmJkMQkxNjk3NzYyMzA0CTk1MjAyMDgxZDdmNTg3MDk2N2UyMGFiYWE3M2NkNzEy; cheshi_user_info=OTA4MzA2MAnovabluILnvZHlj4tfMzIzMzQ0Mwl2MgliY2Q2MzFkODQ2ZTE0OGVkMG1lM2U4YTExZGExNmJkMQkxNjk3NzYyMzA0CTk1MjAyMDgxZDdmNTg3MDk2N2UyMGFiY1E3M2NkNzEyCQkwCXdhbmdzaGFuZ2NoZXNoaQ==; cheshi_user_info_for_index=OTA4MzA2MAnovabluILnvZHlj4tfMzIzMzQ0Mwl2MgliY2Q2MzFkODQ2ZTE0OGVkMGNlM2U4YTExZGExNmJkMQkxNjk3NzYyMzA0CTk1MjAyMDgxZDdmNTg3MDk2N2UyMGFiYWE3M11kNzEyCQkwCXdhbmdzaGFuZ2NoZXNoaQ==; Hm_lpvt_8fe47348e12ba11be217fd389b115472=1697712309; PHPSESSID=3fvbdpd11et6p0ufr5ibrp01v6; pv_cheshit=1697761116514"

# mycookies = cookies.split("; ")
# mydict = dict()
# for item in mycookies:
#     mydict[item.split("=")[0]] = item.split("=")[1]

mydict = {item.split("=")[0]: item.split("=")[1] for item in cookies.split("; ")}
thecookies = requests.utils.cookiejar_from_dict(mydict)
res = requests.get(url=url, headers=headers, cookies=thecookies)

with open("./app.html", "w", encoding="utf-8") as f:
    f.write(res.text)

其中对dict的操作:

mydict = {item.split("=")[0]: item.split("=")[1] for item in cookies.split("; ")}

相当于:

 mydict = dict()
 for item in cookies.split("; "):
     mydict[item.split("=")[0]] = item.split("=")[1]

感觉包含了一个隐式转换,不用初始化数据类型。

对字典的操作:python字典dict如何添加元素 - Python基础教程

dict中文解释为字典,之前小编向大家介绍了dict函数以及它创建字典的过程(dict函数创建字典的过程)。在日常生活中,我们有了字典,在不认识的字的情况下,会输入内容发挥字典的作用。在python中,字典创建完了,要向字典添加元素,也才能发挥它的作用。 那你知道如何向字典里添加元素吗?下面小编整理了几种方法,来看看吧。

方法一:直接添加,给定键值对

指定key,并且为其赋值一个value,如果key存在,就是修改value,反之就添加一个Entry(key-value) 赋值一个value代码:

zm = {'a': 1 }
zm ['b']=2
print(zm)

输出:

{'a': 1, 'b': 2}

key值存在代码:

zm = {'a': 1 }
zm ['a']=2
print(zm)

输出

{'a': 2}

方法二:使用update方法

dic = {}
dic.update({'a': 'hello'})

dic = {}
dic.update(temp = 'a', help = 'hello')

以上就是向字典里添加元素的两种的方法,添加元素是我们python中使用字典必须要操作的内容,要掌握哟~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

andux

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

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

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

打赏作者

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

抵扣说明:

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

余额充值