之前用了谷歌的selenium模块,为了练习一下 所以写了这个(没错 才不是别的理由!)dddd

代码里涉及到了各种复杂的情况,包括要找的div在别的iframe中的处理方式,顶部导航栏的定位方式等等。综合性很强

下面是代码

from selenium import webdriver
import time
from fake_useragent import UserAgentopt = webdriver.ChromeOptions()
# opt.add_argument('--headless')# 更换头部
ua = UserAgent()
opt.add_argument('user-agent="%s"' % ua.random)
driver = webdriver.Chrome(chrome_options=opt)class HongZha:def __init__(self):self.phone = 'xxxxxxxxxxx'    # your phone numberself.num = 0# 发送验证码def send_yzm(self, button, name):button.click()self.num += 1print("{}  第{}次  发送成功  {}".format(self.phone, self.num, name))def youku(self, name):driver.get('https://www.youku.com/')driver.implicitly_wait(10)driver.find_element_by_xpath('//img[@class="a-avatar_17DKW"]').click()time.sleep(3)driver.find_element_by_xpath('//a[@href="javascript:void(0);"]').click()time.sleep(3)driver.find_element_by_xpath('//input[@class="fm-text"]').send_keys(self.phone)button = driver.find_element_by_xpath('//a[@class="send-btn-link"]')self.send_yzm(button, name)# 瓜子注册接口def guazi(self, name):try:driver.implicitly_wait(10)driver.get("https://www.guazi.com/www/bj/buy")a_btn = driver.find_element_by_xpath("//a[@class='uc-my']")a_btn.click()tel = driver.find_element_by_xpath("//input[@name='phone']")tel.send_keys(self.phone)button = driver.find_element_by_xpath("//button[@class='get-code']")self.send_yzm(button, name)except:print('faled')# 唯品会注册接口def wphui(self, name):driver.get("https://passport.vip.com/register?src=https%3A%2F%2Fwww.vip.com%2F")driver.implicitly_wait(10)tel = driver.find_element_by_xpath("//input[@placeholder='请输入手机号码']")tel.send_keys(self.phone)driver.find_element_by_xpath('//a[contains(./text(),"获取验证码")]').click()button = driver.find_element_by_xpath("//a[@class='ui-btn-medium btn-verify-code ui-btn-secondary']")self.send_yzm(button, name)# 有赞注册接口def youzan(self, name):driver.get('https://account.youzan.com/login')driver.implicitly_wait(10)driver.find_element_by_xpath('//img[@src="//b.yzcdn.cn/wsc-pc-account/images/pc@2x.png"]').click()driver.find_element_by_xpath('//li[@class="js-tab-captcha-login"]').click()driver.find_elements_by_xpath('//input[@name="phoneInfo"]')[0].send_keys(self.phone)button = driver.find_elements_by_xpath('//div[@class="sms-btn js-get-identify-code"]')[0]self.send_yzm(button, name)# 拼多多短信登陆接口def pinduoduo(self, name):driver.get('http://mobile.yangkeduo.com/login.html')driver.implicitly_wait(10)driver.find_element_by_xpath('//div[@class="phone-login"]/span').click()driver.find_element_by_xpath('//input[@id="user-mobile"]').send_keys(self.phone)time.sleep(3)button=driver.find_element_by_xpath('//button[@id="code-button"]')self.send_yzm(button, name)def wangyiyun(self, name):driver.get('https://music.163.com/')driver.implicitly_wait(10)driver.find_elements_by_xpath('//a[@class="link s-fc3"]')[0].click()driver.find_element_by_xpath('//a[@class="u-btn2 u-btn2-1"]').click()driver.find_element_by_xpath('//input[@class="j-phone txt u-txt"]').send_keys(self.phone)driver.find_element_by_xpath('//input[@class="j-pwd u-txt"]').send_keys('woshinibaba123')button = driver.find_element_by_xpath('//a[@class="j-btn u-btn2 u-btn2-2"]')self.send_yzm(button, name)def weibo(self, name):try:driver.get('https://weibo.com/signup/signup.php')driver.implicitly_wait(10)driver.find_elements_by_xpath('//input[@class="tel_num"]')[0].send_keys(self.phone)driver.find_element_by_xpath('//input[@class="W_input"]').send_keys('woshinibibi123')s = driver.find_element_by_xpath('//select[@class="sel year"]')s.find_element_by_xpath('//option[@value="1996"]').click()s = driver.find_element_by_xpath('//select[@class="sel month"]')s.find_element_by_xpath('//option[@value="1"]').click()s = driver.find_element_by_xpath('//select[@class="sel day"]')s.find_element_by_xpath('//option[@value="1"]').click()button = driver.find_element_by_xpath('//a[@class="W_btn_e"]')self.send_yzm(button, name)except:passdef baiduyun(self, name):driver.get('https://login.bce.baidu.com/reg.html?tpl=bceplat&from=portal')driver.implicitly_wait(10)driver.find_elements_by_xpath('//input[@placeholder="用户名"]')[0].send_keys('123sasdsa')driver.find_elements_by_xpath('//input[@placeholder="密码"]')[0].send_keys('Aa123123123')driver.find_elements_by_xpath('//input[@placeholder="确认密码"]')[0].send_keys('Aa123123123')driver.find_elements_by_xpath('//input[@placeholder="手机号"]')[0].send_keys(self.phone)button = driver.find_element_by_xpath('//button[@class="btn-light"]')self.send_yzm(button, name)def huaweiyun(self, name):driver.get('https://reg.huaweicloud.com/registerui/cn/register.html?locale=zh-cn&channelFrom=MTAyMQ==&fromuser=null&service=https%3A%2F%2Factivity.huaweicloud.com%2F2019august_promotion%2Findex.html%3Futm_source%3Dbaidu-a%26utm_medium%3Dse-cpc-op%26utm_campaign%3DPP-%25E7%25AB%259E%25E5%2593%2581%26utm_content%3DPP-%25E7%25AB%259E%25E5%2593%2581-%25E9%2598%25BF%25E9%2587%258C%25E4%25BA%2591%26utm_term%3D%25E9%2598%25BF%25E9%2587%258C%25E4%25BA%2591#/register')driver.implicitly_wait(10)driver.find_elements_by_xpath('//input[@placeholder="请输入您的手机号"]')[0].send_keys(self.phone)button = driver.find_elements_by_xpath('//div[@id="msgBtn"]')[0]self.send_yzm(button, name)def yinxiang(self, name):driver.get('https://static.app.yinxiang.com/embedded-web/registration/index.html?targetUrl=%2FHome.action#/registration')driver.implicitly_wait(10)driver.find_elements_by_xpath('//input[@class="registration-account-input "]')[0].send_keys(self.phone)driver.find_elements_by_xpath('//input[@placeholder="设置密码,至少6位字符"]')[0].send_keys('woshinibaba123123')button = driver.find_elements_by_xpath('//div[@class="registration-sms-vercode-btn-validate"]')[0]self.send_yzm(button, name)time.sleep(3)def douban(self, name):driver.get('https://www.douban.com/')driver.implicitly_wait(10)iframe = driver.find_elements_by_tag_name("iframe")[0]   # 由于要找的input在iframe中,直接定位不到该目标,要先转换到其所在的iframe中才行driver.switch_to_frame(iframe)driver.find_elements_by_xpath('//input[@name="phone"]')[0].send_keys(self.phone)button = driver.find_elements_by_xpath('//div[@class="account-form-field-code"]')[0]self.send_yzm(button, name)time.sleep(3)def aibiying(self, name):driver.get('https://www.airbnb.cn/?af=43896654&c=.pi9.pkbaidu_brd_brandzone_demand_title_p1&src=Baidu&medium=PPC&ag_kwid=2299-36-57701246c0b98773.6a0cc0f87b49337e')driver.implicitly_wait(10)driver.find_elements_by_xpath('//div[@class="_18lcoy3z"]')[7].click()  # 顶部导航栏直接定位不到,要先定位导航栏,再逐步定位driver.find_elements_by_xpath('//input[@class="_kbzo2td"]')[0].send_keys(self.phone)button = driver.find_elements_by_xpath('//button[@class="_1wficfyg"]')[0]self.send_yzm(button, name)time.sleep(3)# 循环执行def main(self):while True:self.guazi('瓜子')time.sleep(3)self.pinduoduo('拼多多')time.sleep(3)self.wphui('唯品会')time.sleep(3)self.youzan('有赞')time.sleep(3)self.wangyiyun('网易云')time.sleep(3)self.weibo('微博')time.sleep(3)self.baiduyun('百度云')time.sleep(3)self.huaweiyun('华为云')time.sleep(3)self.yinxiang('印象笔记')time.sleep(3)self.douban('豆瓣')time.sleep(3)self.aibiying('爱彼迎')time.sleep(10800)if __name__ == '__main__':hongzha = HongZha()hongzha.main()

