本次目标
知识点
- 面向对象编程
- selenium 操作浏览器
- pickle 保存和读取Cookie实现免登陆
- time 做延时操作
- os 创建文件,判断文件是否存在
第三方库
selenium >>> pip install selenium==3.4.1
开发环境
- 版 本:anaconda(python3.8.8)
- 编辑器:pycharm
有疑问的同学,或者想要Python相关资料的可以加群:1136201545 找管理员领取资料和一对一解答
先导入所需模块
from selenium import webdriver # 操作谷歌浏览器 需要额外安装的 并且现在安装这个模块得指定版本 3.4from time import sleepimport pickle # 保存和读取cookie实现免登录的工具import os # 操作文件的模块
定义变量
# 大麦网主页damai_url = 'https://www.damai.cn/'# 登陆login_url = 'https://passport.damai.cn/login?ru=https%3A%2F%2Fwww.damai.cn%2F'# 抢票目标页面target_url = 'https://detail.damai.cn/item.htm?id=610820299671'
在这个类里面完成所有的登陆功能
class Concert: # 完成一个初始化 def __init__(self): self.status = 0 # 状态码, 表示当前操作执行到了哪个步骤 self.login_method = 1 # {0: 模拟登陆, 1: 免登录} self.driver = webdriver.Chrome(executable_path='chromedriver.exe')
登陆网站的时候要用的方法 没有登陆的情况下
第一次登陆的时候,会帮助我记录我们的登陆信息
登陆成功之后 cookie会发生变化
def set_cookies(self): self.driver.get(damai_url) # 打开大麦网主页 print("###请点击登陆###") # 如果说我一直没有点击登陆? 我是不是这个程序就停在这里了 while self.driver.title.find('大麦网-全球演出赛事官方购票平台') != -1: sleep(1) # 程序休眠 print("###扫码成功###") pickle.dump(self.driver.get_cookies(), open('cookies.pkl', 'wb')) # 保存cookie print('###cookie保存成功###') self.driver.get(target_url)
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!