php实现12306余票查询、价格查询示例
<?php
/**
* 车票接口类
*
* @author chepiao100
*
*/
class chepiao100
{
/**
* 接口地址
* @var string
*/
private $_apiurl = 'http://www.chepiao100.com/api/';
/**
* 返回接口数据
*
* @param string $method 接口方法
* @param array $param 请求参数
* @return mixed
*/
function getData($method, $param)
{
$post = http_build_query($param);
$html = $this->fetch_html($this->_apiurl.$method, $post);
$jsonArr = json_decode($html, TRUE);
if ( $jsonArr['errMsg'] == 'Y') {
return $jsonArr['data'];
} else {
return $jsonArr['errMsg'];
}
}
/**
* 请求HTTP
*
* @param string $url
* @param string $post
* @return mixed
*/
function fetch_html($url, $post)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
//curl_setopt($ch, CURLOPT_PROXY, 'http://10.100.10.100:3128');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$html = curl_exec($ch);
curl_close($ch);
return $html;
}
}
/** End class of chepiao100 **/
相关推荐
-
java抓取12306信息实现火车余票查询示例
最近在弄一个微信的公众帐号,涉及到火车票查询,之前用的网上找到的一个接口,但只能查到火车时刻表,12306又没有提供专门的查票的接口.今天突然想起自己直接去12306上查询,抓取查询返回的数据包,这样就可以得到火车票的信息.这里就随笔记一下获取12306余票的过程. 首先,我用firefox浏览器上12306查询余票.打开firefox的Web控制台,选上网络中的"记录请求和响应主体" 然后输入地址日期信息之后点击网页上的查询按钮,就能在Web控制台下看到网页请求的地址了: 就是图片中
-
基于JS设计12306登录页面
废话不多说了,直接给大家贴代码了,具体代码如下所示: <html> <head> <script> function f_validate() { var username=document.getElementById("uname").value; var passwd=document.getElementById("passwd").value; var yzm=document.getElementById("
-
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.setdefaulten
-
php实现12306火车票余票查询和价格查询(12306火车票查询)
name.php 复制代码 代码如下: <?phpreturn array( "北京北" => "VAP", "北京东" => "BOP", "北京" => "BJP", "北京南" => "VNP", "北京西" => &
-
教你用python实现12306余票查询
python实现12306余票查询 我们说先在浏览器中打开开发者工具(F12),尝试一次余票的查询,通过开发者工具查看发出请求的包 余票查询界面 可以看到红框框中的URL就是我们向12306服务器发出的请求,那么具体是什么呢?我们来看看 [ https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date=2019-01-21&leftTicketDTO.from_station=CDW&leftTicketDTO.t
-
python自动查询12306余票并发送邮箱提醒脚本
由于车票难抢,有时需要的车票已经售空,而我们需要捡漏,便可使用这个脚本. 具体实现了,自动查询某一车票的余票数量,当数量产生变化时,将自动发送QQ邮件到对于的邮箱进行提醒. 其中,发送邮箱的部分详情可参考我上一篇博文:Python 发送邮件 (smtp) QQ邮箱 脚本使用了python + selenium + chrome webdriver,需要先配置好三者的环境. 具体使用时候,需自行改变代码中的 邮箱信息.出发站.到达站.车次.日期.以及到相应查询页面中找到对应车票的html id:
-
php实现12306余票查询、价格查询示例
复制代码 代码如下: <?php/** * 车票接口类 * * @author chepiao100 * */class chepiao100{ /** * 接口地址 * @var string */ private $_apiurl = 'http://www.chepiao100.com/api/'; /** * 返回接口数据 * * @param string $method 接口方法 * @param array $param 请求参数 * @return
-
Python爬虫 12306抢票开源代码过程详解
今天就和大家一起来讨论一下python实现12306余票查询(pycharm+python3.7),一起来感受一下python爬虫的简单实践 我们说先在浏览器中打开开发者工具(F12),尝试一次余票的查询,通过开发者工具查看发出请求的包 可以看到红框框中的URL就是我们向12306服务器发出的请求,那么具体是什么呢?我们来看看 https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date=2019-01-21&leftT
-
Python爬虫实战之12306抢票开源
今天就和大家一起来讨论一下python实现12306余票查询(pycharm+python3.7),一起来感受一下python爬虫的简单实践 我们说先在浏览器中打开开发者工具(F12),尝试一次余票的查询,通过开发者工具查看发出请求的包 余票查询界面 可以看到红框框中的URL就是我们向12306服务器发出的请求,那么具体是什么呢?我们来看看 https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date=2019-01-2
-
python实现快递价格查询系统
本文实例为大家分享了python实现快递价格查询系统的具体代码,供大家参考,具体内容如下 一.代码 #--author--张俊杰@Nick #系统提示 print("欢迎来到快递系统!") #死循环 while 1==1: #简单交互,键入值 weight=int(input("请输入重量(千克): ")) num=input("请输入地点编号(1.其它 2.东三省/宁夏/青海/海南 3.新疆/西藏 4.港澳台/国外):") #定义参数 p=0
-
python爬虫实现最新12306抢票
1.环境 python 3.7谷歌浏览器chromedriver.exe(浏览器驱动程序,要与浏览器版本对应,并将其添加到环境变量或放到当前py文件所在目录下) 2.相关模块 time (用于某些地方对程序的强制等待)datatime (用于获取当前时间)selenium 3.1 自动化测试模块,这里用于操作浏览器) 3.思路 首先进行登录(支持手机扫码),登录完成进入页面之后,我们会看到有“温馨提示”的弹窗,即当前界面,我们需要处理第一次弹窗, 然后进入到菜单栏车票下的单程中(鼠标移动触发事件
-
python自动12306抢票软件实现代码
昨天我发的是抓取的12306数据包,然后分析了一下,今天按照昨天的分析 用代码实现了,如果有需要的同学们可以看一下,实现的功能有,登录,验证码识别,自动查票,有余票点击预定, 差了最后一步提交订单.同学们可以自己研究一下. import requests import time import dmpt import re import random from copyheaders import headers_raw_to_dict DEFAULT_HEADERS={ 'Host':'kyfw
随机推荐
- PHP完全二叉树定义与实现方法示例
- 彻底解决页面文字编码乱码问题
- CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
- hadoop上传文件功能实例代码
- perl实现blog备份的脚本代码
- VS2015下简单使用EF框架的方法
- C#跨窗体操作(引用传递) 实例代码
- js实现短信发送倒计时功能(正则验证)
- zend api扩展的php对象的autoload工具
- Python中使用PyQt把网页转换成PDF操作代码实例
- Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
- 基于.NET平台常用的框架和开源程序整理
- JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
- php和jquery实现地图区域数据统计展示数据示例
- 微信小程序 自定义消息提示框
- thinkphp中的url跳转用法分析
- 查看远程 Linux 系统中某个端口是否开启的三种方法
- 在vue中使用SockJS实现webSocket通信的过程
- Java NIO.2 使用Path接口来监听文件、文件夹变化
- 易语言设置月历只显示双月或单月的方法