# 以下代码基于 CI 框架 #

public function history_draw($page = 0)
{
set_time_limit(0); $page++;
$up2now = date('Y-m-d');
$fp = fsockopen('www.cwl.gov.cn', 80, $errno, $errstr, 60) or die('fsockopen失败:' . $errno . $errstr);
$out = <<<EOL
GET http://www.cwl.gov.cn/cwl_admin/kjxx/findDrawNotice?name=ssq&issueCount=&issueStart=&issueEnd=&dayStart=2003-01-01&dayEnd={$up2now}&pageNo={$page} HTTP/1.1
Host: www.cwl.gov.cn
Connection: keep-alive
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
Referer: http://www.cwl.gov.cn/kjxx/ssq/kjgg/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: UniqueID=3dauCXLoQK01tDVH1575514942401; Sites=_21; 21_vq=6; _ga=GA1.3.1090297853.1575514946; _gid=GA1.3.447342718.1575514946; _Jo0OQK=4A1B07EC59D1342CFCAA246B2A0002154A53049E0E5B207A6D0A66050057CE12B9F70A1581661090506815D462089F11972544962C45EF0BF16418257266B0B3233F1B3C19C5B2FC5F8E6E66EDA7420CD4BE6E66EDA7420CD4BD84331FADDCD4DAC3328EEBACF9E4A3CGJ1Z1fQ==
\r\n\r\n
EOL; fwrite($fp, $out);
$data = '';
while (!feof($fp)) {
$data .= fgets($fp, 128);
}
fclose($fp); $result = substr($data, strpos($data, '{'));
$result = json_decode($result, true);
$records = $result['countNum'];
$total_page = $result['pageCount']; if ($page > $total_page) {
exit('数据写入完成');
} foreach ($result['result'] as $value) {
$red = explode(',', $value['red']);
$new[] = array(
'issue' => $value['code'],
'draw_date' => substr($value['date'], 0, 10),
'blue' => $value['blue'],
'red_1' => $red[0],
'red_2' => $red[1],
'red_3' => $red[2],
'red_4' => $red[3],
'red_5' => $red[4],
'red_6' => $red[5],
);
}
$this->db->insert_batch('dual_ball', $new); echo '2003-01-01 至 '. $up2now . ' 总开奖期数为:' . $records .',已插入' . count($new);
echo '<br>'; if ($total_page > 1) {
sleep(1);
$this->history_draw($page);
}
}

SQL文件下载:

https://files.cnblogs.com/files/gentsir/dual_ball.zip

通过fsockopen()方法从中国福彩网获取双色球历史中奖数据的更多相关文章

  1. vue.js 父组件主动获取子组件的数据和方法、子组件主动获取父组件的数据和方法

    父组件主动获取子组件的数据和方法 1.调用子组件的时候 定义一个ref <headerchild ref="headerChild"></headerchild& ...

  2. android从中国天气网获取天气

    http://download.csdn.net/detail/sun6223508/8011669      里面的一切..可完全移植 版权声明:本文博主原创文章.博客,未经同意不得转载.

  3. Python爬网——获取安卓手机统计数据

    [本文出自天外归云的博客园] 1. 在安卓网上对热门机型进行爬网,取前五十: # -*- coding: utf-8 -*- import requests,re from bs4 import Be ...

  4. vue 父组件主动获取子组件的数据和方法 子组件主动获取父组件的数据和方法

    Header.vue <template> <div> <h2>我是头部组件</h2> <button @click="getParen ...

  5. 第十二、模块二、调用中国天气网和qqOnline及TrainTimeWebService接口来突出Json方法

    一. 浏览网页的时候,发送的请求.服务器反回来的永远是字符串,由于服务器后台使用的语言不通,所以就需要用工具反解,这里用到了json json方法一 json.loads()将字符串转化为python ...

  6. C#获取中国天气网免费天气预报信息

    中国天气网接口地址:”http://wthrcdn.etouch.cn/WeatherApi?citykey=” + weatherCityCode(为城市code); 下面是转化过程中我们需要用到的 ...

  7. 中国知网(cnki)上caj格式转pdf的方法 ----------------- 转载

    原文地址: https://blog.csdn.net/edogawachia/article/details/85340636 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议 ...

  8. scrapy实例:爬取中国天气网

    1.创建项目 在你存放项目的目录下,按shift+鼠标右键打开命令行,输入命令创建项目: PS F:\ScrapyProject> scrapy startproject weather # w ...

  9. 中国天气网API接口

    http://www.weather.com.cn/data/sk/101010100.html http://www.weather.com.cn/data/cityinfo/101010100.h ...

随机推荐

  1. .net core 原生支持grpc

    文章转自:https://grpc.io/blog/grpc-on-dotnetcore This is a guest post by Sourabh Shirhatti, a Program Ma ...

  2. 数列的通项公式$a_n$的求法

    前言 求数列的通项公式,其本质是求函数的解析式.重点理解内涵. 求解必备 你见到这样的式子\(a_{n+1}-a_n = m\) (\(m\)常数)你一定会反应出是等差数列,那么见到 \(S_{n+1 ...

  3. jQuery动画和遍历

    一.动画 1. 动画 1. 三种方式显示和隐藏元素 1. 默认显示和隐藏方式 1. show([speed,[easing],[fn]]) 1. 参数: 1. speed:动画的速度.三个预定义的值( ...

  4. Linux禁止ping和开启ping的方法

    Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:A.内核参数,B.防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping.   一.通过修改 ...

  5. Web 开发中 文件上传 是出现的:java.io.FileNotFoundException: (文件名、目录名或卷标语法不正确。)

    <span style="font-family: Arial, Helvetica, sans-serif; "> </span> <span st ...

  6. Java-JUC(十五):synchronized执行流程分析

    一.锁对象及 synchronized 的使用 synchronized 通过互斥锁(Mutex Lock)来实现,同一时刻,只有获得锁的线程才可以执行锁内的代码. 锁对象分为两种: 实例对象(一个类 ...

  7. 使用uiautomator2自动化测试app(二)------操作篇

    提示: 1. 推荐使用python3以上的版本来进行开发 2. 手机使用安卓手机,版本最好不要太老,一根数据线 3. 安装虚拟机(博主使用雷电) 操作: 这里只简单的介绍一些uiautomator2的 ...

  8. 图形化SQL JOIN

  9. 使用CompletableFuture实现业务服务的异步调用实战代码

    假如我有一个订单相关的统计接口,需要返回3样数据:今日订单数.今日交易额.总交易额. 一般的我们的做法是串行调用3个函数,把调用返回的结果返回给调用者,这3次调用时串行执行的,如果每个调用耗时1秒的话 ...

  10. Spark闭包与序列化

    Spark的官方文档再三强调那些将要作用到RDD上的操作,不管它们是一个函数还是一段代码片段,它们都是“闭包”,Spark会把这个闭包分发到各个worker节点上去执行,这里涉及到了一个容易被忽视的问 ...