文章目录

一、前言

很多以前的双色球信息都不能看了,因此可以每2天爬取一次双色球信息,保存下来,以后使用。

二、工具

python2.7

一台debian 8.9的服务器

三、具体方法

1、使用python2.7编写爬取脚本

这里爬取的是彩票500网站的信息,步骤如下:

(1)抓取网页html

(2)编写正则

(3)匹配网页html和需要的正则信息,提取信息保存为字符串
(4)把结果写入文件(你也可以写入数据库)

# -*- coding: utf-8 -*-
import re
import urllib
import time

def getHtml(url):
    html = urllib.urlopen(url)
    return html.read()

#获取网页html内容
html = getHtml("http://zx.500.com/ssq/")

#比对需要的信息
reg =  ['<dt>([0-9]\d*).*</dt>']#期数
reg.append('<li class="redball">([0-9]\d*)</li>')#红球
reg.append('<li class="blueball">([0-9]\d*)</li>')#蓝球

outstr = "";
for i in range(len(reg)):
    page = re.compile(reg[i])#生成正则
    rs = re.findall(page,html)#匹配网页中的正则字符串
    for j in range(len(rs)):#获得结果
        outstr+= rs[j] + ","

#print time.strftime('%Y-%m-%d',time.localtime(time.time()))+":"+outstr[:-1]
#把结果写入文件
with open('lot_500_ssq.txt', 'a') as f:
    f.write(time.strftime('%Y-%m-%d',time.localtime(time.time()))+":"+outstr[:-1]+'\n')

编写完成后,保存为/home/lottery/grab500_ssq.py

2、编辑一个sh脚本

注意这里的cd /home/lottery是必须的,是你python文件存在的位置,如果不写这个,crontab执行不了这个python文件,因为在它的目录找不到。

#!/bin/sh
cd /home/lottery
python grab500_ssq.py

保存为 /home/lottery/main.sh

3、设置crontab定时执行

参考《Debian 8下定时自动备份Mysql数据库》

(1)修改sh文件权限为可执行(否则会报permission deny错误):

chmod 755 /home/lottery/main.sh

(2)编辑crontab

vi /etc/crontab

设置内容为:每2天晚上的22点14分执行一次main.sh

14 22 */2 * * root /home/lottery/main.sh

(3)重启crontab使命令生效

/etc/init.d/cron restart
提示:[ ok ] Restarting cron (via systemctl): cron.service.

四、结果

每隔2天,就会进行一次爬取:

cat lot_500_ssq.txt
2018-03-14:18028,03,08,11,14,18,23,16

时间:期数,红球,蓝球。

同样的方法可以爬取体彩的大乐透。


转载请注明出处http://www.bewindoweb.com/166.html | 三颗豆子
分享许可方式知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
重大发现:转载注明原文网址的同学刚买了彩票就中奖,刚写完代码就跑通,刚转身就遇到了真爱。
你可能还会喜欢
具体问题具体杠