좋아, 그래서 각 회사에 대한 추가 섹터 칼럼과 기본 주식 데이터 CVS 파일입니다. 위키 백과에서 섹터와 시세표를 얻는 것이 좋습니다.Quandl 요청을 포맷 할 수 있습니까?
하지만 Google/Yahoo 데이터는 더 이상 작동하지 않으므로 Quandl을 사용하려고했습니다. 최근에는 기술적 인 지표를 기반으로 작성 했으므로 훌륭하다고 생각했습니다. 오류.
그런 요청을 형식화 할 수 있다면 여전히 의문스러워서 문제가 있다고 생각할 수는 있지만 작동하게 만들 수는 없다고 생각합니다.
조언을 보내 주셔서 감사합니다.
from bs4 import BeautifulSoup
import requests
import pandas as pd
import lxml
import quandl as qdl
def get_ticker_and_sector(url='https://en.wikipedia.org/wiki/List_of_S%26P_500_companies'):
r = requests.get(url)
data = r.text
soup = BeautifulSoup(data, 'lxml')
table = soup.find('table')
sp500 = {}
for tr in table.find_all('tr')[1:]:
tds = tr.find_all('td')
ticker = tds[0].text
sector = tds[3].text
sp500[ticker] = sector
return sp500
if __name__ == '__main__':
sp500 = get_ticker_and_sector()
for i, (ticker, sector) in enumerate(sp500.items()):
stock_df = qdl.get('WIKI/%s', start_date="2010-12-11", end_date="2011-12-31")%(ticker)
stock_df['Name'] = ticker
stock_df['Sector'] = sector
if i == 0:
all_df = stock_df
else:
all_df = all_df.append(stock_df)
all_df.to_csv('all_sp500_data_2.csv')
오류.
Traceback (most recent call last):
File "/home/tomek/tomek-workspace/pythons/udemy/lib/python3.5/site-packages/quandl/connection.py", line 55, in parse
return response.json()
File "/home/tomek/tomek-workspace/pythons/udemy/lib/python3.5/site-packages/requests/models.py", line 886, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/lib/python3.5/json/__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.5/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/tomek/PycharmProjects/untitled4/get_file.py", line 30, in <module>
stock_df = qdl.get('WIKI/%s', start_date="2010-12-11", end_date="2011-12-31")%('ticker')
File "/home/tomek/tomek-workspace/pythons/udemy/lib/python3.5/site-packages/quandl/get.py", line 48, in get
data = Dataset(dataset_args['code']).data(params=kwargs, handle_column_not_found=True)
File "/home/tomek/tomek-workspace/pythons/udemy/lib/python3.5/site-packages/quandl/model/dataset.py", line 47, in data
return Data.all(**updated_options)
File "/home/tomek/tomek-workspace/pythons/udemy/lib/python3.5/site-packages/quandl/operations/list.py", line 14, in all
r = Connection.request('get', path, **options)
File "/home/tomek/tomek-workspace/pythons/udemy/lib/python3.5/site-packages/quandl/connection.py", line 36, in request
return cls.execute_request(http_verb, abs_url, **options)
File "/home/tomek/tomek-workspace/pythons/udemy/lib/python3.5/site-packages/quandl/connection.py", line 44, in execute_request
cls.handle_api_error(response)
File "/home/tomek/tomek-workspace/pythons/udemy/lib/python3.5/site-packages/quandl/connection.py", line 61, in handle_api_error
error_body = cls.parse(resp)
File "/home/tomek/tomek-workspace/pythons/udemy/lib/python3.5/site-packages/quandl/connection.py", line 57, in parse
raise QuandlError(http_status=response.status_code, http_body=response.text)
quandl.errors.quandl_error.QuandlError: (Status 400) Something went wrong. Please try again. If you continue to have problems, please contact us at [email protected]