python 验证码收取相关推荐

  1. python gifmaze_Windows平台python验证码识别

    参考: http://oatest.dragonbravo.com/Authenticate/SignIn?returnUrl=%2f http://drops.wooyun.org/tips/631 ...

  2. 深入Python 验证码解析

    介绍 在Python的实战中爬虫承担相当重要的角色,而验证码识别则是爬虫中一个重点.验证码是一个网站项目的守卫,如果不能通过验证码识别,那后期的爬虫则无法进行.本文详细介绍Python验证码识别的具体 ...

  3. Python验证码识别

    大致介绍 在python爬虫爬取某些网站的验证码的时候可能会遇到验证码识别的问题,现在的验证码大多分为四类: 1.计算验证码      2.滑块验证码 3.识图验证码 4.语音验证码 这篇博客主要写的 ...

  4. python 验证码_4行Python代码生成图像验证码

    点击上方蓝色字体,关注我们 最近无意看到网上有人使用Python编写几十行代码生成图像验证码,感觉很是繁琐,这里为各位朋友推荐两种方法,使用4行Python代码即可生成验证码. 1 captcha库 ...

  5. python验证码 识别代码不准_谈谈Python进行验证码识别的一些想法

    用python加"验证码"为关键词在baidu里搜一下,可以找到很多关于验证码识别的文章.我大体看了一下,主要方法有几类:一类是通过对图片进行处理,然后利用字库特征匹配的方法,一类 ...

  6. python 验证码图片 模拟登录_Python 模拟生成动态产生验证码图片的方法

    模拟动态产生验证码图片 模拟生成验证码,首先要做的是生成随机的字母,然后对字母进行模糊处理.这里介绍一下 Python 提供的 Pillow 模块. Pillow PIL:Python Image L ...

  7. 验证码_12306验证码很难吗?2020年最新的Python验证码模块开源

    原文: 微信公众号:Charles的皮卡丘 https://mp.weixin.qq.com/s?src=11&timestamp=1589173877&ver=2331&si ...

  8. Python验证码识别初探(tesserocr库)

    转载自:https://juejin.im/post/5b1b3cd26fb9a01e700ffe5b 前言 写爬虫有一个绕不过去的问题,那就是验证码,比如像某乎,如果不先登陆,连里面的内容数据都爬不 ...

  9. python验证码生成器_用Python实现随机验证码

    0.说明 在网络上各种平台上登陆时,都会看到各种各样的验证码,大部分都是字母+数字的随机验证码,下面来主要是通过Python生成一个可以包含大小写字母和数字的随机验证码. 1.思路 在Python中, ...

最新文章

  1. __new__ __init__区别
  2. jenkins android sdk,Jenkins为什么找不到Android SDK?
  3. 软件工程随堂小作业——随机四则运算Ⅱ(C++)
  4. 2.2基本算法之递归和自调用函数_你为什么学不会递归?读完这篇文章轻松理解递归算法...
  5. Python3 中 sys.argv[ ]的用法解释
  6. psychopy 与脑电打码 eeg
  7. Python 第三方模块之 psutil - 获取系统运行的进程和系统利用率信息
  8. RabbitMQ+haproxy+keeplived 高可用负载均衡+镜像集群模式_集成高性能高可用组件 Keepalived_03
  9. 有规律的进行效果最好--打扫有感
  10. 判断用户用手机访问还是用电脑访问网页
  11. 【AWVS破解安装学习】
  12. 计算机两个基准键用户来定位,键盘与指法基准键位练习
  13. 九橡项目工时管理系统部署笔记
  14. python中没有严格意义上的私有成员_尔雅尔雅学习通APP家园的治理:环境科学概论题库及答案...
  15. IAR 8.50.9破解后,遇到IarIdePm Encoutered an improper argument错误记录
  16. 【美女送福利了win7主题】
  17. oracle database link
  18. python代码补全_python命令自动补全
  19. 如何批量下载网站中的超链接(一次性下载网页中所有可能的PDF文件)
  20. DITHER 抖动算法(转载)

热门文章

  1. centos hostname修改方法
  2. Python制作七夕比心表白
  3. 2023年Web前端开发学习路线图
  4. 高智商男性对伴侣更忠诚
  5. QUIC-HTTP/3介绍
  6. Pythonista3安装stash后,启动lauch_stash.py失败
  7. windows10修改用户名 从中文修改为英文
  8. C++ Primer Plus 编程练习4.13
  9. 普罗米修斯 监控 postgresql
  10. 高德地图批量地理编码的问题