python编写彩票随机五注(第二篇)

在原有大乐透的基础上,又追加了双色球

定义参数,选择参数后,就会自动随机出5注大乐透或者双色球

import random
import time

def rand_num(red_ball, blue_ball, max_red_ball, max_blue_ball):
    red_list = []
    blue_list = []

    for i in range(red_ball):
        red_list.append(random.randint(1, max_red_ball))

        if len(blue_list) >= blue_ball:
            continue
        blue_list.append(random.randint(1, max_blue_ball))

    return red_list, blue_list

def one_num(red_ball, blue_ball, max_red_ball, max_blue_ball):
    while True:
        red_list, blue_list = rand_num(red_ball, blue_ball, max_red_ball, max_blue_ball)
        if (len(set(red_list)) == red_ball) and (len(set(blue_list)) == blue_ball):
            break

    red_list = sorted(red_list)
    blue_list = sorted(blue_list)
    continuous_count = 0
    for i in range(len(red_list) - 1):
        if red_list[i] + 1 == red_list[i+1]:
            continuous_count += 1

    if continuous_count == 1:
        red_list 
### 使用 Python 编写彩票数据爬虫 编写一个用于爬取彩票数据的 Python 程序,主要涉及以下几个方面:确定目标网站、发送 HTTP 请求、解析网页内容以及保存数据。Python 提供了丰富的库支持,例如 `requests`、`BeautifulSoup` 和 `pandas`,使得开发过程高效且简洁。 #### 确定目标网站与请求方式 在开始编写爬虫之前,首先需要明确要抓取的目标网站。例如,可以选择中国福利彩票官网或国家体彩中心的公开历史开奖数据页面。通过浏览器开发者工具分析网页结构,可以获取数据所在的 URL 以及响应格式(HTML 或 JSON)。 使用 `requests` 库向目标 URL 发送 HTTP 请求,获取网页内容: ```python import requests url = "https://example.com/lottery-data" # 替换为实际网址 response = requests.get(url) html_content = response.text ``` 该方法适用于静态页面的数据抓取。若目标网站采用 JavaScript 动态加载数据,则需使用 `Selenium` 或 `Playwright` 等模拟浏览器行为的工具[^5]。 #### 解析网页内容 网页内容获取后,需从中提取所需数据。对于 HTML 页面,可使用 `BeautifulSoup` 进行解析。例如,从表格中提取每期的开奖号码: ```python from bs4 import BeautifulSoup soup = BeautifulSoup(html_content, 'html.parser') table = soup.find('table', {'class': 'data-table'}) rows = table.find_all('tr') data = [] for row in rows[1:]: # 跳过表头 cols = row.find_all('td') cols = [col.text.strip() for col in cols] data.append(cols) ``` 若返回的是 JSON 格式数据,可以直接使用 `json` 模块进行解析: ```python import json json_data = json.loads(response.text) ``` 解析完成后,将数据整理为结构化格式(如 `pandas.DataFrame`),便于后续处理和存储: ```python import pandas as pd df = pd.DataFrame(data, columns=["期号", "红球", "蓝球", "日期"]) ``` #### 数据存储与持久化 解析并整理后的数据可以保存为 CSV、Excel 或数据库文件。例如,使用 `pandas` 将数据保存为 CSV 文件: ```python df.to_csv("lottery_data.csv", index=False, encoding="utf-8-sig") ``` 若需长期维护数据集,可考虑将其存入 SQLite 或 MySQL 等关系型数据库中,以提高查询效率和数据一致性。 #### 爬虫伪装与反爬策略应对 为了避免被目标网站封禁 IP 或触发验证码机制,应采取一定的反爬规避策略。例如,设置随机 User-Agent、使用代理 IP 以及添加请求间隔: ```python import random import time headers = { "User-Agent": random.choice([ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15" ]) } proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080" } time.sleep(random.uniform(1, 3)) # 随机等待1~3秒 ``` 此外,还可以利用 `fake-useragent` 等第三方库动态生成更真实的请求头信息[^2]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值