打印英语四六级准考证

注意点:
1.你必须具备一个能知道自己身份的资料
2.你还需要有第三方的验证码接口,其实不贵,1元可以500次,直接搜快识别注册就可以了
3.使用ip代理(不推荐,这是不合法的),当你爬到某次数时,会限制你爬取。(这还在学)
下面上代码:

import base64
import json
import time  # 计算耗费时间
import pymysql  # 连接数据库,由于我把数据存在数据库里面的
import requests
from selenium import webdriver# 就是点提交的时候判断是否有弹框出现
def isElementExist():flag = Truetry:driver.find_element_by_css_selector('body > div.panel.window.panel-htop.messager-window')return flagexcept:flag = Falsereturn flag# 第三方验证码API接口,我这里用的是快识别的接口,我觉得接近99.8%的正确率
def base64_api(uname, pwd, img, typeid):with open(img, 'rb') as f:base64_data = base64.b64encode(f.read())b64 = base64_data.decode()data = {"username": uname, "password": pwd, "typeid": typeid, "image": b64}result = json.loads(requests.post("http://api.ttshitu.com/predict", json=data).text)if result['success']:return result["data"]["result"]else:return result["message"]return ""# 具体逻辑代码
def input_content(key,cname):time.sleep(3)# 选择省份按钮driver.find_element_by_css_selector('#selProvince > option:nth-child(18)').click()time.sleep(2)# 选择身份证类别按钮driver.find_element_by_css_selector('#selIDType > option:nth-child(2)').click()time.sleep(3)# 自动填写身份证driver.find_element_by_css_selector('#txtIDNumber').send_keys(key)time.sleep(1)# 自动填写米子按钮driver.find_element_by_css_selector('#txtName').send_keys(cname)# 截取图片img_label = driver.find_element_by_css_selector('#vcodeImg')time.sleep(2)# 截图保存本地,并发送给第三方。img_label.screenshot('yanzhengma.png')# 获得验证码result = base64_api(uname='你的快识别用户名', pwd='你的跨识别密码', img='验证码保存的路径在哪', typeid=3)# 发送验证码time.sleep(1)# 填写第三方发送的验证码driver.find_element_by_css_selector('#txtVerificationCode').send_keys(result)# 点击登录按钮time.sleep(4)driver.find_element_by_css_selector('#ibtnLogin').click()# 这里看是否有弹框,因为点击提交时,有可会有错误,验证码错误,或者给同学没有报名,所以必须判断result = isElementExist()print(result)# 为真有弹框弹出if result:# 点击弹框里面的内容a = driver.find_element_by_css_selector('body > div.panel.window.panel-htop.messager-window > div.messager-body.panel-body.panel-body-noborder.window-body > div:nth-child(2)').text# 把验证错误的记录下来,并保存到文件中,以便查看if a== '验证码错误':with open('c.txt', mode='a', encoding='utf-8') as f:f.write(str(cname))f.write(str(key))print('================================',a , key, cname)# 点击弹框的确定按钮driver.find_element_by_css_selector('body > div.panel.window.panel-htop.messager-window > div.dialog-button.messager-button > a').click()# 点击首页按钮driver.find_element_by_css_selector('#nav > div > ul > li:nth-child(2) > a').click()time.sleep(2)# 点击快速进入准考证按钮driver.implicitly_wait(5)driver.find_element_by_css_selector('#main_l > a.c_hei.cet_banner06').click()else:time.sleep(2)# 点击下载pdf按钮driver.find_element_by_css_selector('tbody > tr > td:nth-child(2) > a').click()time.sleep(6)# 首页按钮driver.find_element_by_css_selector('#nav > div > ul > li:nth-child(2) > a').click()time.sleep(2)# 进入按钮# 智能等待时间driver.implicitly_wait(5)driver.find_element_by_css_selector('#main_l > a.c_hei.cet_banner06').click()# 连接我自己的数据库
def connect_db():db = pymysql.connect(host='localhost',user='root',password='数据库密码',database='数据库名称',port=3306,charset='utf8')cursor = db.cursor()cursor.execute('select sname,carid from dangzhibu where cid not like "2016%"')db.commit()# 返回所有的结果result = cursor.fetchall()cursor.close()db.close()return resultlis = list(connect_db())  # 连接数据库返回的结果
# 返回一个浏览器对象
driver = webdriver.Edge('C:\Program Files (x86)\Microsoft\Edge\Application\msedgedriver.exe')
driver.get('http://cet-bm.neea.edu.cn/Home/QuickPrintTestTicket')
# 浏览器最大化
driver.maximize_window()
# 遍历所有数据库查询到的信息
# 如果没有数据库,可以直接调用input_content(身份证号,名字),不需要数据库
for i in lis:input_content(i[1],i[0])time.sleep(5)

总结:再写这个的时候还是遇见一些问题,比如怎么判断弹框是否出现,还有休眠时间的设置,这些都是一个很大的问题,特别是休眠时间需要把握,如果快了,按钮没有出来就需要点,结果就报错了。这个也可以用多线程,但是尽量不要用。

