버그 수정 및 Page 갯수 설정
git-svn-id: svn://192.168.0.12/source@127 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -48,7 +48,7 @@ bool SDaumCafeManage::Update()
|
|||||||
switch(m_nMode)
|
switch(m_nMode)
|
||||||
{
|
{
|
||||||
case E_PROCESS_LIST_RUN:
|
case E_PROCESS_LIST_RUN:
|
||||||
if (UseProcess() == false && CheckTime())
|
if (UseProcess() == false)
|
||||||
{
|
{
|
||||||
m_strListQuery = makeGetListQuery(m_strKeyword,m_date,m_ncList);
|
m_strListQuery = makeGetListQuery(m_strKeyword,m_date,m_ncList);
|
||||||
m_pMain->InsertLog("Start : " + QString::number(m_ncList) + " Date : " + m_date.toString("yyyy-MM-dd"));
|
m_pMain->InsertLog("Start : " + QString::number(m_ncList) + " Date : " + m_date.toString("yyyy-MM-dd"));
|
||||||
@@ -61,7 +61,7 @@ bool SDaumCafeManage::Update()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case E_PROCESS_URL_RUN:
|
case E_PROCESS_URL_RUN:
|
||||||
if (UseProcess() == false && CheckTime())
|
if (UseProcess() == false)
|
||||||
{
|
{
|
||||||
m_pMain->InsertLog("(" + QString::number(m_ncUrl+1) + "/" + QString::number(m_strListURL.size()) + ")");
|
m_pMain->InsertLog("(" + QString::number(m_ncUrl+1) + "/" + QString::number(m_strListURL.size()) + ")");
|
||||||
{
|
{
|
||||||
@@ -85,7 +85,7 @@ bool SDaumCafeManage::Update()
|
|||||||
m_pro[0].kill();
|
m_pro[0].kill();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (m_nMode == E_PROCESS_LIST_FINISH_WAIT){ReLoadList(); return m_bFinalLast;}
|
ReLoadList(); //return m_bFinalLast;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -103,6 +103,12 @@ void SDaumCafeManage::processFinished(QProcess *_pPro,QString _strOut)
|
|||||||
if (_strOut.right(4) == "last" || m_ncList >= 1000)
|
if (_strOut.right(4) == "last" || m_ncList >= 1000)
|
||||||
m_bLast = true;
|
m_bLast = true;
|
||||||
|
|
||||||
|
if (m_bLast == false && m_nUntilPage > 0)
|
||||||
|
{
|
||||||
|
if (m_ncList >= m_nUntilPage)
|
||||||
|
m_bLast = true;
|
||||||
|
}
|
||||||
|
|
||||||
// if (_strOut.right(5) == "block")
|
// if (_strOut.right(5) == "block")
|
||||||
// m_bFinalLast = true;
|
// m_bFinalLast = true;
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,7 @@ SManage::SManage(QObject *parent) :
|
|||||||
QObject(parent),m_pMain(0)
|
QObject(parent),m_pMain(0)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < C_PROCESS_MAX ;i++)
|
for(int i = 0; i < C_PROCESS_MAX ;i++)
|
||||||
connect(&m_pro[i],SIGNAL(finished(int,QProcess::ExitStatus)),SLOT(processFinished(int,QProcess::ExitStatus)));
|
connect(&m_pro[i],SIGNAL(finished(int,QProcess::ExitStatus)),SLOT(processFinished(int,QProcess::ExitStatus)));
|
||||||
//connect(&m_pro[0],SIGNAL(readyReadStandardOutput()),SLOT(processReadLine()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SManage::~SManage()
|
SManage::~SManage()
|
||||||
@@ -15,7 +14,7 @@ SManage::~SManage()
|
|||||||
m_pMain = 0;
|
m_pMain = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SManage::Start(QDate _StartDate,QDate _EndDate,QString _strKeyword,QString _strAuthorship,QString _strKeywordID,QString _strGroupID,int _nStart,QString _strTime)
|
void SManage::Start(QDate _StartDate,QDate _EndDate,QString _strKeyword,QString _strAuthorship,QString _strKeywordID,QString _strGroupID,int _nStart,int _nUntilPage)
|
||||||
{
|
{
|
||||||
m_date = _StartDate;
|
m_date = _StartDate;
|
||||||
m_dateEnd = _EndDate;
|
m_dateEnd = _EndDate;
|
||||||
@@ -25,24 +24,7 @@ void SManage::Start(QDate _StartDate,QDate _EndDate,QString _strKeyword,QString
|
|||||||
m_strAuthorship = _strAuthorship;
|
m_strAuthorship = _strAuthorship;
|
||||||
m_ncList = _nStart;
|
m_ncList = _nStart;
|
||||||
m_strGroupID = _strGroupID;
|
m_strGroupID = _strGroupID;
|
||||||
QStringList strList = _strTime.split("~");
|
m_nUntilPage = _nUntilPage;
|
||||||
switch(strList.size())
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
m_nStartTime = 3;
|
|
||||||
m_nRangeTime = 1;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
m_nStartTime = strList.at(0).toInt();
|
|
||||||
m_nRangeTime = 1;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
m_nStartTime = strList.at(0).toInt();
|
|
||||||
m_nRangeTime = strList.at(1).toInt() - strList.at(0).toInt();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
m_timeEnd = QDateTime::currentDateTime();
|
|
||||||
m_timeEnd = m_timeEnd.addSecs(rand() % m_nRangeTime + m_nStartTime);
|
|
||||||
Start();
|
Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,13 +75,6 @@ bool SManage::UseProcess()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SManage::processReadLine()
|
|
||||||
{
|
|
||||||
QProcess *pPro = (QProcess*)sender();
|
|
||||||
qDebug() << pPro->readAllStandardOutput();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void SManage::processFinished(int exitCode,QProcess::ExitStatus exitStatus)
|
void SManage::processFinished(int exitCode,QProcess::ExitStatus exitStatus)
|
||||||
{
|
{
|
||||||
QProcess *pPro = (QProcess*)sender();
|
QProcess *pPro = (QProcess*)sender();
|
||||||
@@ -147,14 +122,3 @@ void SManage::WaitExitProcess()
|
|||||||
bQuit = UseProcess();
|
bQuit = UseProcess();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SManage::CheckTime()
|
|
||||||
{
|
|
||||||
if (QDateTime::currentDateTime() > m_timeEnd)
|
|
||||||
{
|
|
||||||
m_timeEnd = QDateTime::currentDateTime();
|
|
||||||
m_timeEnd = m_timeEnd.addSecs(rand() % m_nRangeTime + m_nStartTime);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -16,13 +16,12 @@ class SManage : public QObject
|
|||||||
private:
|
private:
|
||||||
QVector <QStringList> m_vecList;
|
QVector <QStringList> m_vecList;
|
||||||
private slots:
|
private slots:
|
||||||
void processFinished(int exitCode, QProcess::ExitStatus exitStatus);
|
void processFinished(int exitCode, QProcess::ExitStatus exitStatus);
|
||||||
void processReadLine();
|
|
||||||
public:
|
public:
|
||||||
explicit SManage(QObject *parent = 0);
|
explicit SManage(QObject *parent = 0);
|
||||||
~SManage();
|
~SManage();
|
||||||
public:
|
public:
|
||||||
void Start(QDate _StartDate,QDate _EndDate,QString _strKeyword,QString _strAuthorship,QString _strKeywordID,QString _strGroupID,int _nStart,QString _strTime);
|
void Start(QDate _StartDate,QDate _EndDate,QString _strKeyword,QString _strAuthorship,QString _strKeywordID,QString _strGroupID,int _nStart,int _nUntilPage);
|
||||||
void SetParent(Widget *pWidget);
|
void SetParent(Widget *pWidget);
|
||||||
void WaitExitProcess();
|
void WaitExitProcess();
|
||||||
virtual bool Update() = 0;
|
virtual bool Update() = 0;
|
||||||
@@ -31,12 +30,10 @@ protected:
|
|||||||
QString EncodetoUtf8(QString _str,bool _bExt=false);
|
QString EncodetoUtf8(QString _str,bool _bExt=false);
|
||||||
virtual void processFinished(QProcess *pPro,QString _strOut) = 0;
|
virtual void processFinished(QProcess *pPro,QString _strOut) = 0;
|
||||||
bool UseProcess();
|
bool UseProcess();
|
||||||
void CheckLast();
|
void CheckLast();
|
||||||
bool CheckTime();
|
|
||||||
protected:
|
protected:
|
||||||
Widget *m_pMain;
|
Widget *m_pMain;
|
||||||
QDate m_date,m_dateEnd;
|
QDate m_date,m_dateEnd;
|
||||||
QDateTime m_timeEnd;
|
|
||||||
int m_nMode;
|
int m_nMode;
|
||||||
QString m_strKeyword;
|
QString m_strKeyword;
|
||||||
QString m_strKeywordID;
|
QString m_strKeywordID;
|
||||||
@@ -48,8 +45,7 @@ protected:
|
|||||||
int m_ncList;
|
int m_ncList;
|
||||||
int m_ncUrl;
|
int m_ncUrl;
|
||||||
int m_nWait;
|
int m_nWait;
|
||||||
int m_nStartTime;
|
int m_nUntilPage;
|
||||||
int m_nRangeTime;
|
|
||||||
static const int C_PROCESS_MAX = 1;
|
static const int C_PROCESS_MAX = 1;
|
||||||
QProcess m_pro[C_PROCESS_MAX];
|
QProcess m_pro[C_PROCESS_MAX];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -96,9 +96,15 @@ void SNaverBlogManage::processFinished(QProcess *pPro,QString _strOut)
|
|||||||
{
|
{
|
||||||
m_bLast = false;
|
m_bLast = false;
|
||||||
bool reloaded = false;
|
bool reloaded = false;
|
||||||
if (_strOut.right(4) == "last" || m_ncList >= 991)
|
if (_strOut.right(4) == "last" || m_ncList >= 991 )
|
||||||
m_bLast = true;
|
m_bLast = true;
|
||||||
|
|
||||||
|
if (m_bLast == false && m_nUntilPage > 0)
|
||||||
|
{
|
||||||
|
if ((m_ncList/10) >= m_nUntilPage)
|
||||||
|
m_bLast = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (_strOut.right(5) == "block")
|
if (_strOut.right(5) == "block")
|
||||||
{
|
{
|
||||||
reloaded = true;
|
reloaded = true;
|
||||||
@@ -110,10 +116,7 @@ void SNaverBlogManage::processFinished(QProcess *pPro,QString _strOut)
|
|||||||
reloaded = true;
|
reloaded = true;
|
||||||
ReLoadList();
|
ReLoadList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QStringList strOutList = _strOut.split("\n");
|
QStringList strOutList = _strOut.split("\n");
|
||||||
|
|
||||||
if(strOutList.length() > 2)
|
if(strOutList.length() > 2)
|
||||||
{
|
{
|
||||||
if(_strOut.split("\n").at(2).trimmed().length() == 0)
|
if(_strOut.split("\n").at(2).trimmed().length() == 0)
|
||||||
@@ -136,15 +139,16 @@ void SNaverBlogManage::processFinished(QProcess *pPro,QString _strOut)
|
|||||||
{
|
{
|
||||||
if (str.isEmpty()) continue;
|
if (str.isEmpty()) continue;
|
||||||
if (str.at(0) == QChar('o'))
|
if (str.at(0) == QChar('o'))
|
||||||
m_strListURL.push_back(str.right(str.length()-2).trimmed());
|
{
|
||||||
|
if (str.right(str.length()-2).trimmed().isEmpty() == false)
|
||||||
|
m_strListURL.push_back(str.right(str.length()-2).trimmed());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m_ncUrl = 0;
|
m_ncUrl = 0;
|
||||||
if (m_strListURL.size() == 0)
|
if (m_strListURL.size() == 0)
|
||||||
{
|
{
|
||||||
m_nMode = E_PROCESS_LIST_RUN;
|
m_nMode = E_PROCESS_LIST_RUN;
|
||||||
CheckLast();
|
CheckLast();
|
||||||
//if(m_bLast == false)
|
|
||||||
// ReLoadList();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
m_nMode = E_PROCESS_URL_RUN;
|
m_nMode = E_PROCESS_URL_RUN;
|
||||||
@@ -176,7 +180,7 @@ bool SNaverBlogManage::Update()
|
|||||||
switch(m_nMode)
|
switch(m_nMode)
|
||||||
{
|
{
|
||||||
case E_PROCESS_LIST_RUN:
|
case E_PROCESS_LIST_RUN:
|
||||||
if (UseProcess() == false && CheckTime())
|
if (UseProcess() == false)
|
||||||
{
|
{
|
||||||
m_strQuery = makeGetListQuery(m_strKeyword,m_date);
|
m_strQuery = makeGetListQuery(m_strKeyword,m_date);
|
||||||
//m_pMain->InsertLog(m_nID,"Start : " + QString::number(m_ncList) + " Date : " + m_date.toString("yyyy-MM-dd"));
|
//m_pMain->InsertLog(m_nID,"Start : " + QString::number(m_ncList) + " Date : " + m_date.toString("yyyy-MM-dd"));
|
||||||
@@ -190,7 +194,7 @@ bool SNaverBlogManage::Update()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case E_PROCESS_URL_RUN:
|
case E_PROCESS_URL_RUN:
|
||||||
if (UseProcess() == false && CheckTime())
|
if (UseProcess() == false)
|
||||||
{
|
{
|
||||||
m_pMain->InsertLog("(" + QString::number(m_ncUrl+1) + "/" + QString::number(m_strListURL.size()) + ")");
|
m_pMain->InsertLog("(" + QString::number(m_ncUrl+1) + "/" + QString::number(m_strListURL.size()) + ")");
|
||||||
m_pro[0].start("CrawlerProcess",QStringList() << "naver" << "blog_url" << m_strListURL.at(m_ncUrl) << m_strGroupID << m_strKeywordID );
|
m_pro[0].start("CrawlerProcess",QStringList() << "naver" << "blog_url" << m_strListURL.at(m_ncUrl) << m_strGroupID << m_strKeywordID );
|
||||||
@@ -199,7 +203,7 @@ bool SNaverBlogManage::Update()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case E_PROCESS_COMMENT_RUN:
|
case E_PROCESS_COMMENT_RUN:
|
||||||
if (UseProcess() == false && CheckTime())
|
if (UseProcess() == false)
|
||||||
{
|
{
|
||||||
m_pro[0].start("CrawlerProcess",QStringList() << "naver" << "blog_comm" << makeGetCommentQuery(m_strListURL.at(m_ncUrl++)) << m_strGroupID << "" );
|
m_pro[0].start("CrawlerProcess",QStringList() << "naver" << "blog_comm" << makeGetCommentQuery(m_strListURL.at(m_ncUrl++)) << m_strGroupID << "" );
|
||||||
m_nMode = E_PROCESS_COMMENT_FINISH_WAIT;
|
m_nMode = E_PROCESS_COMMENT_FINISH_WAIT;
|
||||||
@@ -218,124 +222,13 @@ bool SNaverBlogManage::Update()
|
|||||||
m_pro[0].kill();
|
m_pro[0].kill();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (m_nMode == E_PROCESS_LIST_FINISH_WAIT) {ReLoadList(); return m_bFinalLast;}
|
ReLoadList();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return m_bFinalLast;
|
return m_bFinalLast;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SNaverBlogManage::MakeTables()
|
|
||||||
{
|
|
||||||
QString strQuery = "show tables";
|
|
||||||
QSqlQuery query;
|
|
||||||
query.exec(strQuery);
|
|
||||||
int nUrlMax = -1;
|
|
||||||
while (query.next())
|
|
||||||
{
|
|
||||||
QString str = query.value(0).toString();
|
|
||||||
if (str.left(C_TABLE_URL.size()) == C_TABLE_URL.toUpper())
|
|
||||||
{
|
|
||||||
if (nUrlMax < str.mid(C_TABLE_URL.size()).toInt())
|
|
||||||
nUrlMax = str.mid(C_TABLE_URL.size()).toInt();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_nUrlTable = nUrlMax + 1;
|
|
||||||
strQuery = "Create table " + C_TABLE_URL + QString::number(m_nUrlTable)+ "(Url CHAR(128) not null primary key,keyword_id INT,PlatformTitle CHAR(128),PlatformID CHAR(64),ArticleTitle VARCHAR(128),ArticleID CHAR(32),Date DATETIME,Nickname CHAR(32),Data VARCHAR(18432),Error CHAR(32)) CHARSET=utf8";
|
|
||||||
query.exec(strQuery);
|
|
||||||
strQuery = "Create table " + C_TABLE_COM + QString::number(m_nUrlTable)+ "(Url CHAR(128) not null,Nickname CHAR(32),Data VARCHAR(1024),Parent CHAR(64),Date DATETIME,UrlReply VARCHAR(512),RowNum INT) CHARSET=utf8";
|
|
||||||
query.exec(strQuery);
|
|
||||||
/*
|
|
||||||
strQuery = "Create table " + C_TABLE_URL + QString::number(m_nUrlTable)+ "(URL varchar(128) not null primary key , ID varchar(64) ,NICK varchar(64),TITLE varchar(256), DATA varchar(20480) , DATE char(32) , BLOG_ID varchar(64) , OTHER varchar(128), ERROR char(128)) CHARSET=utf8";
|
|
||||||
query.exec(strQuery);
|
|
||||||
strQuery = "Create table " + C_TABLE_COM + QString::number(m_nUrlTable)+ "(URL varchar(128) not null, NICK varchar(64),DATA varchar(20480),PARENT varchar(64),DATE char(32),URL_COMMENT varchar(512) not null,URL_NICK varchar(128)) CHARSET=utf8";
|
|
||||||
query.exec(strQuery);
|
|
||||||
*/
|
|
||||||
|
|
||||||
m_pMain->setWindowTitle("NaverBlogCrawler " + QString::number(m_nUrlTable));
|
|
||||||
}
|
|
||||||
|
|
||||||
void SNaverBlogManage::DropTables()
|
|
||||||
{
|
|
||||||
QString strQuery = "drop table ";
|
|
||||||
QSqlQuery query;
|
|
||||||
query.exec(strQuery + C_TABLE_URL + QString::number(m_nUrlTable));
|
|
||||||
query.exec(strQuery + C_TABLE_COM + QString::number(m_nUrlTable));
|
|
||||||
}
|
|
||||||
|
|
||||||
void SNaverBlogManage::Join()
|
|
||||||
{
|
|
||||||
//m_pMain->InsertLog(m_nID,"Insert Article Data...");
|
|
||||||
m_pMain->InsertLog("Insert Article Data...");
|
|
||||||
QString strQuery = "insert into "
|
|
||||||
"data_" + m_strGroupID +
|
|
||||||
"(platformname , platformform , articleform ,"
|
|
||||||
"url , keyword_id , body_platformtitle , body_platformid , body_articletitle , body_articleid , body_date , body_nickname , body_data)"
|
|
||||||
"select "
|
|
||||||
"CONVERT('naver' USING utf8),"
|
|
||||||
"CONVERT('blog' USING utf8),"
|
|
||||||
"CONVERT('article' USING utf8),"
|
|
||||||
"CONVERT(url USING utf8),"
|
|
||||||
"CONVERT(keyword_id USING utf8),"
|
|
||||||
"CONVERT(PlatformTitle USING utf8),"
|
|
||||||
"CONVERT(PlatformID USING utf8),"
|
|
||||||
"CONVERT(ArticleTitle USING utf8),"
|
|
||||||
"CONVERT(ArticleID USING utf8),"
|
|
||||||
"CONVERT(Date USING utf8),"
|
|
||||||
"CONVERT(Nickname USING utf8),"
|
|
||||||
"CONVERT(Data USING utf8)"
|
|
||||||
"from NAVER_BLOG_BODY_" + QString::number(m_nUrlTable);
|
|
||||||
QSqlQuery query;
|
|
||||||
if (query.exec(strQuery) == false)
|
|
||||||
{
|
|
||||||
//m_pMain->InsertLog(m_nID,query.lastError().text());
|
|
||||||
m_pMain->InsertLog(query.lastError().text());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//m_pMain->InsertLog(m_nID,"Insert Reply Data...");
|
|
||||||
m_pMain->InsertLog("Insert Reply Data...");
|
|
||||||
|
|
||||||
strQuery = "insert into "
|
|
||||||
"data_" + m_strGroupID +
|
|
||||||
"(platformname , platformform , articleform ,"
|
|
||||||
"url , keyword_id , body_platformtitle , body_platformid , body_articletitle , body_articleid , body_date , body_nickname , body_data ,"
|
|
||||||
"reply_nickname ,reply_data, reply_parent , reply_date ,reply_urlreply ,reply_rownum )"
|
|
||||||
"select "
|
|
||||||
"CONVERT('naver' USING utf8),"
|
|
||||||
"CONVERT('blog' USING utf8),"
|
|
||||||
"CONVERT('reply' USING utf8),"
|
|
||||||
"CONVERT(_body.url USING utf8),"
|
|
||||||
"CONVERT(_body.keyword_id USING utf8),"
|
|
||||||
"CONVERT(_body.PlatformTitle USING utf8),"
|
|
||||||
"CONVERT(_body.PlatformID USING utf8),"
|
|
||||||
"CONVERT(_body.ArticleTitle USING utf8),"
|
|
||||||
"CONVERT(_body.ArticleID USING utf8),"
|
|
||||||
"CONVERT(_body.Date USING utf8),"
|
|
||||||
"CONVERT(_body.Nickname USING utf8),"
|
|
||||||
"CONVERT(_body.Data USING utf8),"
|
|
||||||
"CONVERT(_reply.Nickname USING utf8),"
|
|
||||||
"CONVERT(_reply.Data USING utf8),"
|
|
||||||
"CONVERT(_reply.Parent USING utf8),"
|
|
||||||
"CONVERT(_reply.Date USING utf8),"
|
|
||||||
"CONVERT(_reply.UrlReply USING utf8),"
|
|
||||||
"CONVERT(_reply.RowNum USING utf8) "
|
|
||||||
"from " + C_TABLE_URL + QString::number(m_nUrlTable) + " _body INNER JOIN " + C_TABLE_COM + QString::number(m_nUrlTable) + " _reply ON _body.Url = _reply.Url";
|
|
||||||
|
|
||||||
if (query.exec(strQuery) == false)
|
|
||||||
{
|
|
||||||
//m_pMain->InsertLog(m_nID,query.lastError().text());
|
|
||||||
m_pMain->InsertLog(query.lastError().text());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//m_pMain->InsertLog(m_nID,"Delete data ...");
|
|
||||||
m_pMain->InsertLog("Delete data ...");
|
|
||||||
query.exec("delete from NAVER_BLOG_BODY_" + QString::number(m_nUrlTable) );
|
|
||||||
query.exec("delete from NAVER_BLOG_REPLY_" + QString::number(m_nUrlTable) );
|
|
||||||
//m_pMain->InsertLog(m_nID,"Finish ... ");
|
|
||||||
m_pMain->InsertLog("Finish ... ");
|
|
||||||
}
|
|
||||||
|
|
||||||
void SNaverBlogManage::ReLoadList()
|
void SNaverBlogManage::ReLoadList()
|
||||||
{
|
{
|
||||||
m_nMode = E_PROCESS_LIST_RUN;
|
m_nMode = E_PROCESS_LIST_RUN;
|
||||||
|
|||||||
@@ -16,11 +16,6 @@ public:
|
|||||||
};
|
};
|
||||||
public:
|
public:
|
||||||
SNaverBlogManage(QObject *pObject);
|
SNaverBlogManage(QObject *pObject);
|
||||||
void MakeTables();
|
|
||||||
void DropTables();
|
|
||||||
void SaveCsv(QString _strName);
|
|
||||||
void Join();
|
|
||||||
int GetTableNumber() {return m_nUrlTable;}
|
|
||||||
private:
|
private:
|
||||||
QString makeGetListQuery(QString _str,QDate _date);
|
QString makeGetListQuery(QString _str,QDate _date);
|
||||||
QString makeGetCommentQuery(QString _strUrl);
|
QString makeGetCommentQuery(QString _strUrl);
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ bool SNaverCafeManage::Update()
|
|||||||
switch(m_nMode)
|
switch(m_nMode)
|
||||||
{
|
{
|
||||||
case E_PROCESS_LIST_RUN:
|
case E_PROCESS_LIST_RUN:
|
||||||
if (UseProcess() == false && CheckTime())
|
if (UseProcess() == false)
|
||||||
{
|
{
|
||||||
m_strListQuery = makeGetListQuery(m_strKeyword,m_date,m_ncList);
|
m_strListQuery = makeGetListQuery(m_strKeyword,m_date,m_ncList);
|
||||||
m_pMain->InsertLog("Start : " + QString::number(m_ncList) + " Date : " + m_date.toString("yyyy-MM-dd"));
|
m_pMain->InsertLog("Start : " + QString::number(m_ncList) + " Date : " + m_date.toString("yyyy-MM-dd"));
|
||||||
@@ -60,7 +60,7 @@ bool SNaverCafeManage::Update()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case E_PROCESS_URL_RUN:
|
case E_PROCESS_URL_RUN:
|
||||||
if (UseProcess() == false && CheckTime())
|
if (UseProcess() == false)
|
||||||
{
|
{
|
||||||
m_pMain->InsertLog("(" + QString::number(m_ncUrl+1) + "/" + QString::number(m_strListURL.size()) + ")");
|
m_pMain->InsertLog("(" + QString::number(m_ncUrl+1) + "/" + QString::number(m_strListURL.size()) + ")");
|
||||||
{
|
{
|
||||||
@@ -84,7 +84,7 @@ bool SNaverCafeManage::Update()
|
|||||||
m_pro[0].kill();
|
m_pro[0].kill();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (m_nMode == E_PROCESS_LIST_FINISH_WAIT) {ReLoadList(); return m_bFinalLast;}
|
ReLoadList();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -102,10 +102,17 @@ void SNaverCafeManage::processFinished(QProcess *_pPro,QString _strOut)
|
|||||||
|
|
||||||
if (_strOut.right(4) == "last" || m_ncList >= 1000)
|
if (_strOut.right(4) == "last" || m_ncList >= 1000)
|
||||||
m_bLast = true;
|
m_bLast = true;
|
||||||
|
|
||||||
|
if (m_bLast == false && m_nUntilPage > 0)
|
||||||
|
{
|
||||||
|
if ((m_ncList/10) >= m_nUntilPage)
|
||||||
|
m_bLast = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (_strOut.right(5) == "block")
|
if (_strOut.right(5) == "block")
|
||||||
{
|
{
|
||||||
reloaded = true;
|
reloaded = true;
|
||||||
ReLoadList();
|
ReLoadList();
|
||||||
}
|
}
|
||||||
if(_strOut.right(7) == "loading")
|
if(_strOut.right(7) == "loading")
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ Widget::Widget(QWidget *parent) : QWidget(parent) , m_nMode(E_MODE_WAIT)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0 ; i < C_CRAWLER_MAX ; i++)
|
for (int i = 0 ; i < C_PLATFORM_MAX ; i++)
|
||||||
m_pManage[i]->SetParent(this);
|
m_pManage[i]->SetParent(this);
|
||||||
setWindowTitle("CrawlerList " + QString::number(QCoreApplication::applicationPid()));
|
setWindowTitle("CrawlerList " + QString::number(QCoreApplication::applicationPid()));
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ Widget::~Widget()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_db.close();
|
m_db.close();
|
||||||
for (int i = 0 ; i < C_CRAWLER_MAX ; i++)
|
for (int i = 0 ; i < C_PLATFORM_MAX ; i++)
|
||||||
m_pManage[i]->SetParent(0);
|
m_pManage[i]->SetParent(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,11 +96,11 @@ QGroupBox *Widget::setRealGroupWidgets()
|
|||||||
vlayout->addLayout(hlayout);
|
vlayout->addLayout(hlayout);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pedTime = new QLineEdit(this);
|
m_pedUntilPage = new QLineEdit(this);
|
||||||
m_pedTime->setText(QString("3"));
|
m_pedUntilPage->setText(QString("0"));
|
||||||
{
|
{
|
||||||
QHBoxLayout *hlayout = new QHBoxLayout;
|
QHBoxLayout *hlayout = new QHBoxLayout;
|
||||||
hlayout->addWidget(m_pedTime);
|
hlayout->addWidget(m_pedUntilPage);
|
||||||
hlayout->addWidget(pbtStart);
|
hlayout->addWidget(pbtStart);
|
||||||
hlayout->addWidget(pbtStop);
|
hlayout->addWidget(pbtStop);
|
||||||
vlayout->addLayout(hlayout);
|
vlayout->addLayout(hlayout);
|
||||||
@@ -178,7 +178,7 @@ void Widget::Start()
|
|||||||
if (query.next() == false) return;
|
if (query.next() == false) return;
|
||||||
|
|
||||||
m_nPlatform = 0;
|
m_nPlatform = 0;
|
||||||
if(0 <= query.value(6).toInt() && query.value(6).toInt() < C_CRAWLER_MAX)
|
if(0 <= query.value(6).toInt() && query.value(6).toInt() < C_PLATFORM_MAX)
|
||||||
m_nPlatform = query.value(6).toInt();
|
m_nPlatform = query.value(6).toInt();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -188,13 +188,13 @@ void Widget::Start()
|
|||||||
|
|
||||||
if (m_pcheckboxReal->isChecked())
|
if (m_pcheckboxReal->isChecked())
|
||||||
{
|
{
|
||||||
m_pManage[m_nPlatform]->Start(QDate::currentDate(),QDate::currentDate(),
|
m_pManage[m_nPlatform]->Start(QDate::currentDate(),QDate::currentDate().addDays(1),
|
||||||
query.value(2).toString().trimmed(),// keyword
|
query.value(2).toString().trimmed(),// keyword
|
||||||
query.value(3).toString().trimmed(),// authorship
|
query.value(3).toString().trimmed(),// authorship
|
||||||
query.value(4).toString().trimmed(),// keyword_id
|
query.value(4).toString().trimmed(),// keyword_id
|
||||||
query.value(5).toString().trimmed(),
|
query.value(5).toString().trimmed(),
|
||||||
1,
|
1,
|
||||||
m_pedTime->text().trimmed());
|
m_pedUntilPage->text().trimmed().toInt());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -205,7 +205,7 @@ void Widget::Start()
|
|||||||
query.value(4).toString().trimmed(),// keyword_id
|
query.value(4).toString().trimmed(),// keyword_id
|
||||||
query.value(5).toString().trimmed(),
|
query.value(5).toString().trimmed(),
|
||||||
1,
|
1,
|
||||||
m_pedTime->text().trimmed());
|
m_pedUntilPage->text().trimmed().toInt());
|
||||||
}
|
}
|
||||||
SetCrawlingState("Start");
|
SetCrawlingState("Start");
|
||||||
m_nMode = E_MODE_RUN;
|
m_nMode = E_MODE_RUN;
|
||||||
|
|||||||
@@ -38,11 +38,11 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QLineEdit *m_pedTime;
|
QLineEdit *m_pedUntilPage;
|
||||||
QTimer m_timer;
|
QTimer m_timer;
|
||||||
QSqlDatabase m_db;
|
QSqlDatabase m_db;
|
||||||
static const int C_CRAWLER_MAX = 3;
|
static const int C_PLATFORM_MAX = 3;
|
||||||
SManage *m_pManage[C_CRAWLER_MAX];
|
SManage *m_pManage[C_PLATFORM_MAX];
|
||||||
QListWidget *m_pResultList;
|
QListWidget *m_pResultList;
|
||||||
QString m_strFileName;
|
QString m_strFileName;
|
||||||
QComboBox *m_pcb;
|
QComboBox *m_pcb;
|
||||||
|
|||||||
Reference in New Issue
Block a user