详解python 爬取12306验证码


Posted in Python onMay 10, 2019

一个简单的验证码爬取程序

本文介绍了在Python2.7环境下爬取网站验证码:

思路就是获取验证码对应的url,然后发起requst请求,读取该URL对应的内容,然后写入到一个本地文件,实现一个验证码的保存。大量下载可以把以上程序写入一个死循环

代码实现部分:

import ssl
import urllib2
i=1
import time
while(1):

 #不加的话,无法访问12306 
  ssl._create_default_https_context = ssl._create_unverified_context
  # headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"}
  # req = urllib2.Request("http://211.87.155.19/(yfsvlfreem4d0b553vkfzfzt)/CheckCode.aspx", headers=headers)
  # https: // www.zhihu.com / captcha.gif?r = 1495351271125 & type = login
  req = urllib2.Request("https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&0.7174227166135074")
  u=urllib2.urlopen(req)
  data = u.read()
  f = open("C:/Users/123/Desktop/4/"+str(i)+".jpg",'wb')
  print i
  # time.sleep(1)#有时需要加延时,以防被封。
  i=i+1
  f.write(data)
  f.close()

以下就是爬取的照片的截图

详解python 爬取12306验证码

12306的验证码经常让人眼花缭乱,眼睛仔细看也不能100%的对,算是验证码中比较难是别的。一般由八幅图和一个问题组成,而且图片大小位置固定,问题的位置也是固定的,这也稍微降低了识别的难度。八幅图中一般有两幅图是同一物体,有一个和它比较像。不过有一点暂时没法确定,就是样本库到底有多大,或者说是到底有多少个类别,如果进行训练的话,我们必须获取每个类别个的一定数量的图片作为样本。

以上所述是小编给大家介绍的python爬取12306验证码详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python version 2.7 required, which was not found in the registry
Aug 26 Python
Python实现递归遍历文件夹并删除文件
Apr 18 Python
详解Python中的Descriptor描述符类
Jun 14 Python
基础的十进制按位运算总结与在Python中的计算示例
Jun 28 Python
python常用函数详解
Sep 13 Python
Python算术运算符实例详解
May 31 Python
Python多进程并发与多线程并发编程实例总结
Feb 08 Python
python实现的爬取电影下载链接功能示例
Aug 26 Python
Python使用正则表达式实现爬虫数据抽取
Aug 17 Python
Python实现定时监测网站运行状态的示例代码
Sep 30 Python
python实现简单的井字棋
May 26 Python
教你用python实现12306余票查询
Jun 30 Python
详解用python写一个抽奖程序
May 10 #Python
python实现小球弹跳效果
May 10 #Python
基于python实现百度翻译功能
May 09 #Python
python使用time、datetime返回工作日列表实例代码
May 09 #Python
python 对字典按照value进行排序的方法
May 09 #Python
使用Django开发简单接口实现文章增删改查
May 09 #Python
python GUI实现小球满屏乱跑效果
May 09 #Python
You might like
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
CodeIgniter扩展核心类实例详解
2016/01/20 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
Javascript 去除数组的重复元素
2010/05/04 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
Vue父组件监听子组件生命周期
2020/09/03 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
python提取内容关键词的方法
2015/03/16 Python
详解Python文本操作相关模块
2017/06/22 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
NumPy统计函数的实现方法
2020/01/21 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
英国首屈一指的票务公司:See Tickets
2019/05/11 全球购物
英语专业毕业生自我鉴定
2013/11/09 职场文书
自主招生推荐信范文
2014/05/10 职场文书
医学求职信
2014/05/28 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
大学军训通讯稿
2015/07/18 职场文书
2016党员党课心得体会
2016/01/07 职场文书
话题作文之成长
2019/12/09 职场文书
Redis数据结构之链表与字典的使用
2021/05/11 Redis
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL