NaverCafeListManager 추가
git-svn-id: svn://192.168.0.12/source@222 8346c931-da38-4b9b-9d4c-e48b93cbd075
This commit is contained in:
@@ -18,12 +18,14 @@ SOURCES += main.cpp\
|
||||
snavercafemanage.cpp \
|
||||
snaverblogmanage.cpp \
|
||||
sdaumcafemanage.cpp \
|
||||
snavernewsmanage.cpp
|
||||
snavernewsmanage.cpp \
|
||||
snavercafelistmanager.cpp
|
||||
|
||||
HEADERS += widget.h \
|
||||
smanage.h \
|
||||
snavercafemanage.h \
|
||||
snaverblogmanage.h \
|
||||
sdaumcafemanage.h \
|
||||
snavernewsmanage.h
|
||||
snavernewsmanage.h \
|
||||
snavercafelistmanager.h
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ class SManage : public QObject
|
||||
private:
|
||||
QVector <QStringList> m_vecList;
|
||||
private slots:
|
||||
void processFinished(int exitCode, QProcess::ExitStatus exitStatus);
|
||||
void processFinished(int exitCode, QProcess::ExitStatus exitStatus);
|
||||
public:
|
||||
explicit SManage(QObject *parent = 0);
|
||||
~SManage();
|
||||
|
||||
89
CrawlerList/snavercafelistmanager.cpp
Normal file
89
CrawlerList/snavercafelistmanager.cpp
Normal file
@@ -0,0 +1,89 @@
|
||||
#include "snavercafelistmanager.h"
|
||||
#include <QThread>
|
||||
#include "widget.h"
|
||||
SNaverCafeListManage::SNaverCafeListManage(QObject *pObject) : SManage(pObject)
|
||||
{
|
||||
m_nID = 0;
|
||||
connect(&m_pro[0], SIGNAL(readyReadStandardOutput()), this, SLOT(readStandardOutput()));
|
||||
connect(&m_pro[0], SIGNAL(readyReadStandardError()), this, SLOT(readStandardError()));
|
||||
}
|
||||
|
||||
|
||||
void SNaverCafeListManage::Start()
|
||||
{
|
||||
m_nMode = E_PROCESS_RUN;
|
||||
m_bFinalLast = false;
|
||||
}
|
||||
|
||||
bool SNaverCafeListManage::Update()
|
||||
{
|
||||
if(m_bFinalLast) return m_bFinalLast;
|
||||
switch(m_nMode)
|
||||
{
|
||||
case E_PROCESS_RUN:
|
||||
if(UseProcess() == false)
|
||||
{
|
||||
#if defined(Q_OS_WIN32)
|
||||
m_pro[0].start("python", QStringList() << "navercrawl.py" << m_strKeywordID << m_strGroupID << m_pMain->StartDay());
|
||||
#else
|
||||
m_pro[0].start("/usr/bin/python3", QStringList() << "navercrawl.py" << m_strKeywordID << m_strGroupID << m_pMain->StartDay());
|
||||
#endif
|
||||
m_nMode = E_PROCESS_FINISH_WAIT;
|
||||
}
|
||||
break;
|
||||
|
||||
case E_PROCESS_FINISH_WAIT:
|
||||
break;
|
||||
}
|
||||
|
||||
return m_bFinalLast;
|
||||
}
|
||||
|
||||
void SNaverCafeListManage::processFinished(QProcess *pPro, QString _strOut)
|
||||
{
|
||||
switch(m_nMode)
|
||||
{
|
||||
case E_PROCESS_FINISH_WAIT:
|
||||
m_nMode = E_PROCESS_RUN;
|
||||
m_bFinalLast = true;
|
||||
m_pMain->InsertLog("Finish Crawling :)");
|
||||
m_pMain->SetCrawlingState("Finish");
|
||||
m_ncList=1;
|
||||
m_bLast = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void SNaverCafeListManage::readStandardOutput()
|
||||
{
|
||||
QProcess *pPro = (QProcess*)sender();
|
||||
QThread::msleep(100);
|
||||
QString str = pPro->readAllStandardOutput();
|
||||
QStringList list = str.split("\n", QString::SkipEmptyParts);
|
||||
foreach(QString log,list)
|
||||
{
|
||||
if (m_pMain)
|
||||
{
|
||||
m_pMain->InsertLog(log);
|
||||
}
|
||||
else
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
void SNaverCafeListManage::readStandardError()
|
||||
{
|
||||
QProcess *pPro = (QProcess*)sender();
|
||||
QThread::msleep(100);
|
||||
QString str = pPro->readAllStandardError();
|
||||
QStringList list = str.split("\n", QString::SkipEmptyParts);
|
||||
foreach(QString log,list)
|
||||
{
|
||||
if (m_pMain)
|
||||
{
|
||||
m_pMain->InsertLog(log);
|
||||
}
|
||||
else
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
32
CrawlerList/snavercafelistmanager.h
Normal file
32
CrawlerList/snavercafelistmanager.h
Normal file
@@ -0,0 +1,32 @@
|
||||
#ifndef SNAVERCAFELISTMANAGER_H
|
||||
#define SNAVERCAFELISTMANAGER_H
|
||||
#include "smanage.h"
|
||||
|
||||
|
||||
class SNaverCafeListManage : public SManage
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum E_PROCESS_STATE
|
||||
{
|
||||
E_PROCESS_RUN = 0,
|
||||
E_PROCESS_FINISH_WAIT,
|
||||
};
|
||||
SNaverCafeListManage(QObject *pObject);
|
||||
private:
|
||||
QString makeGetListQuery(QString _str,QDate _date,int _nPage);
|
||||
private:
|
||||
QString m_strListQuery;
|
||||
QVector <QString> m_strListURL;
|
||||
protected:
|
||||
bool Update();
|
||||
void Start();
|
||||
void processFinished(QProcess *pPro,QString _strOut);
|
||||
void ReLoadList();
|
||||
private slots:
|
||||
void readStandardOutput();
|
||||
void readStandardError();
|
||||
};
|
||||
|
||||
#endif // SNAVERCAFELISTMANAGER_H
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
SNaverNewsManage::SNaverNewsManage(QObject *pObject) : SManage(pObject)
|
||||
{
|
||||
m_nID = 0;
|
||||
connect(&m_pro[0], SIGNAL(readyReadStandardOutput()), this, SLOT());
|
||||
}
|
||||
|
||||
QString SNaverNewsManage::makeGetListQuery(QString _str,QDate _date,int _nPage)
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "snaverblogmanage.h"
|
||||
#include "sdaumcafemanage.h"
|
||||
#include "snavernewsmanage.h"
|
||||
#include "snavercafelistmanager.h"
|
||||
#include <QApplication>
|
||||
#include <QLabel>
|
||||
|
||||
@@ -31,10 +32,12 @@ Widget::Widget(QWidget *parent) : QWidget(parent) , m_nMode(E_MODE_WAIT)
|
||||
m_pNaverBlog = new SNaverBlogManage(this);
|
||||
m_pDaumCafe = new SDaumCafeManage(this);
|
||||
m_pNaverNews = new SNaverNewsManage(this);
|
||||
m_pNaverCafeList = new SNaverCafeListManage(this);
|
||||
m_pManage[0] = m_pNaverCafe;
|
||||
m_pManage[1] = m_pNaverBlog;
|
||||
m_pManage[2] = m_pDaumCafe;
|
||||
m_pManage[3] = m_pNaverNews;
|
||||
m_pManage[4] = m_pNaverCafeList;
|
||||
|
||||
m_db = QSqlDatabase::addDatabase("QMYSQL");
|
||||
m_db.setHostName("bigbird.iptime.org");
|
||||
@@ -253,7 +256,6 @@ void Widget::Update()
|
||||
if (m_strCrawlingID.isEmpty() == false)
|
||||
{
|
||||
Start();
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -292,7 +294,18 @@ void Widget::RefreshButton()
|
||||
case 1:str += ", Naver Blog";break;
|
||||
case 2:str += ", Daum Cafe"; break;
|
||||
case 3:str += ", Naver News"; break;
|
||||
case 4:str += ", Naver Cafe List"; break;
|
||||
}
|
||||
m_pcb->addItem(str,query.value(7));
|
||||
}
|
||||
}
|
||||
|
||||
QString Widget::StartDay()
|
||||
{
|
||||
return m_pedStartDay->text().trimmed();
|
||||
}
|
||||
|
||||
QString Widget::UntilPage()
|
||||
{
|
||||
return m_pedUntilPage->text().trimmed();
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ class SNaverCafeManage;
|
||||
class SNaverBlogManage;
|
||||
class SDaumCafeManage;
|
||||
class SNaverNewsManage;
|
||||
class SNaverCafeListManage;
|
||||
class SManage;
|
||||
|
||||
#define SAFE_DELETE(p) {if(p) delete (p); (p) = NULL; }
|
||||
@@ -31,6 +32,8 @@ public:
|
||||
bool LockTable();
|
||||
void UnLockTables();
|
||||
void Debug(QString _strMsg);
|
||||
QString StartDay();
|
||||
QString UntilPage();
|
||||
|
||||
enum E_MODE
|
||||
{
|
||||
@@ -43,7 +46,7 @@ private:
|
||||
QLineEdit *m_pedStartDay;
|
||||
QTimer m_timer,m_timerAlive;
|
||||
QSqlDatabase m_db;
|
||||
static const int C_PLATFORM_MAX = 4;
|
||||
static const int C_PLATFORM_MAX = 5;
|
||||
SManage *m_pManage[C_PLATFORM_MAX];
|
||||
QListWidget *m_pResultList;
|
||||
QString m_strFileName;
|
||||
@@ -53,6 +56,7 @@ private:
|
||||
SNaverBlogManage *m_pNaverBlog;
|
||||
SDaumCafeManage *m_pDaumCafe;
|
||||
SNaverNewsManage *m_pNaverNews;
|
||||
SNaverCafeListManage *m_pNaverCafeList;
|
||||
int m_nStartTime,m_nRangeTime,m_nPlatform;
|
||||
//QGroupBox *m_pgbManual;
|
||||
QCheckBox *m_pcheckboxReal;
|
||||
|
||||
Reference in New Issue
Block a user