使用pyppeteer淘宝登录
现在淘宝的商品搜索页必须要登录才能见,所以必须要cookies才能进行下一步操作。本期介绍如何使用pyppeteer登录淘宝,获取Cookies。
pyppeteer介绍
地址:
https://github.com/miyakogi/pyppeteer
介绍:
Unofficial Python port of puppeteer JavaScript (headless) chrome/chromium browser automation library.非官方的chrome浏览器,前身是JavaScript的puppeteer
安装:python3 -m pip install pyppeteer
打开网站并截图
import asynciofrom pyppeteer import launchasync def main(): browser = await launch() page = await browser.newPage() await page.goto('https://zhangslob.github.io/') await page.screenshot({'path': 'zhangslob.png'}) await browser.close()asyncio.get_event_loop().run_until_complete(main())
第一次运行时需要下载Chromium,你可以提前在终端输入pyppeteer-install来下载。可以去官方文档去看更多的用法,比如说点击、滑动等等,原理和selenium一样的。
登录淘宝
整体逻辑很简单:
设置启动项,打开一个浏览器
打开淘宝登录页面
修改浏览器属性
输入账号密码
滑动滑块
登录
代码太长,可以直接去Github上看,记得要加上自己的账号密码。记得要用小号,如果长时间使用一个账号,会出现各种各样的验证。
登录的主代码:
async def taobao_login(username, password, url): """ 淘宝登录主程序 :param username: 用户名 :param password: 密码 :param url: 登录网址 :return: 登录cookies """ ### await page.click('#J_QRCodeLogin > div.login-links > a.forget-pwd.J_Quick2Static') page.mouse time.sleep(1) # 输入用户名,密码 await page.type('#TPL_username_1', username, {'delay': input_time_random() - 50}) # delay是限制输入的时间 await page.type('#TPL_password_1', password, {'delay': input_time_random()}) time.sleep(2) # 检测页面是否有滑块。原理是检测页面元素。 slider = await page.Jeval('#nocaptcha', 'node => node.style') # 是否有滑块
if slider: print('当前页面出现滑块') # await page.screenshot({'path': './headless-login-slide.png'}) # 截图测试 flag, page = await mouse_slide(page=page) # js拉动滑块过去。 if flag: await page.keyboard.press('Enter') # 确保内容输入完毕,少数页面会自动完成按钮点击 print("print enter", flag) await page.evaluate('''document.getElementById("J_SubmitStatic").click()''') # 如果无法通过回车键完成点击,就调用js模拟点击登录按钮。 time.sleep(2) cookies_list = await page.cookies() print(cookies_list) return await get_cookie(page) # 导出cookie 完成登陆后就可以拿着cookie玩各种各样的事情了。 else: print("") await page.keyboard.press('Enter') print("print enter") await page.evaluate('''document.getElementById("J_SubmitStatic").click()''') await page.waitFor(20) await page.waitForNavigation()
try: global error # 检测是否是账号密码错误 print("error_1:", error) error = await page.Jeval('.error', 'node => node.textContent') print("error_2:", error) except Exception as e: error = None finally: if error: print('确保账户安全重新入输入') # 程序退出。 loop.close() else: print(page.url) return await get_cookie(page)
所有代码在AwesomeCrawler/taobao_login
如何建立Cookie池
必须多个账号,那么如何注册多个淘宝账号呢。。
可以通过第三方提供手机号验证码服务商,通过pyppeteer注册账号,保存账号信息
登录账号并保存在redis
开线程检查账号是否已过期,若过期重新登录即可
使用pyppeteer淘宝登录相关推荐
- 使用python的pyppeteer模块实现淘宝登录
使用pyppeteer淘宝登录,获取Cookies 现在淘宝的商品搜索页必须要登录才能见,所以必须要cookies才能进行下一步操作.本期介绍如何使用pyppeteer登录淘宝,获取Cookies. ...
- selenium成功绕过淘宝登录反爬机制!
userAgent 信息与正常模式不一致 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Hea ...
- 模拟支付宝、淘宝登录1
1.进入支付宝首页 GET https://auth.alipay.com/login/index.htm HTTP/1.1 Accept: */* Accept-Language: zh-CN Ac ...
- python3爬虫学习笔记之模拟淘宝登录
准备工作 使用chrome f12调试模式,抓包查看淘宝登录的整个流程,并查看post请求的数据 值得注意的是,淘宝用的是gbk编码 说明 此版本没有处理验证码,只是单纯的登录 具体的流程和实现都在代 ...
- 零基础带你用python模拟淘宝登录
经过一段时间的学习,并参考各路大神的文章,总结出一些比较适合小白的网络爬虫的小技巧.跟着笔者的思路,循序渐进,可以慢慢找到一点小感觉. 开发环境 笔者选用的是vs code,轻量级,支持各种插件安装. ...
- 关于淘宝登录的四种解决方案
淘宝登录是爬虫的一个老大难的问题,因为淘宝有那么一群人专门针对爬虫客们下足了功夫,无论你是selenium模拟点击登录,还是利用cookies登录,都会被识别出来,验证码验证始终通过不了,其后台可能采 ...
- python爬虫淘宝登录_python爬虫实现模拟淘宝登录
就算所有人都不支持你.这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾. python爬虫模拟淘宝登录 小贴士 这个爬虫和搜索引擎的爬虫是有区别的.搜 ...
- python爬虫淘宝登录_淘宝的模拟登录(python3+selenium)
淘宝登录 爬数据的前提是要先登录,那么先来说怎么使用python3+selenium登录淘宝的. 一.登录前的准备工作 关于一开始做登录时,一直会出现滑块,这个滑块怎么滑都通过不了,后来才知道是淘宝有 ...
- JS安全防护算法与逆向分析——淘宝登录JS加密算法
淘宝登录JS加密算法 <反爬虫AST原理与还原混淆实战>书稿内容 声明:本教程从安全角度出发讲解,只为增加读者的安全知识,提升读者数据安全意识,以及对于病毒和钓鱼网站的防护能力.绝无其他任 ...
最新文章
- 高通msm8994手动提升性能脚本
- D3js(三):force实例
- 零基础学Python(第八章 for循环·超重点,本章会有几个简单的单层循环练习,后续会有针对算法的单独章节)
- TCP/IP学习笔记(七)四次挥手
- React中后台管理系统添加广告分类显示不出来
- C++学习之路 | PTA乙级——1092 最好吃的月饼 (20 分)(精简)
- 【面向对象】面向对象程序设计测试题5-Java中的对象交互测试题
- miniui单元格点击弹框_miniui 给表格行添加监听事件的几种方法以及点击某列列名数据不能排序的问题...
- 人工智障学习笔记——强化学习(3)蒙特卡洛方法
- Windows xp+Ubuntu 11.10 硬盘安装
- snmp信息的查询命令snmpwalk
- 转:使用Android API最佳实践
- 2022年全新UI聚合支付系统四方源码4月最新更新安全升级修复XSS漏洞和补单漏洞新增诸多实用功能完美版
- 车床角度计算用计算机,3角函数(数控车床角度计算公式)
- spring入参为指定值,校验java入参的值为规定的值,利用Validator指定值校验注解——一看就会
- 硬盘内部硬件结构和工作原理详解
- 『ACM』ACM部分训练日记(以此纪念和队友与FLS一起度过的快乐时光)
- 完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
- 服务器2012系统用什么更新驱动程序,服务堆栈更新程序适用于 Windows 8 和 Windows Server 2012...
- 论文学习——StyleGan原文精读
热门文章
- BeagleBone 机器人项目
- 社保局招聘笔试计算机考试考什么,中国邮政储蓄银行社会招聘笔试内容是什么?...
- 小米10至尊纪念版是5G手机吗 小米10至尊纪念版参数配置
- zabbix php-fpm模板 1
- 联邦学习开源框架调研
- 利用OpenSSL,用国密SM4算法来给文件加密、解密
- python计算方位角_[宜配屋]听图阁
- 【各类计划安排模板】
- 沙龙预告|4.11共建“区块链+数字农业”可信生态 如约而至
- 阿拉德之怒正版服务器,正版游戏的胜利!阿拉德之怒彻底凉凉,DNF手游这波上线稳了...