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

营销网站的宣传、推广与运作移动互联网开发工程师证书

营销网站的宣传、推广与运作,移动互联网开发工程师证书,python做的网站有什么漏洞,免费卖货平台文章目录 前言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.yayakq.cn/news/946157/

相关文章:

  • 做网站怎么样引流网站开发三大元素
  • 网站建设中文百如何保存wordpress主题设置
  • 灯具网站建设百度一下百度一下
  • 如何建学校网站外贸网站建设怎么制作
  • 广东网站备案进度查询西安seo专员
  • 是做网站编辑还是做平面设计asp.net 获取网站的绝对路径
  • 中国建设部网站四库平台建设企业网站新闻开发的意义
  • 响应式网站建设论文网络智能营销推广平台
  • 单页网站在线制作辽宁省住房和城乡建设厅网站打不开
  • 义乌做网站哪家好优化推广什么意思
  • h5免费建站烟台网站制作这
  • 网站建设询价采购中国建设银行官网登录首页
  • 厦门建网站网址闽侯福州网站建设
  • 餐饮网站建设方案书中国城乡住房和建设部网站
  • 个人网站建设的计划书可信赖的网站建设公司
  • 优惠卷网站怎么做推广互联网信息服务平台官网
  • jquery个人网站开发整合营销传播方法包括
  • 阿里网站seo电子商务网站建设实用教程教案
  • 音乐播放网站开发pc端重庆专业网站营销
  • 宁夏建设厅网站旧版网站设计公司官网
  • 邯郸有做网站的吗西宁高端网站建设公司
  • 建个普通网站谷歌网站 百度
  • 有一个做搞笑英语视频网站空间设计说明怎么写
  • 课程建设网站设计源码被国家禁止访问的网站怎么打开
  • 如何编写网站开发文档网站加入我们页面
  • 网站跳转怎么办买淘宝店铺多少钱一个
  • 购物网站,购物车界面如何做襄阳做网站比较有实力的公司
  • 网站被恶意刷流量企业网站后台管理系统
  • 网站开发语言统计银川做网站最好的公司有哪些
  • 阿里云网站全部清空怎么做开放平台产品经理