双色球号码抓取

package com.ticket;

import java.io.IOException;

import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
* 获取彩票号码数据:按期号查找
* @author fuxiong000
*
*/
public class TicketData {

//彩票地址:start:开始期号  end:结束期号
private static String URL  = "http://baidu.lecai.com/lottery/draw/list/50/?type=range&start=2015001&end=2017026";

public static void main(String[] args) {
    //获取连接
    Connection conn = Jsoup.connect(URL);
    //设置连接超时时间
    conn.timeout(5000);
    try {
        //打开连接获取html元素
        Document doc = conn.get();
        //所有红球td
        Elements elsRed = doc.select("td .redBalls");
        //所有篮球td
        Elements elsBlue = doc.select("td .blueBalls");

        //td
        Element tdEle = null;

        //em
        Elements emEle = null;

        for (int i = 0; i < elsRed.size(); i++) {

            //获取红球td
            tdEle = elsRed.get(i);
            //获取红球下的em元素
            emEle = tdEle.select("em");
            //循环em元素
            for (Element element : emEle) {
                //获取em的内容(即红球号码)
                System.out.print(element.text()+" ");
            }
            System.out.print("| ");

            //获取篮球td
            tdEle = elsBlue.get(i);
            //获取篮球下的em元素
            emEle = tdEle.select("em");
            //循环em元素
            for (Element element : emEle) {
                //获取em内容(即篮球号码)
                System.out.print(element.text()+" ");
            }
            //换行
            System.out.println("");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

}

}

### 使用 Python 编写爬虫抓取双色球中奖号码 为了实现这一目标,可以采用 `requests` 和 `BeautifulSoup` 库来处理网页请求并解析 HTML 文档。下面是一个简单的例子展示如何完成这项工作。 #### 准备环境 确保安装了必要的库: ```bash pip install requests beautifulsoup4 pandas ``` #### 抓取与保存数据 创建一个脚本来执行网络请求、解析页面以及存储结果到 CSV 文件中。 ```python import requests from bs4 import BeautifulSoup import csv import os url = 'http://datachart.500.com/ssq/history/newinc/history.php?start=00001' # 示例URL,请替换为实际的数据源地址[^2] response = requests.get(url) if response.status_code != 200: raise Exception(f"Failed to load page {url}") html_content = response.text soup = BeautifulSoup(html_content, "html.parser") table = soup.find('table', attrs={'id': 'tdata'}) # 假设表格ID为'tdata' rows = table.find_all('tr')[1:] # 跳过表头行 file_path = './双色球.csv' with open(file_path, mode='a', encoding='utf-8-sig', newline='') as f: writer = csv.writer(f) if not os.path.exists(file_path) or os.stat(file_path).st_size == 0: header_row = ['期号', '日期', '红球1', '红球2', '红球3', '红球4', '红球5', '红球6', '蓝球'] writer.writerow(header_row) for row in rows: cols = row.find_all(['td']) issue_number = cols[0].text.strip() date = cols[1].text.strip() red_balls = [] blue_ball = '' ball_index = 2 while True: try: cell_text = cols[ball_index].text.strip().replace('\n','') if len(cell_text.split())==7 and all([char.isdigit() or char=='+' for char in cell_text]): balls = cell_text.replace('+',' ').split() red_balls.extend(balls[:-1]) blue_ball = balls[-1] break elif '+' in cell_text: parts = cell_text.split('+') red_balls.append(parts[0].strip()) blue_ball = parts[1].strip() break else: red_balls.append(cell_text) ball_index += 1 except IndexError: break data_row = [issue_number, date] + red_balls[:6] + [blue_ball] writer.writerow(data_row) ``` 这段代码会访问指定 URL 并从中提取出历史开奖记录中的相关信息(如期数、日期和各个彩球的颜色),最后将其追加至本地文件 `双色球.csv` 中。注意这里假设了某些特定的HTML结构;如果网站结构调整,则需相应修改定位标签的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值