赵乾舟 发表于 2021-8-17 08:53:47

拿到登录后的cookies,用带cookies的requests请求链接

在上一篇模拟登陆电影网,并领取积分中,用到了这个知识点,登录后拿到当前网址,并获取登录cookies,然后继续用requests请求网址,把cookies参数写进requests,保持登录状态。详细代码参照29-33行代码,完整代码放在二楼。


赵乾舟 发表于 2021-8-17 08:53:56

# 导包
from selenium import webdriver
import time
import requests
from lxml import etree
# 获取[浏览器]的实例化对象
浏览器对象 = webdriver.Chrome()
浏览器对象.maximize_window()
# 使用浏览器打开网址
浏览器对象.get("https://club.ccmnn.com/")
# 定位并输入用户名
账号 = input('请输入账号:')
用户名 = 浏览器对象.find_element_by_id('ls_username')
用户名.clear()
用户名.send_keys(账号)
# 定位并输入密码id是唯一的
mima = input('请输入密码:')
密码 = 浏览器对象.find_element_by_id('ls_password')
密码.clear()
密码.send_keys(mima)
# 定位登录按钮并点击
登录 = 浏览器对象.find_element_by_xpath("//*[@id='lsform']/div/div/table/tbody/tr/td/button/em")
time.sleep(2)
登录.click()
# 停留10秒钟,人工验证
time.sleep(10)
url = 浏览器对象.current_url
ua = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0"}
cookies = 浏览器对象.get_cookies()
cookies_dict= {}
for i in cookies:
    cookies_dict] = i['value']
respon = requests.get(url=url,headers = ua,cookies=cookies_dict).text
jiexi = etree.HTML(respon)
jifen = jiexi.xpath('//*[@id="extcreditmenu"]/font/text()')
浏览器对象.get("https://club.ccmnn.com/plugin.php?id=hux_miner:hux_miner")
shuaxin = 浏览器对象.find_element_by_id('shouyi_re')
#一定要停留片刻,不然总报错
time.sleep(2)
shuaxin.click()
time.sleep(2)
lingqu = 浏览器对象.find_element_by_id('shouyi_show')
time.sleep(2)
lingqu.click()
time.sleep(2)
浏览器对象.find_element_by_id('fwin_dialog_close').click()
页: [1]
查看完整版本: 拿到登录后的cookies,用带cookies的requests请求链接