python模拟登录12306_Python模拟登录12306的方法
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re;
import sys;
import cookielib;
import urllib;
import urllib2;
import optparse;
import json;
import httplib2;
reload(sys)
sys.setdefaultencoding(‘utf8‘);
def Login():
cj = cookielib.CookieJar();
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj));
urllib2.install_opener(opener);
print "--------------[step1] to get cookie";
Url = "https://kyfw.12306.cn/otn/login/init";
resp = urllib2.urlopen(Url);
for index, cookie in enumerate(cj):
print ‘[‘,index, ‘]‘,cookie;
print "--------------[step2] to get code";
Url2 = "https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand";
resp2 = urllib2.urlopen(Url2);
#respInfo2 = resp2.info();
#print "respInfo=",respInfo2;
with open("code.png", "wb") as image:
image.write(resp2.read())
codeStr = sys.stdin.readline();
codeStr = codeStr[:-1]
print "--------------[step3] to check code";
ajax_url = "https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn";
dc = {
‘randCode‘ : codeStr,
‘rand‘ : "sjrand"
};
request = urllib2.Request(ajax_url, urllib.urlencode(dc))
request.add_header("Content-Type", "application/x-www-form-urlencoded; charset=utf-8")
request.add_header(‘X-Requested-With‘,‘XMLHttpRequest‘)
request.add_header(‘User-Agent‘,‘Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36‘)
request.add_header(‘Referer‘,‘https://kyfw.12306.cn/otn/login/init‘)
request.add_header(‘Accept‘,‘*/*‘)
request.add_header(‘Accept-Encoding‘,‘gzip, deflate‘)
f = urllib2.urlopen(request)
print(f.read())
print "--------------[step4] to login";
LoginUrl = "http://kyfw.12306.cn/otn/login/loginAysnSuggest";
dc = {
‘randCode‘ : codeStr,
‘userDTO.password‘ : "sunyuke1989",
‘loginUserDTO.user_name‘: "[email protected]"
};
req = urllib2.Request(LoginUrl, urllib.urlencode(dc));
req.add_header(‘Content-Type‘, "application/x-www-form-urlencoded");
req.add_header(‘X-Requested-With‘,‘XMLHttpRequest‘);
req.add_header(‘Origin‘,‘https://kyfw.12306.cn‘);
req.add_header(‘Referer‘,‘https://kyfw.12306.cn/otn/login/init‘);
req.add_header(‘Accept‘,‘*/*‘);
req.add_header(‘Accept-Encoding‘,‘gzip, deflate‘);
req.add_header(‘Connection‘,‘keep-live‘);
request.add_header(‘User-Agent‘,‘Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36‘)
resp = urllib2.urlopen(req);
print(resp.read().encode(‘gb18030‘));
LoginingUrl = "https://kyfw.12306.cn/otn/login/userLogin";
req = urllib2.Request(LoginingUrl, "");
print "--------------[step5] to QueryUserInfo";
LoginingUrl = "https://kyfw.12306.cn/otn/modifyUser/initQueryUserInfo";
req = urllib2.Request(LoginingUrl, "");
resp = urllib2.urlopen(req);
info = resp.read();
print(resp.read().encode(‘gb18030‘));
if __name__=="__main__":
Login();
python模拟登录12306_Python模拟登录12306的方法相关推荐
- python模拟登录12306_python模拟登录12306缺少cookies
[Python] 纯文本查看 复制代码API_GET_BROWSER_DEVICE_ID = '此处填接口地址' def request_device_id(self): ""&q ...
- python爬取12306_python爬取12306列车信息
#!/usr/bin/env python #coding=utf8 #12306查票爬虫 import requests,json,sys #获取地址代码 #https://kyfw.12306.c ...
- python爬取12306_Python 爬取12306火车票
#!/usr/bin/env python#coding:utf-8 """命令行的火车票查看器 Usage: 12306 [-gdtkz] Options: -h,-- ...
- python爬取12306_Python爬取12306车次信息代码详解
详情查看下面的代码: 如果被识别就要添加一个cookie如果没有被识别的话就要一个user-agent就好了.如果出现乱码就设置编码格式为utf-8 #静态的数据一般在elements中(复制文字到s ...
- python爬取12306_python爬取12306的车次信息
#静态的数据一般在elements中(复制文字到sources按ctrl+f搜索.找到的为静态),而动态去network中去寻找相关的信息 import requests import re def ...
- python爬取12306_python爬取12306火车车次信息
#-*- coding:utf-8 -*- importrequestsimportreimportjson#关闭https证书验证警告 requests.packages.urllib3.disab ...
- Python使用selenium模块模拟登录12306
selenium模块概述 selenium模块是基于浏览器自动化的一个模块.换句话说使用selenium可以让浏览器根据自己写的代码自动运行. 相应的语法 ·编写基于浏览器自动化的操作代码 · 发起请 ...
- python课设总结_Python技术分享课总结:用Python模拟知乎自动登录
原标题:Python技术分享课总结:用Python模拟知乎自动登录 Python语言是由Guido van Rossum大牛在1989年发明,它是当今世界最受欢迎的计算机编程语言之一,也是一门&quo ...
- Python模拟二维码登录百度
模拟二维码登录百度 写在前面 准备工作 二维码地址 登录状态 获取gid 登录参数 代码部分 二维码展示 获取cookie 完整代码 写在后面 写在前面 前段时间写了利用BDUSS到达百度首页,这一次 ...
最新文章
- Java Activiti 工作流引擎 流程审批 后台框架源码 springmvc SSM
- java 主备切换_keepalived 实现 Java 服务的高可用(主备切换)
- LDA的Gibbs抽样详细推理与理解
- python产生随机数并排序_中小学python教学案例:随机数按升序排列 输出
- VC++工作笔记0002---积累-VC++中的L“”是什么意思
- Spark修炼之道——Spark学习路线、课程大纲
- 计算机接口论文摘要,计算机接口技术论文_计算机接口技术
- 阿里巴巴中台战略--共享服务体系
- Java实现微信退付款
- 安全工具-curl学习
- 计算机组成原理~计算机系统简介①
- 自然语言处理入门(5)——基于WordArt的AGM手机评论词频分析
- MySQL中的limit分页的使用
- 重磅更新丨zCloud 数据库云管平台 v2.5
- 扫地机器人(简单路径规划)
- JAVA SpringBlade 微服务开发平台框架,企业级的SaaS多租户微服务平台,基于Spring Boot 2.7
- Pytorch常用张量变换操作
- 记录一下:老衲的py路程 mac下的tkinter小应用
- WEB安全新玩法 [11] 防范批量注册
- 中国焦炭行业发展现状及趋势分析,提高市场集中度「图」
热门文章
- 友善SD卡烧写工具(SD-Flasher)替代解决方案
- Q4整体超出预期,动视暴雪靠什么度过营收净利双降的中年危机?
- 计算机网络课程教学,计算机网络课程教学新道路
- 用树莓派做相机,制作定格动画视频
- 剑网3显示服务器屏蔽,剑网3手游被网友戏称断网3,服务器问题阻止不了玩家的热情...
- 上手结巴分词文本分析,输出热词、TF-IDF权重和词频
- 用 Python 制作 NFT 区块链作品(上)
- matlab 1994年逢山开路问题,1994年全国大学生数学建模逢山开路问题
- 微前端框架micro-app实践
- 为什么光标停在表格中间_excel中单元格中的光标为什么总在中间位置_word光标怎么设置...