网络爬虫使用playwright工具来替代selenium工具,模拟浏览器加载动态网页,应对使用了json、ajax的复杂网站,从而通过网络爬虫实现网站自动登录并签到,设计思想如下:
1、打开网站登录页面,输入登录账号进行登录;
2、保存已登录cookies信息用于下次自动登录;
3、使用已获取的cookies来免登陆,打开签到页面,点击签到按钮,实现签到。

import time
import json
# 使用playwright同步API
from playwright.sync_api import sync_playwright# 实现XX网站自动签到# 自动登录,保存Cookies到文件。
def saveCookies():with sync_playwright() as p:# 显示浏览器,每步操作等待50毫秒browser = p.firefox.launch(headless=False, slow_mo=50)context = browser.new_context()page = context.new_page()#读取登录账户信息userf = open('login_account.txt', 'r').readlines()#对账号进行枚举for count, user in enumerate(userf):user = user.split(',')# 用户名及密码usrname = user[0]passwd = user[1]# 登录操作,打开登录页面,输入账号page.goto('你的网址')page.locator('//*[@id="email"]').fill(usrname)page.locator('//*[@id="passwd"]').fill(passwd)page.locator('//*[@id="login"]').click()#等待,用户需要输入验证码等手工处理str = 'y'while str == 'y':str = input('等待中,是否继续等待?y/n。请输入:')  # 控制休眠时间# time.sleep(2)  # 等待页面跳转后,再获取cookies# 获取网站cookiescookies = context.cookies()print(page.title())#两个账号,循环登录,保存cookies到不同文件if count == 0:f = open('cookies163.txt', 'w')else:f = open('cookiesqq.txt', 'w')json.dump(cookies, f)print('已获取cookies')f.close()time.sleep(3)browser.close()# 加载已保存的cookies
def loadCookies(cookief):# 从保存文件中提取cookies,进行免登陆cookiefile = open(cookief, 'r')cookie_list = json.load(cookiefile)  # json读取cookiescookiefile.close()return cookie_list# 使用cookies自动登录,然后进行签到
def signIn():with sync_playwright() as p:browser = p.firefox.launch(headless=False, slow_mo=50)context = browser.new_context()cookiefiles = ['cookies163.txt', 'cookiesqq.txt']for cookiefile in cookiefiles:context.add_cookies(loadCookies(cookiefile))  # 加载已保存的cookies,免登陆page = context.new_page()page.goto('你的签到网页', timeout=50000)time.sleep(1)  # 等待页面加载# 点击签到按钮button = page.locator('//html/body/div/div/section[2]/div[2]/div[3]/div/div[2]/p[2]/button')button.click()#等待,用户需要输入验证码等手工处理str = 'y'while str == 'y':str = input('等待中,是否继续等待?y/n。请输入:')  # 控制休眠时间page.close()browser.close()saveCookies()
signIn()

网络爬虫playwright实现网站自动登录并签到相关推荐

  1. 自动化测试 - 12306火车票网站自动登录工具

    还记得2011年春运,12306火车票预订网站经常崩溃无法登录吗. 今天我们就开发一个12306网站自动登录软件. 帮助您轻松订票 Web的原理就是,浏览器发送一个Request给Web服务器,Web ...

  2. 自动化测试 (一) 12306火车票网站自动登录工具

    还记得2011年春运,12306火车票预订网站经常崩溃无法登录吗. 今天我们就开发一个12306网站自动登录软件. 帮助您轻松订票 通过前两篇博客Fiddler教程和HTTP协议详解,我们了解了Web ...

  3. python脚本自动qq签到_Python爬虫实现自动登录、签到功能 附代码

    这篇文章主要介绍了Python爬虫实现自动登录.签到功能的代码,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 前几天在一个素材网站上下载东 ...

  4. 自动化测试项目实战 ——12306火车票网站自动登录工具

    还记得前几年春运,12306火车票预订网站经常崩溃无法登录吗. 今天我们就开发一个12306网站自动登录软件. 帮助您轻松订票 通过前两篇博客Fiddler教程和HTTP协议详解,我们了解了Web的原 ...

  5. 自动化测试实战(一)12306火车票网站自动登录工具

    还记得2011年春运,12306火车票预订网站经常崩溃无法登录吗. 今天我们就开发一个12306网站自动登录软件. 帮助您轻松订票 Web的原理就是,浏览器发送一个Request给Web服务器,Web ...

  6. 「实用」微信扫码 - 关注公众号后网站自动登录

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:用好Java中的枚举,真的没有那么简单!个人原创+1博客:点击前往,查看更多 作者:destiny 链接:htt ...

  7. 微信扫码:关注公众号后网站自动登录的实现原理

    点击上方 Java后端,选择 设为星标 优质文章,及时送达 作者:destiny 链接:segmentfault.com/a/1190000022188562 序言 常见方式 平常大家见到过最多的扫码 ...

  8. 实现微信扫码或关注公众号后网站自动登录

    常见方式 平常大家见到过最多的扫码登录应该是 开放平台网页登录 大概形式就是:点击微信登录后会出现一个黑页面,页面中有一个二维码,扫码后可以自动获取用户信息然后登录,但是这种方式需要申请开放平台比较麻 ...

  9. 【系统自动化开发】Python实现广东省公务员报名系统网站自动登录

    [系统自动化开发]Python实现广东省公务员报名系统网站自动登录 [系统自动化开发]Python实现广东省公务员报名系统网站自动登录 一.原理 二.代码 [系统自动化开发]Python实现广东省公务 ...

最新文章

  1. F5配置irule,使其系统在X个时间段提供服务,其余时间显示维护页面
  2. [CLR via C#]17. 委托
  3. python管理技巧_8个经典的Python列表技巧,让你数据处理更简单!
  4. 【NLP_Stanford课堂】正则表达式
  5. 帝国整站PHP源码,帝国cms 诗词整站源码
  6. Qt5应用改变窗口大小时出现黑影
  7. SAP UI5 应用开发教程之二十九 - SAP UI5 的路由和导航功能介绍
  8. linux 目录定义,linux根目录定义
  9. jsoup html转义处理,jsoup解析网页出现转义符问题
  10. Struts2.1.6 + Spring2.5+Hibernate3.2整合
  11. 手把手教你编写-微信机器人
  12. 零基础搭建量化交易框架
  13. PLC数据采集解决方案,BCNet数据采集
  14. 联想linux无线网卡驱动,联想E431笔记本CentOS系统安装无线网卡驱动
  15. 如何做好酒店财务管理工作(各部门经理必看)
  16. 必须指定计算机名称,指定网络名不再可用处理方法,指定网络
  17. excel按照颜色排序
  18. 软件工程心得之——产品经理与项目经理的区别
  19. [OHIF-Viewers]医疗数字阅片-医学影像-REACT-Hook API索引
  20. 电赛硬件电路设计抗干扰措施

热门文章

  1. Permissions 0777 for xxx are too open
  2. PPPoE获取到32位掩码的研究
  3. [笔记]新概念英语听力
  4. (DP)codeforces - 710E Generate a String
  5. lopa分析_LOPA分析:使能条件和修正因子在场景识别方法中的应用
  6. 关于DM36x IPNC中IRCUT的使用
  7. chrome浏览器当鼠标碰到超链接的时候会窗口会抖动
  8. 计算机毕业设计(17)python毕设作品之鲜花水果销售系统
  9. Access violation reading location 0xccccccc0运行异常的解决方法
  10. IT土鳖混外企(一)------面试