[Python] 纯文本查看 复制代码#_*_coding:utf-8_*_

import urllib2,urllib

import ssl

import cookielib

import simplejson

import img

import re

from youjian import send

from station import station_names

stationDict={}

for i in station_names.split('@')[1:]:

stationList=i.split('|')

stationDict[stationList[1]]=stationList[2]

c=cookielib.LWPCookieJar()

cookie=urllib2.HTTPCookieProcessor(c)

opener=urllib2.build_opener(cookie)

urllib2.install_opener(opener)

headers={

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0',

'Referer':'https://kyfw.12306.cn/otn/resources/login.html'

}

ssl._create_default_https_context=ssl._create_unverified_context

#v出发时间

train_date='2019-01-25'

#起始站

fromStation='深圳'

from_station=stationDict[fromStation]

#终点站

toStation='武汉'

to_station=stationDict[toStation]

#登陆操作

def login():

req=urllib2.Request(

'https://kyfw.12306.cn/passport/captcha/captcha-image?login_site=E&module=login&rand=sjrand'

)

req.headers

imgCode=opener.open(req).read()

with open('code.png','wb') as fn:

fn.write(imgCode)

req=urllib2.Request(

'https://kyfw.12306.cn/passport/captcha/captcha-check'

)

req.headers

#code=img.code()

code=raw_input('请输入验证码位置:')

date={

'callback':'jQuery1910948054855148424_1546424454404',

'answer':code,

'rand':'sjrand',

'login_site':'E',

'_':'1546424454425'

}

date=urllib.urlencode(date)

html=opener.open(req,date).read()

req=urllib2.Request(

'https://kyfw.12306.cn/passport/web/login'

)

req.headers

data={

'username':'账号',#12306账号密码

'password':'密码',

'appid':'otn',

}

data = urllib.urlencode(data)

html = opener.open(req, data).read()

result=simplejson.loads(html)

if result['result_code']==0:

print '登陆成功'

#登陆成功后的第一次访问

req = urllib2.Request(

'https://kyfw.12306.cn/passport/web/auth/uamtk'

)

data = {

'appid':'otn'

}

data = urllib.urlencode(data)

req.headers = headers

html = opener.open(req,data=data).read()

result=simplejson.loads(html)

tk=result['newapptk']

# ?第二次访问

req = urllib2.Request(

'https://kyfw.12306.cn/otn/uamauthclient'

)

data = {

'tk':tk

}

data = urllib.urlencode(data)

req.headers = headers

html = opener.open(req,data=data).read()

#查询是否登录成功

'''req = urllib2.Request(

'https://kyfw.12306.cn/otn/index/initMy12306Api'

)

req.headers=headers

html = opener.open(req).read()

print html

return True'''

return True

print '登陆失败,正在重新登录...'

12306抢票源码 java_最新版12306抢票程序源代码相关推荐

  1. python12306源码_春运了,Python大神分享爬取12306车票信息的例子,附抢票源码

    爬虫:爬虫的根本就是得到一个网页的源代码数据.更深入一些,就会出现和网页进行POST交互从而获取服务器接收POST请求后返回的数据!总结:爬虫就是由计算机自动与服务器交互获取数据的工具.(爬虫请注意网 ...

  2. php瑜伽馆源码,深蓝健身房瑜伽馆行业小程序源代码4.15.0

    分享深蓝健身房瑜伽馆行业小程序源代码 4.15.0 优化订(小鱼源码下载)单信息地充值余额地显示与升级会员品级地显示,站长亲测深蓝健身房瑜伽馆行业小程序源代码安装与后端地功能设置生存添加教练添加课程添 ...

  3. 【python实操】马上毕业了,你还不懂什么是守护线程、线程、进程?(附12306抢票程序-源代码)

    作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于海外某世界知名高校就读计算机相关专业. 荣誉:阿里云博客专家认证.腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩. 跨 ...

  4. 抢椅子游戏java_游戏教案小班抢椅子

    游戏教案小班抢椅子 活动设计背景 幼儿期是处于生长发育十分迅速的时期,这有利于幼儿培养发展良好的身体素质.教师为他们提供良好的保育和教育则有利于幼儿形成有益终身的健康行为方式. 游戏是孩子喜欢的一种活 ...

  5. 城乡投票源码php_一个简单的PHP投票程序源码

    一个简单的PHP投票程序源码 2021-01-23 10:04:50721 分析: 我们利用一个文件(data.dat)来存储投票栏目.每个栏目占据一行. 这样一来,便可随意加入和减去想要投票的栏目. ...

  6. Go-Home – 12306 网上火车票自动订票程序

    本文转载于 http://www.appinn.com/go-home-auto-tickets/ Go-Home – 12306 网上火车票自动订票程序 79 文章标签: 回家 / 火车票. Go- ...

  7. python判断火车票座位_Python抢票程序优化,可以选择车次和座次

    Python抢票程序优化,可以选择车次和座次 阅读文本大概需要 5 分钟. pk 哥在元旦前写了一篇关于自动化抢票的程序 用Python抢火车票加邮件通知,同时建了一个火车票助力群,本来只是写着玩玩, ...

  8. python抢票软件代码_Python抢票程序优化,可以选择车次和座次

    通过程序自动化去刷新并点击抢票,就有了这个 Python 抢票程序.这个程序是 Python 模拟手工去操作浏览器的,所以会因为各种网络或者其他因素导致程序终止.本文主要讲解增加车次选择功能和座次选择 ...

  9. Python抢票程序优化,可以选择车次和座次

    阅读文本大概需要 5 分钟. pk 哥在元旦前写了一篇关于自动化抢票的程序 用Python抢火车票加邮件通知,同时建了一个火车票助力群,本来只是写着玩玩,增加抢票的另一种途径而已.没想到短短几天,群里 ...

  10. GO-HOME我要回家JAVA2013版火车票抢票程序

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 最新版本12306 ...

最新文章

  1. 2019 年回顾:生物学年
  2. python读取字符串的list dict_转:Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...
  3. [转]Linux文件搜索
  4. iOS安全之class-dump的安装和使用
  5. 闭包 | 浅谈JavaScript闭包问题
  6. IE 10的新HTML​解析规则​
  7. php保存附件到指定服务器,如何在PHP中将电子邮件附件保存到服务器?
  8. 全球仅3000人通过的TensorFlow开发人员认证到底有多香!
  9. 操作系统课设之Linux 进程间通信
  10. 基于box2dWeb开发的切水果游戏总结
  11. mysql事务的管理方式_浅谈MySQL事务管理(基础)
  12. 岭回归、LASSO与LAR的几何意义
  13. 全局系统性地把握客户感知-建立VOC
  14. 协同过滤算法概述与python 实现协同过滤算法(usr-item,item-item)
  15. java 数据库 程序_用java编写数据库程序的一般步骤
  16. android 音频压缩 silk,有损音频压缩格式大比拼─MP3、Ogg、AAC、HE-AAC、HE-AACv2、Opus究竟谁才是王者?...
  17. Python中出现问题:ValueError: not enough values to unpack (expected x, got x)的可能汇总及解决办法
  18. Android App应用市场功能的框架图
  19. vue.js转换乘html_Vue.js的声明式共享元素转换
  20. coffeescript html5,深入浅出CoffeeScript

热门文章

  1. Bandizip下载安装教程
  2. windows连接虚拟专用网络的方法教程
  3. Python爬虫从入门到精通:(6)数据解析2_使用bs4(BeautifulSoup)_Python涛哥
  4. Ubuntu安装OpenGL
  5. 【机器翻译machine translation】
  6. 2017--年终总结
  7. Adobe Flash被禁用和无法加载的官方解决办法
  8. 数学速算法_计算总是出算?小学数学常用的25种快速口算窍门,学好算数必备...
  9. 任务调度:开源大数据调度框架Taier(太阿)
  10. 大数据可视化常用的方式有哪些