当前位置: 首页 > news >正文

免费建材网站模板每日新闻摘抄10一15字

免费建材网站模板,每日新闻摘抄10一15字,网站空间ip查询,网站建设元文章目录 前言1 方案一:使用Chrome用户数据目录2 方案二:手动获取并保存Cookies,后续使用保存的Cookies3 注意事项 前言 在进行使用Selenium进行爬虫、网页自动化操作时,登录往往是一个必须解决的问题,但是Selenium每次…

文章目录

  • 前言
  • 1 方案一:使用Chrome用户数据目录
  • 2 方案二:手动获取并保存Cookies,后续使用保存的Cookies
  • 3 注意事项


前言

  • 在进行使用Selenium进行爬虫、网页自动化操作时,登录往往是一个必须解决的问题,但是Selenium每次打开的浏览器默认是不携带用户数据的,所以每次都需要手动登录。本文将详细介绍如何使用Selenium配合Cookies实现网页的自动登录功能,以链家网站为例进行讲解。

  • 实现思路

    1. 使用本地保存的Chrome用户数据目录
    2. 先手动登录一次获取并保存Cookies,后续使用保存的Cookies

1 方案一:使用Chrome用户数据目录

  • 思想:这种方案的核心是直接使用本地Chrome浏览器的用户数据,包括已保存的登录状态和Cookie信息。

  • 代码实现(代码执行之前先保证手动正常打开网站时,网站是登陆了的,不然使用的用户数据也是没有登陆的,没有用)

from selenium import webdriver
from selenium.webdriver.chrome.service import Servicedriver_path = "E:\\ProgramFiles\\_CodeTools\\ChromeDriver\\chromedriver.exe"
service = Service(driver_path)options = webdriver.ChromeOptions()
# 设置用户数据目录
options.add_argument("--user-data-dir=C:/Users/L/AppData/Local/Google/Chrome/User Data")
# 禁用自动化提示
options.add_experimental_option("useAutomationExtension", False)
options.add_experimental_option("excludeSwitches", ["enable-automation"])browser = webdriver.Chrome(service=service, options=options)
browser.get("https://bj.lianjia.com/ershoufang/")# 后续操作
# ...
  • 核心代码:
options.add_argument("--user-data-dir=C:/Users/L/AppData/Local/Google/Chrome/User Data")

该代码的作用是设置Chrome浏览器的用户数据目录(C:/Users/L/AppData/Local/Google/Chrome/User Data),使得Selenium可以直接使用本地Chrome浏览器的用户数据,包括已保存的登录状态和Cookie信息。不过应注意用户数据目录随操作系统、用户名等不同而不同,需要根据实际情况进行调整。

  • 不同操作系统的数据目录如下:

    • Windows: C:/Users/用户名/AppData/Local/Google/Chrome/User Data
    • macOS: ~/Library/Application Support/Google/Chrome/Profile 1
    • Linux: ~/.config/google-chrome/Default
  • 优点

    • 实现简单,不需要手动处理Cookie,代码量少
    • 可以直接使用本地浏览器的所有配置
  • 缺点

    • 依赖本地Chrome浏览器配置
    • 可能存在跨设备兼容性问题
    • 需要指定正确的用户数据目录路径

2 方案二:手动获取并保存Cookies,后续使用保存的Cookies

  • 思想:这种方案的核心是先通过手动登录获取网站的Cookies信息,将其保存到本地文件,后续使用时直接读取并应用这些Cookies来实现自动登录。

  • 代码实现(第一步:获取Cookies)

import json
from selenium import webdriver
from selenium.webdriver.chrome.service import Servicedriver_path = "E:\\ProgramFiles\\_CodeTools\\ChromeDriver\\chromedriver.exe"
service = Service(driver_path)options = webdriver.ChromeOptions()
options.add_experimental_option("useAutomationExtension", False)
options.add_experimental_option("excludeSwitches", ["enable-automation"])browser = webdriver.Chrome(service=service, options=options)
browser.get("https://bj.lianjia.com/ershoufang/")# 等待手动登录
input("请登录后按回车继续...")# 获取cookie并保存
cookies = browser.get_cookies()
with open("cookies.json", "w") as f:json.dump(cookies, f, indent=4)# 关闭浏览器
browser.quit()

这一步在浏览器打开后网页是没有登录的,需要我们手动按照网页要求进行登录,登录完成后命令行回车,程序获取Cookies后保存到本地文件,结束程序。

  • 代码实现(第二步:使用Cookies实现免登录)
import json
from selenium import webdriver
from selenium.webdriver.chrome.service import Servicedriver_path = "E:\\ProgramFiles\\_CodeTools\\ChromeDriver\\chromedriver.exe"
service = Service(driver_path)options = webdriver.ChromeOptions()
options.add_experimental_option("useAutomationExtension", False)
options.add_experimental_option("excludeSwitches", ["enable-automation"])browser = webdriver.Chrome(service=service, options=options)
browser.get("https://bj.lianjia.com/ershoufang/")# 读取并添加cookie
with open("cookies.json", "r") as f:cookies = json.load(f)
for cookie in cookies:browser.add_cookie(cookie)# 刷新页面,完成登录
browser.refresh()# 后续操作
# ...

这一步代码是读取保存的Cookies,并将其添加到浏览器中,完成自动登录。

  • 核心代码:
# 步骤一:获取并保存Cookies
cookies = browser.get_cookies()
with open("cookies.json", "w") as f:json.dump(cookies, f, indent=4)# 步骤二:读取并使用Cookies
with open("cookies.json", "r") as f:cookies = json.load(f)
for cookie in cookies:browser.add_cookie(cookie)

这段代码展示了Cookies的获取、保存和使用过程。需要注意的是,Cookies通常都有有效期,过期后需要重新获取。

  • 优点
    • 可跨设备使用,便于部署
    • Cookie可以保存和复用
    • 实现更灵活,可以针对不同网站保存不同的Cookie
  • 缺点
    • 需要先手动登录获取Cookie
    • Cookie可能会过期,需要定期更新
    • 实现步骤相对较麻烦

3 注意事项

  1. ChromeDriver版本要与Chrome浏览器版本匹配
  2. Cookie有效期有限,需要定期更新
  3. 不同网站的Cookie获取方式可能不同
  4. 注意Cookie的安全存储,避免泄露
  5. 建议添加异常处理机制
http://www.mmbaike.com/news/63200.html

相关文章:

  • 阅读网站怎么做web网站模板
  • 边坝网站制作搜索引擎下载
  • 建筑招工网站百度查重
  • 整站网站优化运营东莞优化排名推广
  • 做网站交互电商关键词查询工具
  • 网站建设qianhaiyou微信营销推广软件
  • 我县政府网站建设发展状况搜索引擎优化关键字
  • 做网站设计的公司手机网页设计
  • 营销型网站建设_做网站app推广的常用方法
  • 免费做二维码网站上海seo怎么优化
  • 佛山建设网站公司重庆快速网络推广
  • 免费手机网站源码广州疫情最新消息今天封城了
  • 网站开发流程aspseo搜索引擎优化案例
  • 请网站制作公司费用seo入门
  • 高职院校优质校建设专栏网站收录优美图片找不到了
  • 哪个网站做任务赚钱多seo发贴软件
  • 一般网站建设电话百度官网网页版
  • 织梦网站打不开站牛网是做什么的
  • css网页设计模板重庆seo全面优化
  • 专做蔬菜大棚的网站惊艳的网站设计
  • 免费精品发布页怎么设计长沙网站托管优化
  • 建设工程业绩查询网站品牌策略包括哪些内容
  • 做思维导图的网站怎样做推广是免费的
  • wordpress配置全站https企业网站制作
  • 网店装修是什么意思福州短视频seo网红
  • 商城网站建设资讯百度账号登录官网
  • 网站做端口是什么问题宁波最好的推广平台
  • 仿站软件西安计算机培训机构哪个最好
  • 怎么做qq钓鱼网站吗seo优化总结
  • 微信商城网站方案seo网站推广的主要目的包括