使用 Python 爬取大乐透中奖号码
准备工作
安装所需要的库
执行 win+R
,输入 cmd
,调出命令行,执行以下程序。
1 | pip install requests |
爬取网站
【超级大乐透历史数据】_超级大乐透历史数据_体彩大乐透历史数据-500彩票网
该网站源代码并非是通过页面跳转来查找不同数据,通过 F12 查找 network 栏找到真正储存所有历史开奖结果的网页:http://datachart.500.com/dlt/history/newinc/history.php?start=07001&end=230202
爬取步骤
源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28# 这三个是第三方库,需安装后才能使用
from bs4 import BeautifulSoup
import requests
import pandas as pd
# 下面三个是 python 标准库
import os
import csv
import codecs
lst = []
url = 'http://datachart.500.com/dlt/history/newinc/history.php?start=07001&end=230202'
r = requests.get(url)
r.encoding = 'urf-8'
text = r.text
soup = BeautifulSoup(text, "html.parser")
tbody = soup.find('tbody', id = "tdata")
tr = tbody.find_all('tr')
td = tr[0].find_all('td')
for page in range(0, 100):
td = tr[page].find_all('td')
lst.append([td[0].text, td[1].text, td[2].text, td[3].text, td[4].text, td[5].text, td[6].text, td[7].text])
with open("Lottery_data_2.csv", 'w', encoding='utf-8') as csvfile: # 如果不写 encoding,下面的汉字会显示乱码
writer = csv.writer(csvfile)
writer.writerow(['期号', '号码 1', '号码 2', '号码 3', '号码 4', '号码 5', '号码 6', '号码 7'])
writer.writerows(lst)
csvfile.close()运行成功后,会在该目录下生成一个 csv 文件,点击查看。
csv 转 Excel 有很多种方法,最直接的可以找在线网站转一下:CSV 转换为 Excel - 在线表格转换工具
参考
- 本文标题:使用 Python 爬取大乐透中奖号码
- 创建时间:2023-02-28 09:44:38
- 本文链接:2023/02/28/030-使用-Python-爬取大乐透中奖号码/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!