python 自动登录 验证码,python验证码登录代码

  python 自动登录 验证码,python验证码登录代码

  使用requests加上打码平台云打码,实现登陆有图片验证的网站,是图片验证码。

  豆瓣的登录验证方式被改了,是点击验证和图片滑动验证相结合,所以被试无法使用豆瓣。

  图片不能是js写的,一定要有图片的网址,不然没办法获取验证码图片(我还在学基础,不知道怎么获取JS写的图片)

  然后我想到了一个笨办法,发现虽然在网页中无法获取js写的图片的网址,但是把鼠标放在src上就可以看到图片的网址,所以直接用网址。自己测试也可以,只是针对一个网站,其他的就不知道了。

  #云编码平台实现验证码登录流程:

  # 1.用验证码抓取页面数据。

  # 2.解析页面数据中的验证码,图片下载到本地。

  # 3.将验证码图片提交到云编码平台进行识别,返回验证码图片上的数据值。

  #云编码平台:

  # 1.在官网注册(普通用户和开发者用户都必须注册)

  #普通用户用它来识别验证码是要扣费的。

  #由开发人员用户用来获取界面

  # 2.登录开发人员帐户:

  # 1.下载示例代码-开发人员文档-调用示例和下载最新的DLL-pythonHTTp示例

  # 2.创建软件:-我的软件-添加软件

  # 3.对示例代码的源代码进行更改。

  如果云编码平台提供的样本代码用以下信息修改就好了:

  Getimg (codeimg): # username(普通用户)username= * * * * * * *

  #密码(普通用户)

  密码=*******

  #软件ID,由开发者分成必要的参数。登录开发者后台【我的软件】获取!

  appid=6431

  #软件密钥,开发者将其划分为必要的参数。登录开发者后台【我的软件】获取!

  appkey= 3c 8 AC 0 f 181871 BD 22674 a 631 e 74d 41 c 8

  #图片文件

  Filename=codeImg #这里是一个变量,它存储您获得的图像验证的本地路径。

  #验证码类型,#举例:1004代表4位数字,不同类型收取不同费用。请准确填写,否则会影响识别率。在此查询所有类型的http://www.yundama.com/price.html验证码列表。

  代码类型=3000

  #超时时间,秒

  超时=20

  #检查

  If (username==username): #判断你的参数是否设置好了。

  打印(测试前请设置相关参数)

  否则:

  #初始化

  Yundama=YDMHttp(用户名,密码,appid,appkey) #实例化YDMHttp类参数如上定义。

  #登录云进行编码

  uid=yundama . log in();

  打印( uid: %s % uid )

  #查询余额

  balance=yundama . balance();

  打印(“余额:% s“%余额”)

  #开始识别、图像路径、验证码类型ID、超时(秒)、识别结果

  cid,result=yundama.decode(文件名,代码类型,超时);

  print(cid: %s,结果:%s % (cid,结果))

  Return #返回识别后图像的验证码值(不是100%成功,图像中噪声太大,或者其他因素可能导致识别不成功)自己写的代码name=input(请输入用户名:)

  Password=input(请输入密码:)

  #访问要登录的网站,获取验证码图片

  Img_url=登录页面的url

  标题={

  用户代理: Mozilla/5.0(Windows NT 10.0)apple WebKit/537.36(KHTML,如Gecko)

   chrome/65 . 0 . 3325 . 181 Safari/537.36

  }

  page _ text=requests . get(URL=img _ URL,headers=headers)。text #用验证码发起对登录页面的请求,并获取返回的数据。

  # tree=etree。HTML(page_text) #生成etree对象

  code _ URL= 3358 * * * * */qkonline-PC-provider/captcha-image #使用xpath获取图像地址。本来是xpath图片的URL,但是我这个URL是js写的,我做不到。

  # print(codeimg_url)用了我自己的方法。我把鼠标放在src属性上,然后自己记下了url。内网地址用* * * *代替code _ img=requests . get(URL=code img _ URL,headers=headers)。Content #请求图片并获得二进制数据。

  带开(。/img.png , wb )作为fp:

  fp.write(code_img)

  codeText=getImg(./img.png) #将验证码图片提交到云打码平台进行识别,并取得返回的值

  # 进行登陆

  post _ URL= http://* * * * * * * */qk online-PC-provider/预登录? gotoURL=http://* * * * * * * client=http://* * * * * * * system tag=eSale

  数据={

  gotoURL: http://es.qk365.com ,

  客户端:http://es.qk365.com ,

  systemTag: eSale ,

  姓名:姓名,#这个是自己输入的用户名

  密码:密码,请按井号键这个是自己输入的密码

  令牌:代码文本#这个是获取到的图片验证码的值,也就是上面示例代码的返回值,建议给上面写成一个函数}

  # 文件写入

  log in _ text=请求。post(URL=post _ URL,data=data,headers=headers).文本

  带开(。/login.html , w ,编码=utf-8 )作为fp:

  fp.write登录_文本)转载于:https://www。cnblogs。com/Wei-Yu/p/10307400。超文本标记语言

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • qq短信验证码发送失败怎么回事,qq验证码失败是怎么回事
  • ,,使用阿里大于(大鱼)平台进行发送手机验证码的流程
  • ,,SpringSceurity实现短信验证码登陆
  • android读取短信验证码,
  • android读取短信验证码,,Android使用MobSDK短信验证
  • android自动获取短信验证码功能在哪,安卓自动获取短信验证码
  • android自动获取短信验证码功能在哪,android自动获取短信验证码功能失效,Android自动获取短信验证码功能
  • android实现短信验证码自动填写功能是什么,安卓短信验证码自动填充 实现
  • android实现短信验证码自动填写功能是什么,安卓短信验证码自动填充 实现,Android实现短信验证码自动填写功能
  • android如何通过手机自动获取短信验证码信息,安卓自动获取短信验证码
  • android如何通过手机自动获取短信验证码信息,安卓自动获取短信验证码,Android如何通过手机自动获取短信验证码
  • ,,python网络爬虫实现发送短信验证码的方法
  • ,,Python实现滑块拼图验证码详解
  • ,,python3 破解 geetest(极验)的滑块验证码功能
  • 发验证码不在桌面显示,验证码能收到桌面上不显示怎么回事
  • 留言与评论(共有 条评论)
       
    验证码: