VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 135
声望: 0

https://vip.stock.finance.sina.com.cn/mkt/#lwg_qh
description
提示以下错误
s = s.decode(detect_encoding(s), 'surrogatepass')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 184: invalid continuation byte

Super Moderator
avatar
加入于:
帖子: 561
声望: 44

编码格式错误,但不知道你是怎么爬的,没办法定位错误

Member
avatar
加入于:
帖子: 135
声望: 0

from urllib import request
import json
import pandas as pd

def get_data(id):
url_30m = 'https://vip.stock.finance.sina.com.cn/mkt/#'

url = url_30m + id
req = request.Request(url)
rsp = request.urlopen(req)
res = rsp.read()
res_json = json.loads(res)
bar_list = []

res_json.reverse()
for line in res_json:
    print(line)
    bar = {}
    bar['Datetime'] = line[0]
    bar['Open'] = float(line[1])
    bar['High'] = float(line[2])
    bar['Low'] = float(line[3])
    bar['Close'] = float(line[4])
    bar['Volume'] = int(line[5])
    bar_list.append(bar)

df = pd.DataFrame(data=bar_list)

df.to_csv('d:/Sina data/data.csv', index=None)
return df[-20:-1]

if name == 'main':
get_data('lwg_qh')

Member
avatar
加入于:
帖子: 3270
声望: 219

decode的时候可以用gb2312试试

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】