详解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语言的面相对象编程方式初步学习
Mar 12 Python
Python如何快速实现分布式任务
Jul 06 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
Django框架使用富文本编辑器Uedit的方法分析
Jul 31 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
python爬虫 urllib模块url编码处理详解
Aug 20 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
Python导入数值型Excel数据并生成矩阵操作
Jun 09 Python
Python必须了解的35个关键词
Jul 16 Python
利用Python发送邮件或发带附件的邮件
Nov 12 Python
python中用ctypes模拟点击的实例讲解
Nov 26 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
PHP安装攻略:常见问题解答(一)
2006/10/09 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
javascript运动详解
2015/07/06 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
[00:28]DOTA2北京网鱼队选拔赛
2015/04/08 DOTA
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
学python需要去培训机构吗
2020/07/01 Python
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
说明书范文
2014/05/07 职场文书
消防宣传语大全
2015/07/13 职场文书
2015年店长个人工作总结
2015/10/23 职场文书
python 实现定时任务的四种方式
2021/04/01 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python