12306自动登录

@12306,超级鹰

技术实现

使用selenium和超级鹰实现12306自动化登录

难点

1.规避检测

from selenium.webdriver.chrome.options import Options
a = Options()
a.add_experimental_option("excludeSwitches", ["enable-automation"])
a.add_argument("--disable-blink-features=AutomationControlled")
with open('./stealth.min.js') as f:
    js=f.read()

1.验证码识别与处理

bro.get('https://kyfw.12306.cn/otn/resources/login.html')
div=bro.find_element_by_class_name('login-hd-account')
sleep(2)
div.click()
bro.maximize_window()#对整个屏幕进行截图
bro.save_screenshot('a.png')
#获取整个屏幕中验证码部分的图片
code_img_link=bro.find_element_by_xpath('//*[@id="J-loginImg"]')
code_location=code_img_link.location#验证码左上角的坐标
print(code_location)
code_size=code_img_link.size#验证码长和宽
print(code_size)
range_=(code_location['x'],code_location['y'],int(code_location['x']+code_size['width']),int(code_location['y']+code_size['height']))

img_total=Image.open('./a.png') #打开将要处理的图片
code_img='./code.png'
frame=img_total.crop(range_)#处理截取到的图片
frame.save(code_img)

爬虫:12306自动化登录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值