fastquant icon indicating copy to clipboard operation
fastquant copied to clipboard

[BUG] Sentiments fail on businesstimes

Open 0cv opened this issue 3 years ago • 2 comments

from fastquant import get_yahoo_data, get_bt_news_sentiment
from datetime import datetime, timedelta

# we get the current date and delta time of 30 days
current_date = datetime.now().strftime("%Y-%m-%d")
delta_date = (datetime.now() - timedelta(30)).strftime("%Y-%m-%d")
data = get_yahoo_data("TSLA", delta_date, current_date)
sentiments = get_bt_news_sentiment(keyword="tesla", page_nums=3)
backtest("sentiment", data, sentiments=sentiments, senti=0.2)

Will result in AttributeError: 'BarContainer' object has no attribute 'get_zorder'

Digging into the issue, it seems that the businesstimes website returns only JavaScript and no more HTML. At least doing this:

page = urlopen("https://www.businesstimes.com.sg/search/tesla?page=1").read()
print("page", page)

will result in an empty body and a lot of javascript. Either I'm doing something wrong, or businesstimes has implemented some mechanism to disable such scraping

0cv avatar Feb 26 '21 10:02 0cv

Ah yes, this is the issue with pull from the next. @rafmacalaba tagging you here since you built the feature :smile:

enzoampil avatar Feb 27 '21 03:02 enzoampil

@enzoampil ack! seems like its BT stuff.

rafmacalaba avatar Feb 27 '21 05:02 rafmacalaba