这段代码是用来爬取双色球开奖结果并保存到CSV文件中;代码如下
import requests
import os
from bs4 import BeautifulSoup
def download(url, page):
html = requests.get(url).text
soup = BeautifulSoup(html, 'html.parser')
list = soup.select('div.ball_box01 ul li')
ball = []
for li in list:
ball.append(li.string)
write_to_excel(page, ball)
print(f"第{page}期开奖结果录入完成")
def write_to_excel(page, ball):
f = open('双色球开奖结果.csv', 'a', encoding='utf_8_sig')
f.write(f'第{page}期,{ball[0]},{ball[1]},{ball[2]},{ball[3]},{ball[4]},{ball[5]},{ball[6]}\n')
f.close()
def turn_page():
url = "http://kaijiang.500.com/ssq.shtml"
html = requests.get(url).text
soup = BeautifulSoup(html, 'html.parser')
pageList = soup.select("div.iSelectList a")
# 获取最近30期的页码
recent_pages = pageList[:30]
for p in recent_pages:
url = p['href']
page = p.string
download(url, page)
def main():
if os.path.exists('双色球开奖结果.csv'):
os.remove('双色球开奖结果.csv')
turn_page()
if __name__ == '__main__':
main()
代码解读:
- 导入所需的库:requests、os和BeautifulSoup。
- 定义
download
函数,接收url和page作为参数。该函数首先获取网页内容,然后使用BeautifulSoup解析HTML,提取出双色球开奖结果的相关信息,并将其写入Excel文件。 - 定义
write_to_excel
函数,接收page和ball作为参数。该函数将开奖结果写入名为"双色球开奖结果.csv"的文件中。 - 定义
turn_page
函数,用于获取最近30期的双色球开奖结果页面链接,并调用download
函数下载每一期的开奖结果。 - 定义
main
函数,首先检查是否存在名为"双色球开奖结果.csv"的文件,如果存在则删除,然后调用turn_page
函数开始爬取数据。 - 最后,在
if __name__ == '__main__':
语句中调用main
函数,执行整个程序。