一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python模擬登錄12306的方法

Python模擬登錄12306的方法

2020-05-18 09:51腳本之家 Python

這篇文章主要介紹了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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青青国产在线视频 | 涩涩国产精品福利在线观看 | 日本无翼乌漫画 | 国产精品视频2021 | 视频一区二区 村上凉子 | youjizzxxx69日本 | 精品一卡2卡3卡4卡5卡亚洲 | yjsp妖精视频在线观看免费 | 高h短篇辣肉各种姿势bl | 免费观看视频高清在线 | 国产亚洲精品一区二区在线观看 | 深夜福利影院 | 久久三级视频 | 秋霞网毛片 | 久久国产加勒比精品无码 | 99视频在线观看视频 | 青春草在线观看视频 | 农夫69小说小雨与农村老太 | 久久午夜一区二区 | 好大好硬好深好爽想要吃奶 | 久久视频这只精品99re6 | 荡女人人爱| 国产亚洲精品美女2020久久 | 精品91| 国产精品国产香蕉在线观看网 | 精品推荐国产麻豆剧传媒 | 国产精品酒店视频免费看 | 四虎永久在线精品免费影视 | 亚洲AV永久无码精品老司机蜜桃 | 成人欧美一区二区三区黑人 | 2021福利视频 | 男同志gays | 国产成人盗摄精品 | 视频在线观看一区二区三区 | 红楼影视h38bar在线线播放 | 嫩草影院永久在线播放 | 99精品在线视频观看 | 出轨娇妻的呻吟1—9 | 天天做天天爽天天谢 | 免费看日产一区二区三区 | 猫咪免费人成网站在线观看入口 |