import random
import requests
from lxml import html
from collections import Counter
# 实时获取区间比、奇偶的概率
def ssq_interval_parity_data():
# 请求网页
url = "https://m.cz89.com/zst/ssq?pagesize=120"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
response.raise_for_status() # 确保请求成功
# 解析HTML
tree = html.fromstring(response.text)
# 定义XPath表达式
interval_xpath = "/html/body/div[2]/div/div/div[2]/div[2]/table/tbody[1]/tr[{}]/td[60]"
parity_xpath = "/html/body/div[2]/div/div/div[2]/div[2]/table/tbody[1]/tr[{}]/td[61]"
# 提取所有需要的数据
data = []
second_data = []
for i in range(1, 121): # tr[1] 到 tr[120]
path = interval_xpath.format(i)
second_path = parity_xpath.format(i)
value = tree.xpath(path)
second_value = tree.xpath(second_path)
if value and second_value: # 如果找到元素
data.append(value[0].text_content().strip())
second_data.append(second_value[0].text_content().strip())
# 使用Counter统计元素出现次数
counter = Counter(data)
second_counter = Counter(second_data)
# 计算总数量
total = sum(counter.values())
second_total = sum(second_counter.values())
# 创建列表来存储结果
items_str = []
percentages = []
second_items_str = []
second_percentages = []
# 计算每个元素及其出现的次数和百分比
for item, count in counter.items():
items_str.append(item)
percentage = (count / total) * 1
percentages.append(percentage)
for second_item, second_count in second_counter.items():
second_items_str.append(second_item)
second_percentage = (second_count / second_total) * 1
second_percentages.append(second_percentage)
# 将items_str中的每个元素转换为整数列表
items_int = [list(map(int, item.split(':'))) for item in items_str]
se
[Python] 双色球-根据近120期统计随机生成号码
于 2024-07-29 09:17:56 首次发布