详解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操作列表之List.insert()方法的使用
May 20 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 Python
Python实现的简单模板引擎功能示例
Sep 02 Python
python中partial()基础用法说明
Dec 30 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
使用python实现ftp的文件读写方法
Jul 02 Python
ERLANG和PYTHON互通实现过程详解
Jul 05 Python
python 随机森林算法及其优化详解
Jul 11 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
Apr 26 Python
python实现斗地主分牌洗牌
Jun 22 Python
python右对齐的实例方法
Jul 05 Python
Python中OpenCV实现简单车牌字符切割
Jun 11 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中使用Oracle数据库(4)
2006/10/09 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
PHP可变函数的使用详解
2013/06/14 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
JavaScript 实现??打印?理
2007/04/28 Javascript
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
vue .sync修饰符的使用详解
2018/06/15 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
2019/09/10 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
Python中getpass模块无回显输入源码解析
2018/01/11 Python
Python的多维空数组赋值方法
2018/04/13 Python
Python实现的堆排序算法示例
2018/04/29 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
简单了解django orm中介模型
2019/07/30 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
戴尔英国官网:Dell英国
2017/05/27 全球购物
课程设计的心得体会
2014/09/03 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书