打印英语四六级准考证pdf相关推荐

  1. 全国计算机英语四六级准考证打印准考证号,大学英语四六级准考证打印入口|四六级准考证打印入口2020...

    全国大学英语四.六级考试马上就开始啦,准备考四六级的你还不知道​​​大学英语四六级准考证打印入口|四六级准考证打印入口2020.中公教师网小编把​大学英语四六级准考证打印入口|四六级准考证打印入口20 ...

  2. 计算机六级准考证,2016英语四六级准考证查询系统

    最近2016年的英语四六级考试成绩正式公布,可能有部分考生的准考证不慎丢失或者忘记放哪了都没法查成绩了.这里太平洋下载中心给大家提供的这款2016英语四六级准考证查询系统可以帮你在线查询你的四六级准考 ...

  3. python四级成绩_四六级准考证号模糊查询工具下载-英语四六级准考证号模糊查询小工具下载Python版-西西软件下载...

    想查自己的四六级成绩缺忘了准考证号码?试试英语四六级准考证号模糊查询小工具呗!这是一款由Python爬虫语音编写成的小软件,只需要输入身份号或者准考证前十位数,它可以帮你快速的查询出你的四六级成绩和准 ...

  4. 2021河北高考英语口试成绩查询6,2020河北英语四六级准考证查询入口:http://cet-bm.neea.cn/Home/QueryTestTicke...

    2020河北英语四六级准考证查询入口:http://cet-bm.neea.cn/Home/QueryTestTicket.根据中国教育考试网消息,全国四六级英语成绩查询时间为今天上午10点开始,各位 ...

  5. 全国计算机英语四六级准考证打印准考证号,2017全国大学生英语四六级准考证打印...

    2017年上半年度CET考试时间为6月17日,同学们打印准考证了吗?为方便大家打印四六级准考证,yjbys小编为大家分享英语四级考试准考证打印官方主页入口如下: 2017年上半年度CET考试时间及报名 ...

  6. 大学英语四六级准考证号找回最新教程!

    前段时间公布了 下半年四六级考试查分时间为 2019年2月26日下午13时 开放查询 忘记准考证的同学注意了! 由于免准考证查询接口已经永久关闭 (上次查询同学应该有体会) 必须通过准考证号码形式查询 ...

  7. 忘记英语四六级准考证号怎么办——简单方法实测有效

    2019年下半年CET准考证查询官方查询地址点击立即跳转 填写完信息后.即可查询到准考证号 ps. 2019年下半年全国大学英语四.六级考试(含口语)成绩将于2020年2月21日上午10时发布

  8. 英语四六级准考证和成绩忘了用python找回(2018)

    GitHub地址 https://github.com/HelKim/cet_check_grade 功能说明 功能为用暴力搜索的方法查找CET(英语四六级)的成绩,对忘了准考证的同学有用 使用说明 ...

  9. electron 打印需要联网的吗?_英语四六级考试准考证怎么打印,需要彩打吗

    成功报名2019年下半年英语四六级考试的同学,不要忘记自己的四六级准考证哦,根据各高校不同的规定,有的学校会由学校统一打印,下发到考生手中:有的学校需要考生自行打印,那么,自行打印准考证,四六级准考证 ...

最新文章

  1. python经典例题图形_Python 入门经典100实例:实例23 菱形
  2. HALCON基于灰度值的模板匹配
  3. 【转】计算机中浮点数的表示
  4. 【miscellaneous】关于gst ffmpeg插件的安装心得
  5. Codeforces 474C Captain Marmot 给定4个点和各自旋转中心 问旋转成正方形的次数
  6. gradle 构建 Smack 报错:Can't find android.jar for 8 API. + steps for building android platform
  7. linux 一个读写锁的使用异常导致的故障
  8. MacOS Catalina降级Mojave
  9. 嵌入式开发 ARM Cortex-M3处理器技术优势分析
  10. hevc参考代码matlab版,HEVC部分源码剖析
  11. 微信开发者工具使用bug
  12. STM32平台下的TM1812驱动
  13. WordPress Feed跳转
  14. 向windows服务器传输大文件时提示未知错误解决方法
  15. python的图导入origin,导入Numpy或OriginPro和Python时出现问题
  16. 微信小程序支付组件开发实战
  17. 又要去迪士尼了。。。
  18. 移动通信网络规划:覆盖场景划分
  19. winhex 16.6
  20. 微信小程序数据绑定如何绑定函数方法

热门文章

  1. 又来了,上班又开始了,奋斗还得继续....
  2. 输入你的密码来连接到_WiFi密码正确,但是手机却一直连不上?最全解决方法在这里...
  3. w10系统打不开服务器共享打印机,w10连接共享打印机提示无法访问的详细解决办法【图文】...
  4. java正则表达式所有字符串_java正则表达式如何获取字符串中所有匹配内容
  5. C#高德地图坐标和百度坐标互相转换
  6. git将代码提交到远程分支(非主分支)
  7. Windows向苹果和安卓开放
  8. 数据挖掘与数据仓库的课程体会
  9. 无业男子冒充清华研究生成网红,卖假货判处有期徒刑3年,处罚金50万元
  10. 【举例说明】 利用cmd代码将图片png格式转为图片eps格式