30行python代码爬取历年双色球

爬取的目标链接:http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html

python版本:3.7;

开发工具:pycharm;

前言:爬取这个双色球数据也是当初想学爬虫的目的之一,本篇文章仅获取了所有的历史数据;后期会使用数据可视化和数据分析等python技能对此数据进行分析。

下面直接上代码了;

import sys
import requests
from lxml import etree
 
def get_url(url):       #请求url的方法,返回html
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36',
    }
    response = requests.get(url,headers=headers)        #获取请求的返回数据
    response.encoding = 'utf-8'         #定义编码,不然中文输出会乱码;
    if response.status_code == 200:     #如果请求成功,则返回;
        return response.text
    return None
 
for q in range(1,125):      #for循环,一共124页;
    url = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list_%s.html' % (q)   #定义请求的链接
    html = get_url(url)         #请求url获取返回代码
    xpath_html = etree.HTML(html)       #xpath初始化html代码
 
    dates = xpath_html.xpath('//table[@class="wqhgt"]//tr//td[1]//text()')      #获取开奖日期
    result = xpath_html.xpath('//table[@class="wqhgt"]//tr//em//text()')        #获取上色球号
    issues = xpath_html.xpath('//table[@class="wqhgt"]//tr//td[2]//text()')     #获取期号
    # print(result)       #输出所有双色球的列
    # print(len(result)//7)    #输出有几组双色球
    # print(dates)
    # print(issues)
    sta = 0
    end = 7
    for n in range(len(result)//7):     #双色球7个号一组,
        print("开奖日期:" + str(dates[n]) + " --- " + "期号:" + str(issues[n]) + " --- " + str(result[sta:end]))
        sta = sta + 7
        end = end + 7

运行结果:

 

代码使用了request库进行网页爬取,使用xpath对数据进行解析,将球号存储到list列表中;

代码复制后环境齐全即可直接运行;

之后会再做一个大乐透的数据爬取;

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值