공시에서 부정문구 체크

This commit is contained in:
2018-06-07 18:09:36 +09:00
parent d074af571a
commit 1cd307b45a
2 changed files with 20 additions and 27 deletions

View File

@@ -312,8 +312,6 @@ namespace NewsCrawler
using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8"))) using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8")))
{ {
string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd()); string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd());
if (responseFromServer.Contains("정정"))
Console.WriteLine("");
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(responseFromServer); doc.LoadHtml(responseFromServer);
@@ -394,8 +392,6 @@ namespace NewsCrawler
using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8"))) using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8")))
{ {
string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd()); string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd());
if (responseFromServer.Contains("정정"))
Console.WriteLine("");
dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer); dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer);
string strBody = jObj["reportBody"]; string strBody = jObj["reportBody"];
@@ -471,8 +467,6 @@ namespace NewsCrawler
using (StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8"))) using (StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8")))
{ {
string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd()); string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd());
if (responseFromServer.Contains("정정"))
Console.WriteLine("");
dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer); dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer);
string strBody = jObj["reportBody"]; string strBody = jObj["reportBody"];
@@ -550,8 +544,6 @@ namespace NewsCrawler
using (StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8"))) using (StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8")))
{ {
string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd()); string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd());
if (responseFromServer.Contains("정정"))
Console.WriteLine("");
dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer); dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer);
string strBody = jObj["reportBody"]; string strBody = jObj["reportBody"];
@@ -624,8 +616,6 @@ namespace NewsCrawler
using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8"))) using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8")))
{ {
string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd()); string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd());
if (responseFromServer.Contains("정정"))
Console.WriteLine("");
dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer); dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer);
string strBody = jObj["reportBody"]; string strBody = jObj["reportBody"];
@@ -699,8 +689,6 @@ namespace NewsCrawler
using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8"))) using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8")))
{ {
string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd()); string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd());
if (responseFromServer.Contains("정정"))
Console.WriteLine("");
dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer); dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer);
string strBody = jObj["reportBody"]; string strBody = jObj["reportBody"];
@@ -785,8 +773,6 @@ namespace NewsCrawler
using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8"))) using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8")))
{ {
string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd()); string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd());
if (responseFromServer.Contains("정정"))
Console.WriteLine("");
dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer); dynamic jObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseFromServer);
string strErrCode = jObj["err_code"]; string strErrCode = jObj["err_code"];
@@ -812,16 +798,20 @@ namespace NewsCrawler
string strURL = "http://m.dart.fss.or.kr/html_mdart/MD1007.html?rcpNo=" + data["rcp_no"]; string strURL = "http://m.dart.fss.or.kr/html_mdart/MD1007.html?rcpNo=" + data["rcp_no"];
string strViewURL = "http://m.dart.fss.or.kr/viewer/main.st?rcpNo=" + data["rcp_no"]; string strViewURL = "http://m.dart.fss.or.kr/viewer/main.st?rcpNo=" + data["rcp_no"];
TextCondition.RESULT MatchResult = m_Listener.CheckMatch(strTitle);
if(MatchResult.m_enType != TextCondition.TYPE.NEGATIVE)
{
if (Config.CheckSupplyContract() && strCodeName != "" && strTitle.Contains("공급계약체결") && m_Listener.IsDuplicatedURL(strURL) == false) if (Config.CheckSupplyContract() && strCodeName != "" && strTitle.Contains("공급계약체결") && m_Listener.IsDuplicatedURL(strURL) == false)
ReadSupplyContract(bInitial, strCodeName, strViewURL); ReadSupplyContract(bInitial, strCodeName, strViewURL);
else if(Config.CheckRevenue() && strCodeName != "" && strTitle.Contains("영업(잠정)실적(공정공시)") && m_Listener.IsDuplicatedURL(strURL) == false) else if (Config.CheckRevenue() && strCodeName != "" && strTitle.Contains("영업(잠정)실적(공정공시)") && m_Listener.IsDuplicatedURL(strURL) == false)
ReadRevenue(bInitial, strCodeName, strViewURL); ReadRevenue(bInitial, strCodeName, strViewURL);
else if(Config.CheckRightsIssue() && strCodeName != "" && strTitle.Contains("유상증자결정") && m_Listener.IsDuplicatedURL(strURL) == false) else if (Config.CheckRightsIssue() && strCodeName != "" && strTitle.Contains("유상증자결정") && m_Listener.IsDuplicatedURL(strURL) == false)
ReadRightsIssue(bInitial, strCodeName, strViewURL); ReadRightsIssue(bInitial, strCodeName, strViewURL);
else if(Config.CheckPatent() && strCodeName != "" && strTitle.Contains("특허권취득") && m_Listener.IsDuplicatedURL(strURL) == false) else if (Config.CheckPatent() && strCodeName != "" && strTitle.Contains("특허권취득") && m_Listener.IsDuplicatedURL(strURL) == false)
ReadPatent(bInitial, strCodeName, strViewURL); ReadPatent(bInitial, strCodeName, strViewURL);
else if(Config.CheckProfitChange() && strCodeName != "" && m_ProfitChange.IsMatch(strTitle) && m_Listener.IsDuplicatedURL(strURL) == false) else if (Config.CheckProfitChange() && strCodeName != "" && m_ProfitChange.IsMatch(strTitle) && m_Listener.IsDuplicatedURL(strURL) == false)
ReadProfitChange(bInitial, strCodeName, strViewURL); ReadProfitChange(bInitial, strCodeName, strViewURL);
}
m_Listener.InsertItem(strTitle, strCodeName, "", m_Listener.InsertItem(strTitle, strCodeName, "",
DateTime.ParseExact(strTime, "HH:mm", CultureInfo.CurrentCulture), DateTime.ParseExact(strTime, "HH:mm", CultureInfo.CurrentCulture),
@@ -917,8 +907,6 @@ namespace NewsCrawler
using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8"))) using(StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("utf-8")))
{ {
string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd()); string responseFromServer = WebUtility.HtmlDecode(reader.ReadToEnd());
if (responseFromServer.Contains("정정"))
Console.WriteLine("");
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(responseFromServer); doc.LoadHtml(responseFromServer);

View File

@@ -226,9 +226,14 @@ namespace NewsCrawler
m_PriceCheckList.Enqueue(CheckData); m_PriceCheckList.Enqueue(CheckData);
} }
public TextCondition.RESULT CheckMatch(string strTitle)
{
return m_Condition.Match(strTitle);
}
void ProcessSearchAndBuy(NEWS_ITEM NewsItem) void ProcessSearchAndBuy(NEWS_ITEM NewsItem)
{ {
TextCondition.RESULT MatchResult = m_Condition.Match(NewsItem.m_strTitle); TextCondition.RESULT MatchResult = CheckMatch(NewsItem.m_strTitle);
switch(MatchResult.m_enType) switch(MatchResult.m_enType)
{ {
case TextCondition.TYPE.NEGATIVE: case TextCondition.TYPE.NEGATIVE: