原标题:不限量蒜香披萨,Python和Selenium能帮我获得

全文共2297字,预计学习时长6分钟

图源:unsplash

我喜欢吃披萨,特别是 棒约翰的蒜香披萨棒,它简直太美味了。恰好就在我吃完了披萨的外卖后,我收到了棒约翰发来的邮件,一瞬间我欣喜若狂!

免费的披萨!我一定要完成这个调查……

图源:棒约翰的问卷邮件内附图

调查

我以普通受访者的视角完成了调查,然后得到了一份免费蒜香披萨的兑换码。

故事到这里本来应该结束了。但出于好奇,我又看了下原始邮件链接。该链接地址中的GUID参数似乎是一个客户标识符。如果我把它随机变个花样会发生什么?出现了一个全新的调查问卷,等待着更多人完成,然后送给他们免费的披萨棒。

我可以一直这样做!然而,这似乎不是一个利用时间的高效方式——让我们使用一些Selenium魔法。

棒约翰的反馈调查

机器人程序

Selenium Webdriver是一个浏览器自动化框架,主要用于测试。我选择Python作为我的编程语言,并使用Selenium来制作调查机器人。

设置

我运行了pip install selenium和pip install fake_useragent来开始操作。

为了避免可能存在的任何过滤/阻塞机制,随机化这个请求头是个不错的方式——这就是fake_useragent的功能所在。我还需要下载ChromeDriver,以便与Chrome浏览器实现交互。

代码

基本的Selenium设置如下(使用随机的用户代理进行初始化):

from fake_useragent importUserAgent from selenium import webdriver from random import randrange import time ua =UserAgent(verify_ssl=False) user_agent = ua.random print("USERAGENT: "+ user_agent) chrome_options = webdriver.ChromeOptions chrome_options.add_argument("user-agent="+ user_agent) driver = webdriver.Chrome(chrome_options=chrome_options)

在随机化GUID参数之后,机器人程序打开网页并开始进行单击操作。我在每个操作之间增加了一秒钟的延迟,以为页面加载留出时间,同时也能模仿随机受访者的状态。

id =randrange(100000000000000) url ="https://www.papajohnsfeedback.com/GBR?GUID="+str(id) print(url) driver.get(url) time.sleep(1) driver.find_element_by_id('NextButton').click time.sleep(1) driver.find_element_by_id('NextButton').click time.sleep(1) driver.find_element_by_xpath("//div[contains(@class,'Opt1')]/span").click time.sleep(1)

机器人程序代码脚本节选

XPath

XPath是一种用于从HTML或XML文档中选择节点的查询语言。对于每个调查问题,我使用实时XPath测试工具来选择机器人程序要单击的正确节点。当然,我给棒约翰的每样产品都打了五星。

XPath 测试

最终,我们有了披萨兑换码!不用谢!

棒约翰反馈调查

driver.find_element_by_id('NextButton').click time.sleep(1) code = driver.find_element_by_class_name('ValCode').get_attribute("innerHTML").split(' ')[2]

提取验证码

在半个小时的编程后,我完成了Python机器人。

我在棒约翰的结算处输入了每一个生成的代码,于是你就有了无限的蒜香披萨棒供应。

我得到了免费的蒜香面包,棒约翰的市场部也得到了好评。在这个过程中,我也学会了XPath,并磨炼了自己的Selenium技能。

棒约翰收银台

当然,我没有这么做。我把这个漏洞和概念验证视频一起发给了棒约翰,截至我写这篇文章时,他们还没有回复我。然而,这个调查链接已经失效了,我想他们已经收到我的消息了。

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范返回搜狐,查看更多

责任编辑:

换披萨python_不限量蒜香披萨,Python和Selenium能帮我获得相关推荐

  1. 孙正义下重金的机械臂独角兽梦碎:估值最高40亿美元,做披萨太难吃,只好去做披萨盒...

    乾明 十三 发自 凹非寺  量子位 报道 | 公众号 QbitAI 寒潮一来,也能知道谁在裸泳. 2020刚开年,硅谷又一家明星机器人公司倒下,名叫Zume,一度以"机器人+披萨" ...

  2. 菜谱系列:蒜香炸鸡翅

    程序员也是需要精致生活滴!!! 食材:鸡中翅(翅根.翅尖.小鸡腿也行不过感觉没有翅中好吃呢).菜籽油(适合煎炸食物比较香).蒜以及日常调料: 准备:中翅打斜刀泡在清水中备用:剁蒜蓉: 炸蒜油:起锅加油 ...

  3. 5月22日比特币披萨日,今天你吃披萨了吗?

    比特币披萨日 1. Laszlo Hanyecz 2. 最贵披萨诞生记 3. 梭哈买披萨 4. 未完待续 2010年5月22日,美国佛罗里达州的程序员Laszlo Hanyecz(拉兹洛·哈涅克斯)用 ...

  4. 秋农家常菜——老干妈蒜香土豆丝and秘制炝炒莴笋叶

    老干妈蒜香土豆丝: 材料: 油 盐 酱油 老干妈 干辣椒 蒜末 土豆丝(切大块点) 步骤: 1.锅烧热,下油,放盐(少一点): 2.待油煮沸,放干辣椒(别太多): 3.注意观察干辣椒,待干辣椒变的有点 ...

  5. 编写程序实现披萨制作 可供选择的披萨有:培根披萨和海鲜披萨

    面向对象继承 多态的经典案例: 编写程序实现披萨的制作.按需求说明编写程序,接收输人信息      选择需要制作的披萨.      可供选择的披萨有培根披萨和海鲜披萨      实现思路如下:   ( ...

  6. 全家便利店推出小龙虾饭、蒜香小龙虾捞面等夏季限定新品

    今年夏天,中国全家便利店应季推出了小龙虾饭.劲辣小龙虾哇饭团.蒜香小龙虾捞面等多种小龙虾夏季限定新品,款款口碑爆棚.此外,全家三明治系列也迎来了一次"美味加倍"升级,足足七款新品三 ...

  7. 蒜香蒸排骨怎么做好吃 蒜香蒸排骨的做法

    蒜香蒸排骨绝对绝对是人间难得的绝顶美味,鲜香可口任神仙也顶不住啊,那么蒜香蒸排骨怎么做好吃呢?蒜香蒸排骨的做法了解一下. 食材明细 主料 肋排350克 蒜头6瓣 辅料https://www.chach ...

  8. 用海天酱油做出的蒜香肉丝拌面口味如此正宗

    喜欢吃面食的朋友不要错过了,这款蒜香酱油肉丝面会满足你的味蕾!并且烹饪起来也非常简单下面就是我们具体的步骤: 食材: 面条250g 里脊肉100g 大蒜一头 酱油15g 香葱2棵 醋3g 盐1 g 料 ...

  9. 计算营业额python代码_真香还是假香,Python处理分析128张Excel表格竟然不到3秒?| 附案例数据集...

    原标题:真香还是假香,Python处理分析128张Excel表格竟然不到3秒?| 附案例数据集 作者:吹牛Z 本文转自公众号:数据不吹牛 更新完Pandas基础教程,后台有不少旁友留言,想要了解怎么用 ...

最新文章

  1. R语言偏相关或者部分相关性系数计算实战:通过拟合两个回归模型、或者pysch包计算偏相关系数(Partial Correlation)、通过方差分析获得偏相关系数的F统计量(偏F检验、二型检验)
  2. linux 虚拟机不能启动不了系统,虚拟机更改linux初始启动5,出现无法启动现象
  3. CVE-2014-4113_Win32k提权漏洞学习笔记
  4. js操作元素节点对象innerHTML
  5. 生产者消费者的实际使用
  6. Java jdbctemplate赋值_JDBCTemplate基本使用
  7. switch语句可以被代替吗_大空间建筑内的消防水炮可以代替喷淋装置吗
  8. springboot微服务 java b2b2c电子商务系统(一)服务的注册与发现(Eureka)
  9. java递归分苹果_递归较难题——分苹果问题
  10. 模型预测控制_模型预测控制(MPC)算法之一MAC算法
  11. 基于Python+Django+MYSQL的校园食堂点餐管理系统
  12. java平台沙箱安全组件,安全-如何创建Java沙箱?
  13. 社群经济:如何利用社群做营销?
  14. IPv6-IPv4过渡技术详解及配置实例
  15. rsync定时同步备份
  16. 结构等待队列[网络编程]select流程分析
  17. Win11系统Microsoft Store应用商店加载空白,不能下载软件.
  18. win7便签点击删除按钮的时候不弹出提示框
  19. 利用tusharepro进行投资组合优化
  20. 腾讯云认证证书——云计算行业的敲门砖

热门文章

  1. 太牛逼了,Markdown 几行字符就可以生成思维导图了!
  2. Windows 11 系统镜像 泄露修复版(修复PE/实体电脑可装)
  3. Touch ID简单使用
  4. 开始执行不调试按钮为灰色
  5. 修改excel图表中的“系列一”
  6. 忘记电脑密码,修改开机密码
  7. 腾讯绿标域名现在怎么申请?
  8. 华为升级Android10,速来围观!华为、荣耀将升级Android10名单流出!你手机是否在其中...
  9. SQL注入之MySQL注入姿势及绕过
  10. cocos creator 实现手机震动的效果(最全说明)