Python3 + Selenium + geckodriver保存cookies

环境准备

操作步骤

  • 运行脚本
__author__ = 'vito'
from selenium import webdriver
import time
import json

#填写webdriver的保存目录
driver = webdriver.Firefox(executable_path='./geckodriver.exe')

#记得写完整的url 包括http和https
driver.get('https://www.baidu.com')

time.sleep(20) # 需要在这段时间内完成手动登录 

with open('cookies_baidu.txt', 'w') as fp:
    fp.write(json.dumps(driver.get_cookies()))


driver.close()
  • 手动登录,打开的浏览器页面输入用户名、密码和验证码,登录成功
  • 查看脚本目录生成的txt文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
requests库和selenium库是用于网络请求和网页自动化的两个Python库,它们可以结合使用来实现更为复杂的网络爬虫和数据采集任务。 下面是一个使用requests和selenium结合的示例程序,可以模拟登录知乎并获取用户信息: ```python import requests from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 模拟登录知乎 def login(username, password): driver = webdriver.Chrome() driver.get("https://www.zhihu.com/signin") # 等待页面加载完成 WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "username"))) # 输入用户名和密码 driver.find_element_by_name("username").send_keys(username) driver.find_element_by_name("password").send_keys(password) # 点击登录按钮 driver.find_element_by_css_selector("button.SignFlow-submitButton").click() # 等待登录成功 WebDriverWait(driver, 10).until(EC.url_contains("https://www.zhihu.com")) # 获取登录后的cookies cookies = driver.get_cookies() driver.quit() return cookies # 使用requests获取用户信息 def get_user_info(cookies): headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"} response = requests.get("https://www.zhihu.com/api/v4/me", headers=headers, cookies=cookies) data = response.json() return data # 测试程序 if __name__ == "__main__": cookies = login("your_username", "your_password") user_info = get_user_info(cookies) print(user_info) ``` 以上代码中,首先使用selenium模拟登录知乎获取登录后的cookies,然后使用requests库发送带有cookies的请求获取用户信息。在requests中,我们可以通过headers参数设置请求头,通过cookies参数传递cookies。 需要注意的是,由于知乎在登录时需要输入验证码,上述代码可能需要手动输入验证码后才能登录成功。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值