最近突然想研究下双色球,想用Python爬虫抓取2003-2021的双色球数据。
借鉴博客
1.《十行代码用pandas的read_html爬取中彩网双色球历年全部数据》
https://blog.csdn.net/wwivywwivy/article/details/81810067
2.《双色球网页历史数据爬取》
https://blog.csdn.net/coberup/article/details/82871660?utm_medium=distribute.pc_relevant.none-task-blog-2defaultBlogCommendFromMachineLearnPai2default-18.baidujs&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2defaultBlogCommendFromMachineLearnPai2default-18.baidujs
不知道为什么,他们的代码都调试不通,不知道是不是导入的第三方库更新导致,现将修改过的代码贴出来。
第一位的代码,确实很简单,但是数据不全,每页少两行,也行是pandas库有变更吧,标题并没有进数据表。
import pandas as pd
import csv
def get_one_page(page):
url = 'http://kaijiang.zhcw.com/zhcw/html/ssq/list_%s.html' % (str(page))
#tb = pd.read_html(url, skiprows=[0,1])[0] # 写的是跳过前两行,但实际并不需要跳过前两行,数据正好
tb = pd.read_html(url)[0]
return tb.drop(len(tb)-1) # 去掉最后一行
with open(r'E:\ssq1.csv','w',encoding='utf-8-sig',newline='') as f:
csv.writer(f)