Python 板


LINE

我写了一个小程式去爬取证交所的资料, 一开始还蛮顺利的不过到2006/01/25之後程式就中断了。 爬了些文说是json数据太多之类的,小弟还是新手,到这边就卡关了,也不太明白为什麽 一开始还可以顺顺的执行,之後却不行。 还请大大们帮忙指教,谢谢! 以下是我的程式码: from bs4 import BeautifulSoup import requests import json import csv import time, datetime, os #SINCE 2004/10/15 to this year start_date = datetime.datetime( 2004, 10, 15) end_date = datetime.datetime.now() start_date = update() #update totaldays = (end_date - start_date).days + 1 for day_list in range(totaldays): date_str = (start_date + datetime.timedelta(days = day_list)).date() year = date_str.year month = date_str.month day = date_str.day #print(date_str.strftime("%Y%m%d")) directory = 'D:/stock/Raw_data/TWSE_5MIN/' filename = date_str.strftime("%Y%m%d")+'.csv' makedirs() #create directory function json_data = get_webmsg( year, month, day) #put the data into smt if (json_data != False): write_csv( directory, filename, json_data) #write csv function time.sleep(1) else: continue def get_webmsg( year, month, day): date = str(year) + "{0:0=2d}".format(month) + "{0:0=2d}".format(day) url_twse = 'http://www.twse.com.tw/exchangeReport/MI_5MINS?response=json&date='+ date res = requests.post( url_twse) soup = BeautifulSoup( res.text, 'html.parser') smt = json.loads( soup.text) s1 = {'stat': '很抱歉,没有符合条件的资料!'} if(smt != s1): return smt else: return False def write_csv( directory, filename, json_data): writefile = directory + filename outputFile = open( writefile,'w', newline='') outputWriter = csv.writer( outputFile) head = ''.join( json_data['title']).split() a = [ head, ""] outputWriter.writerow(a) outputWriter.writerow( json_data['fields']) for data in (json_data['data']): outputWriter.writerow(data) outputFile.close() def makedirs(): directory = 'D:/stock/Raw_data/TWSE_5MIN' if not os.path.isdir(directory): os.makedirs(directory) def update(): path = 'D:\stock\Raw_data\TWSE_5MIN' files_list = os.listdir(path) date_str = files_list[-1] y = int(date_str[:4]) m = int(date_str[5:6]) d = int(date_str[6:8]) + 1 update_date = datetime.datetime( y, m, d) return update_date 错误代码是:JSONDecodeError: Extra data: line 2 column 5 (char 5) -- --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.25.176.145
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1503773265.A.BB9.html ※ 编辑: niburger1001 (114.25.176.145), 08/27/2017 02:54:42
1F:推 Sunal: 先看一下读进来的json格式 08/27 10:53
2F:推 coeric: 看来 是原始资料的问题阿........ 08/28 08:13
3F:推 coeric: 如果推测没错的话 2006年1月26 发生恒春大地震 08/28 08:22
4F:→ coeric: 股市暂停交易(两天) 没有资料是很正常的......... 08/28 08:23
5F:→ coeric: 再者,你是用py3 是否跟decode encode有关?(我是用py2) 08/28 08:28
6F:→ coeric: 因为我一直觉得 都跑到if(smt != s1):return smt 08/28 08:31
7F:→ coeric: 没资料情况,并没有跳到else:return False 08/28 08:31
8F:→ coeric: 你把soup.text丢进去smt内时,都已经变成unicode 08/28 08:43
9F:→ coeric: unicode一直都不会等於utf-8 所以并不会跳到else去 08/28 08:44
10F:→ NoManInCar: 上次也有玩一阵子 似乎暂停交易日不会出现在网站上 08/28 17:38
11F:→ NoManInCar: 也捞不到吧? 08/28 17:38
12F:→ niburger1001: 最近较忙 谢谢大大们的建议 我会先看那几天资料到 08/29 02:30
13F:→ niburger1001: 底跟非交易日的资料有没有差别 有下载成功的资料 08/29 02:30
14F:→ niburger1001: 都有跳过非交易日 08/29 02:30
15F:→ niburger1001: 那时候想法很单纯 非交易跟暂停交易都一样没有资料 08/29 02:31
16F:→ niburger1001: 编码的问题我也会去了解 谢谢大大们给的方向 08/29 02:33







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP