双色球网页历史数据爬取

借鉴博客
《十行代码用pandas的read_html爬取中彩网双色球历年全部数据》https://blog.csdn.net/wwivywwivy/article/details/81810067
数据来源:
http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html

存在问题:
该文中将同一个单元格中的开奖数据没有提取出来


解决方案:
将开奖数据单元格中的七个号码分别提取存入七个单元格中

import pandas as pd
import csv
import linecache

def get_one_page(page):
    url = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list_%s.html' % (str(page))
    tb = pd.read_html(url, skiprows=[0, 1])[0]  # 跳过前两行 (去除前两行开奖日期	期号	中奖号码	销售额(元)	等信息,后面自己定义标题)
    return tb.drop([len(tb)-1])  # len(tb)是抓取的网页行数,去掉最后一行(去掉最后一行共116 页 /2318 条记录 首页 上一页 下一页 末页 当前第 1 页等信息)

with open(r'F:\PythonFiles\PycharmFile\ssq.csv', 'w', encoding=&
Python爬取双色球历史数据通常涉及网络抓取技术,尤其是使用一些常用的库如`requests`、`BeautifulSoup`或`Scrapy`等。以下是一个简单的步骤概述: 1. **确定数据来源**:首先,你需要找到提供双色球历史开奖结果的网站,比如中国福利彩票官方网站或其他可靠的第三方彩票数据分析平台。 2. **分析网页结构**:查看目标页面的HTML源码,理解数据是如何组织的。查找包含历史开奖结果的元素,这通常是表格或列表形式的数据。 3. **编写代码**: - 使用`requests.get(url)`获取网页内容。 - 使用`BeautifulSoup`解析HTML,定位到含有历史数据的部分。 - 可能需要遍历并提取每个开奖日期、红球号码和蓝球号码的信息。 4. **数据存储**:将爬取的数据保存下来,可以选择CSV、JSON、数据库等格式,便于后续处理和分析。 5. **异常处理**:考虑到网络不稳定、反爬虫策略等问题,记得添加适当的错误处理和延迟机制。 ```python import requests from bs4 import BeautifulSoup def scrape_lottery_data(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 位置可能会因网站结构变化而变化,这里假设是class="history-data" data_rows = soup.find_all('div', class_='history-data') for row in data_rows: date = row.find('span', class_='date').text red_balls = [ball.text for ball in row.find_all('span', class_='red-ball')] blue_ball = row.find('span', class_='blue-ball').text # 存储数据 save_data(date, red_balls, blue_ball) # 定义保存数据的函数 def save_data(date, red_balls, blue_ball): # 这里只是示例,实际操作可能需要连接数据库或写入文件 with open('lottery_data.csv', 'a', newline='', encoding='utf-8') as file: writer = csv.writer(file) writer.writerow([date] + red_balls + [blue_ball]) # 调用函数开始爬取 scrape_lottery_data('http://example.com/history-draws') # 替换为你找到的历史数据URL ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值