Re-enable seeking alpha headline feed. Code cleanup.
This commit is contained in:
@@ -12,7 +12,7 @@ namespace MarketData.Helper
|
||||
public class HeadlinesMarketDataHelper
|
||||
{
|
||||
private static int MaxThreads = 10; // (int)ThreadHelperEnum.MaxThreads;
|
||||
private static int WAIT_BETWEEN_REQUESTS_MS = 500; // wait 500 ms between requests
|
||||
private static int WAIT_BETWEEN_REQUESTS_MS = 1000; // wait 1000 ms between requests
|
||||
private List<String> symbols;
|
||||
private int currentIndex = 0;
|
||||
|
||||
@@ -39,6 +39,7 @@ namespace MarketData.Helper
|
||||
{
|
||||
ThreadHelper threadHelper = new ThreadHelper(queueSymbols[index],resetEvents[index]);
|
||||
ThreadPool.QueueUserWorkItem(ThreadPoolCallbackLoadHeadline, threadHelper);
|
||||
try{Thread.Sleep(WAIT_BETWEEN_REQUESTS_MS);}catch{;}
|
||||
}
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"Load Headline, waiting for queued items to complete.");
|
||||
WaitHandle.WaitAll(resetEvents);
|
||||
@@ -113,8 +114,8 @@ namespace MarketData.Helper
|
||||
Headlines headlinesCollection=new Headlines();
|
||||
Headlines headlines=null;
|
||||
// SEEKING ALPHA
|
||||
//headlines=MarketDataHelper.GetCompanyHeadlines(symbol);
|
||||
//if(null!=headlines)headlinesCollection.AddRange(headlines);
|
||||
headlines=MarketDataHelper.GetCompanyHeadlinesSeekingAlpha(symbol);
|
||||
if(null!=headlines)headlinesCollection.AddRange(headlines);
|
||||
// NASDAQ
|
||||
headlines=MarketDataHelper.GetCompanyHeadlinesNASDAQ(symbol);
|
||||
if(null!=headlines)headlinesCollection.AddRange(headlines);
|
||||
@@ -123,6 +124,10 @@ namespace MarketData.Helper
|
||||
if(null!=headlines)headlinesCollection.AddRange(headlines);
|
||||
return headlinesCollection;
|
||||
}
|
||||
// ***********************************************************************************************************************************************
|
||||
// ***********************************************************************************************************************************************
|
||||
// ***********************************************************************************************************************************************
|
||||
|
||||
public static void LoadHeadlineEx(String symbol)
|
||||
{
|
||||
DateTime marketDate=PremarketDA.GetLatestMarketDate();
|
||||
@@ -130,23 +135,24 @@ namespace MarketData.Helper
|
||||
|
||||
Headlines headlines=null;
|
||||
// SEEKING ALPHA
|
||||
//MDTrace.WriteLine(LogLevel.DEBUG,String.Format("LoadHeadlinesSymbol {0}",symbol));
|
||||
//headlines=MarketDataHelper.GetCompanyHeadlines(symbol);
|
||||
//if(headlines.IsNullOrEmpty())
|
||||
//{
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,String.Format("No headlines for {0} from Seeking Alpha",symbol));
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Got {0} headlines for {1} from Seeking Alpha",headlines.Count,symbol));
|
||||
// headlines=new Headlines(headlines.Where(x=>x.Date<marketDate).ToList());
|
||||
// HeadlinesDA.InsertHeadlines(headlines);
|
||||
// foreach(Headline headline in headlines)
|
||||
// {
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Seeking Alpha {0}, {1} -> {2}",headline.Symbol,headline.Date.ToShortDateString(),headline.Entry));
|
||||
// }
|
||||
//}
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("GetCompanyHeadlinesSeekingAlpha {0}",symbol));
|
||||
headlines=MarketDataHelper.GetCompanyHeadlinesSeekingAlpha(symbol);
|
||||
if(headlines.IsNullOrEmpty())
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("No headlines for {0} from Seeking Alpha",symbol));
|
||||
}
|
||||
else
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Got {0} headlines for {1} from Seeking Alpha",headlines.Count,symbol));
|
||||
headlines=new Headlines(headlines.Where(x=>x.Date<marketDate).ToList());
|
||||
HeadlinesDA.InsertHeadlines(headlines);
|
||||
foreach(Headline headline in headlines)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Seeking Alpha {0}, {1} -> {2}",headline.Symbol,headline.Date.ToShortDateString(),headline.Entry));
|
||||
}
|
||||
}
|
||||
// NASDAQ
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("GetCompanyHeadlinesNASDAQ {0}",symbol));
|
||||
headlines=MarketDataHelper.GetCompanyHeadlinesNASDAQ(symbol);
|
||||
if(headlines.IsNullOrEmpty())
|
||||
{
|
||||
@@ -163,6 +169,7 @@ namespace MarketData.Helper
|
||||
}
|
||||
}
|
||||
// MARKETWATCH
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("GetCompanyHeadlinesMarketWatch {0}",symbol));
|
||||
headlines=MarketDataHelper.GetCompanyHeadlinesMarketWatch(symbol);
|
||||
if(headlines.IsNullOrEmpty())
|
||||
{
|
||||
|
||||
@@ -1658,13 +1658,7 @@ namespace MarketData.Helper
|
||||
// ***************************************************************************************************************************************************************************
|
||||
//***************************************************************** H E A D L I N E S - S E E K I N G A L P H A ***********************************************************
|
||||
// ***************************************************************************************************************************************************************************
|
||||
/*
|
||||
public static Headlines GetCompanyHeadlines(String symbol)
|
||||
{
|
||||
Headlines headlines=GetCompanyHeadlinesEx(symbol);
|
||||
return headlines;
|
||||
}
|
||||
public static Headlines GetCompanyHeadlinesEx(String symbol)
|
||||
public static Headlines GetCompanyHeadlinesSeekingAlpha(String symbol)
|
||||
{
|
||||
HttpNetResponse httpNetResponse=null;
|
||||
Headlines headlines=new Headlines();
|
||||
@@ -1680,8 +1674,8 @@ namespace MarketData.Helper
|
||||
sb.Append("https://seekingalpha.com/api/v3/symbols/").Append(symbol).Append("/news?filter[until]=0&id=").Append(symbol).Append("&include=author,primaryTickers,secondaryTickers,sentiments&page[number]=1&page[size]=11");
|
||||
strRequest = sb.ToString();
|
||||
MDTrace.WriteLine(LogLevel.DEBUG, strRequest);
|
||||
WebProxy webProxy=HttpNetRequest.GetProxy("GetCompanyHeadlines");
|
||||
httpNetResponse=HttpNetRequest.GetRequestNoEncodingV3B(strRequest,cookieCollection,webProxy);
|
||||
WebProxy webProxy=HttpNetRequest.GetProxy("GetCompanyHeadlinesSeekingAlpha");
|
||||
httpNetResponse=HttpNetRequest.GetRequestNoEncodingV5B(strRequest,30000,webProxy,true,cookieCollection);
|
||||
if(!httpNetResponse.Success)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Request:{0} failed with status {1}",httpNetResponse.Request,httpNetResponse.StatusCode));
|
||||
@@ -1714,17 +1708,12 @@ namespace MarketData.Helper
|
||||
if(null!=httpNetResponse)httpNetResponse.Dispose();
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
// ***************************************************************************************************************************************************************************
|
||||
//***************************************************************** H E A D L I N E S - M A R K E T W A T C H *************************************************************
|
||||
// ***************************************************************************************************************************************************************************
|
||||
|
||||
public static Headlines GetCompanyHeadlinesMarketWatch(String symbol)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
// turning this off until MarketWatch quote resets 03/14/2023. we'll try it again in some hours.
|
||||
public static Headlines GetCompanyHeadlinesMarketWatch_Org(String symbol)
|
||||
{
|
||||
HttpNetResponse httpNetResponse=null;
|
||||
Headlines headlines=new Headlines();
|
||||
@@ -1738,12 +1727,12 @@ namespace MarketData.Helper
|
||||
MemoryStream memoryStream=null;
|
||||
CookieCollection cookieCollection=new CookieCollection();
|
||||
httpNetResponse= HttpNetRequest.GetRequestNoEncodingV4("https://www.marketwatch.com",cookieCollection);
|
||||
Thread.Sleep(250);
|
||||
Thread.Sleep(500);
|
||||
sb.Append("https://www.marketwatch.com/investing/stock/").Append(symbol).Append("?mod=search_symbol");
|
||||
strRequest = sb.ToString();
|
||||
MDTrace.WriteLine(LogLevel.DEBUG, strRequest);
|
||||
WebProxy webProxy=HttpNetRequest.GetProxy("GetCompanyHeadlinesMarketWatch");
|
||||
httpNetResponse=HttpNetRequest.GetRequestNoEncodingV5(strRequest,DEFAULT_TIMEOUT_MS,webProxy);
|
||||
httpNetResponse=HttpNetRequest.GetRequestNoEncodingV5B(strRequest,DEFAULT_TIMEOUT_MS,webProxy,true,cookieCollection);
|
||||
if(!httpNetResponse.Success)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Request:{0} failed with status {1}",httpNetResponse.Request,httpNetResponse.StatusCode));
|
||||
|
||||
Reference in New Issue
Block a user