资源简介
通过python在12306非常完整的下单购票程序、自动识别验证码登陆,有兴趣且有python基础的朋友可下载。下载后请读代码,创配置文件方可运行。由于最新更新的cookies存在,所以需要提前使用谷歌浏览器访问12306官网才可使用该脚本。童叟无欺承诺后续跟新及周五定时查看留言问题,对得起你的积分
代码片段和文件信息
# -*- coding: utf-8 -*-
import json requests ssl os datetime urllib.parse sys sqlite3time
from win32.win32crypt import CryptUnprotectData
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
ssl._create_default_https_context = ssl._create_unverified_context
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 禁用安全请求警告
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
# 构建SESSION
session = requests.session()
session.verify = False
header = {
‘Host‘: ‘kyfw.12306.cn‘
‘Referer‘: ‘https://kyfw.12306.cn/otn/resources/login.html‘
‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/74.0.3729.169 Safari/537.36‘
}
def ma():
import re
######查找对应网站的cookies
host = ‘.12306.cn‘
cookiepath = os.environ[
‘LOCALAPPDATA‘] + r“\Google\Chrome\User Data\Default\Cookies“ ###C:\Users\xxxy用户\AppData\Local\Google\Chrome\User Data\Defaul
sql = “select host_keynameencrypted_value from cookies where host_key=‘%s‘“ % host
with sqlite3.connect(cookiepath) as conn:
cu = conn.cursor()
cookies = {name: CryptUnprotectData(encrypted_value)[1].decode() for host_key name encrypted_value in
cu.execute(sql).fetchall()}
# print(cookies)
EXP = cookies[‘RAIL_EXPIRATION‘] ###打印对应的cookies值
RA = cookies[‘RAIL_DEVICEID‘] ###打印对应的cookies值
print(RA)
# session.cookies[‘RAIL_EXPIRATION‘] =EXP
session.cookies[‘RAIL_DEVICEID‘] = RA
#############################获取验证码图片########################
import base64configparser
tu = “https://kyfw.12306.cn/passport/captcha/captcha-image64?login_site=E&module=login&rand=sjrand&1560324897958&callback=jQuery191046088946883591486_1560324572504&_=1560324572506“
req = session.get(tu headers=header)
req = req.text
img_base64 = re.findall(r‘“image“:“(.*?)“‘ req)[0]
img_encode = base64.b64decode(img_base64)
with open(‘tu.jpg‘ ‘wb‘) as f:
f.write(img_encode)
##########################用户输入#############################
today = datetime.date.today()
config = configparser.ConfigParser()
path = “12306.txt“
config.read(path encoding=“utf-8-sig“)
user = config.get(“info“ “user“)
password = config.get(“info“ “password“)
cf = config.get(“info“ “cf“)
zd = config.get(“info“ “zd“)
time = config.get(“info“ “time“)
mail = config.get(“info“ “mail“)
stat_time = config.get(“info“ “cartime“)
stat_time = stat_time+“:“
zuo = config.get(“info“ “zuo“)
people = config.get(“info“ “people“)
##########################验证码输入#############################
dcit = {‘1‘: ‘4152‘ ‘2‘: ‘11050‘ ‘3‘: ‘17850‘ ‘4‘: ‘25552‘
‘5‘: ‘41117 ‘ ‘6‘: ‘111122‘ ‘7‘: ‘182125‘ ‘8‘: ‘252117‘}
url = “http://shell.teachx.cn:12306/predict“
- 上一篇:老唐的1——python数据分析与机器学习实战
- 下一篇:百度搜索批量爬取真实URL
相关资源
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
- 量化交易(附python常见函数的使用方
评论
共有 条评论