Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
EduSpider
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
viitto
EduSpider
Commits
df9cefc4
Commit
df9cefc4
authored
Jun 21, 2022
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1111
parent
595e2ef9
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
80 additions
and
144 deletions
+80
-144
EduSpider.csproj
EduSpider/EduSpider.csproj
+1
-1
Program.cs
EduSpider/Program.cs
+3
-2
ClassInAccountManager.cs
EduSpider/Spiders/ClassInRule/ClassInAccountManager.cs
+22
-42
ClassInFlow.cs
EduSpider/Spiders/ClassInRule/ClassInFlow.cs
+14
-13
CourseManager.cs
EduSpider/Spiders/ClassInRule/CourseManager.cs
+7
-9
HomeWorkManager.cs
EduSpider/Spiders/ClassInRule/HomeWorkManager.cs
+5
-6
QuestionManager.cs
EduSpider/Spiders/ClassInRule/QuestionManager.cs
+4
-10
StudentManager.cs
EduSpider/Spiders/ClassInRule/StudentManager.cs
+5
-3
AccountHelper.cs
EduSpider/Spiders/SchoolHouseKeeper/AccountHelper.cs
+5
-4
SchoolCourseManager.cs
EduSpider/Spiders/SchoolHouseKeeper/SchoolCourseManager.cs
+5
-5
SchoolManager.cs
EduSpider/Spiders/SchoolHouseKeeper/SchoolManager.cs
+8
-8
SchoolTaskHelper.cs
EduSpider/Spiders/SchoolHouseKeeper/SchoolTaskHelper.cs
+0
-40
appsettings.json
EduSpider/appsettings.json
+1
-1
No files found.
EduSpider/EduSpider.csproj
View file @
df9cefc4
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" />
<PackageReference Include="OpenCvSharp4.Windows" Version="4.5.5.20211231" />
<PackageReference Include="OpenCvSharp4.Windows" Version="4.5.5.20211231" />
<PackageReference Include="Selenium.WebDriver" Version="4.1.0" />
<PackageReference Include="Selenium.WebDriver" Version="4.1.0" />
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="10
0.0.4896.6000
" />
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="10
2.0.5005.6102
" />
<PackageReference Include="Serilog.AspNetCore" Version="3.4.0" />
<PackageReference Include="Serilog.AspNetCore" Version="3.4.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.RollingFile" Version="3.3.0" />
<PackageReference Include="Serilog.Sinks.RollingFile" Version="3.3.0" />
...
...
EduSpider/Program.cs
View file @
df9cefc4
using
EduSpider.Spiders.SchoolHouseKeeper
;
using
EduSpider.Spiders.SchoolHouseKeeper
;
using
EduSpider.Utility.Plugin
;
using
OpenQA.Selenium
;
using
OpenQA.Selenium
;
using
System
;
using
System
;
using
System.Runtime.InteropServices
;
using
System.Runtime.InteropServices
;
...
@@ -20,14 +21,14 @@ namespace EduSpider
...
@@ -20,14 +21,14 @@ namespace EduSpider
var
date
=
DateTime
.
Now
;
var
date
=
DateTime
.
Now
;
if
(
times
==
1
)
if
(
times
==
1
)
{
{
Console
.
WriteLine
(
string
.
Format
(
"{0} 执行方法."
,
date
.
ToString
(
"yyyy-MM-dd HH:mm"
)));
InfoHelper
.
WriteLine
(
string
.
Format
(
"{0} 执行方法."
,
date
.
ToString
(
"yyyy-MM-dd HH:mm"
)));
//ClassIn数据
//ClassIn数据
new
ClassInFlow
().
StartAsync
();
new
ClassInFlow
().
StartAsync
();
Thread
.
Sleep
(
stopTime
);
Thread
.
Sleep
(
stopTime
);
}
}
if
(
date
.
Minute
==
0
)
if
(
date
.
Minute
==
0
)
{
{
Console
.
WriteLine
(
string
.
Format
(
"{0} 执行方法."
,
date
.
ToString
(
"yyyy-MM-dd HH:mm"
)));
InfoHelper
.
WriteLine
(
string
.
Format
(
"{0} 执行方法."
,
date
.
ToString
(
"yyyy-MM-dd HH:mm"
)));
//ClassIn数据
//ClassIn数据
new
ClassInFlow
().
StartAsync
();
new
ClassInFlow
().
StartAsync
();
Thread
.
Sleep
(
stopTime
);
Thread
.
Sleep
(
stopTime
);
...
...
EduSpider/Spiders/ClassInRule/ClassInAccountManager.cs
View file @
df9cefc4
using
OpenCvSharp
;
using
EduSpider.Utility.Plugin
;
using
OpenCvSharp
;
using
OpenQA.Selenium
;
using
OpenQA.Selenium
;
using
OpenQA.Selenium.Chrome
;
using
OpenQA.Selenium.Chrome
;
using
OpenQA.Selenium.Interactions
;
using
OpenQA.Selenium.Interactions
;
...
@@ -50,7 +51,7 @@ namespace TicketSpider.Spiders.ClassInRule
...
@@ -50,7 +51,7 @@ namespace TicketSpider.Spiders.ClassInRule
}
}
else
else
{
{
Console
.
WriteLine
(
"开始重新尝试登录"
);
InfoHelper
.
WriteLine
(
"开始重新尝试登录"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"GetInstance"
,
"开始重新尝试登录"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"GetInstance"
,
"开始重新尝试登录"
);
Thread
.
Sleep
(
2000
);
Thread
.
Sleep
(
2000
);
}
}
...
@@ -84,6 +85,7 @@ namespace TicketSpider.Spiders.ClassInRule
...
@@ -84,6 +85,7 @@ namespace TicketSpider.Spiders.ClassInRule
service
.
HideCommandPromptWindow
=
true
;
service
.
HideCommandPromptWindow
=
true
;
option
.
PageLoadStrategy
=
PageLoadStrategy
.
Eager
;
option
.
PageLoadStrategy
=
PageLoadStrategy
.
Eager
;
IWebDriver
driver
=
new
ChromeDriver
(
service
,
option
);
IWebDriver
driver
=
new
ChromeDriver
(
service
,
option
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
"开始登录"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
"开始登录"
);
try
try
{
{
...
@@ -104,54 +106,36 @@ namespace TicketSpider.Spiders.ClassInRule
...
@@ -104,54 +106,36 @@ namespace TicketSpider.Spiders.ClassInRule
while
(
true
)
while
(
true
)
{
{
loginCount
++;
loginCount
++;
Console
.
WriteLine
(
$"正在进行第
{
loginCount
}
次模拟登录..."
);
InfoHelper
.
WriteLine
(
$"正在进行第
{
loginCount
}
次模拟登录..."
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"正在进行第
{
loginCount
}
次模拟登录..."
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"正在进行第
{
loginCount
}
次模拟登录..."
);
var
login
=
BeginSliderLoginHandler
(
ref
driver
);
var
login
=
BeginSliderLoginHandler
(
ref
driver
);
if
(
login
.
IsCompleted
)
if
(
login
.
IsCompleted
)
{
{
Thread
.
Sleep
(
2
*
1000
);
driver
.
SwitchTo
().
DefaultContent
();
driver
.
SwitchTo
().
DefaultContent
();
Console
.
WriteLine
(
$"操作完成,正在等待结果"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"操作完成,正在等待结果"
);
//睡眠1秒,等待跳转
Thread
.
Sleep
(
5
*
1000
);
Thread
.
Sleep
(
5
*
1000
);
if
(
driver
.
Url
.
Contains
(
"www.eeo.cn/cn/login"
))
var
cookies
=
driver
.
Manage
().
Cookies
.
AllCookies
;
InfoHelper
.
WriteLine
(
$"操作完成,正在等待结果"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"操作完成,正在等待结果"
);
//处理
foreach
(
var
item
in
cookies
)
{
{
Console
.
WriteLine
(
$"模拟登录失败,准备重新执行..."
);
_loginCookies
+=
item
.
Name
+
"="
+
item
.
Value
+
";"
;
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"模拟登录失败,准备重新执行..."
);
IWebElement
silderBoxEle
=
null
;
try
{
silderBoxEle
=
driver
.
FindElement
(
By
.
Id
(
"reload"
));
}
catch
(
Exception
)
{
}
if
(
silderBoxEle
!=
null
)
{
silderBoxEle
.
Click
();
}
if
(
loginCount
==
4
)
{
Console
.
WriteLine
(
"连续4次失败,请检查账号密码是否正确,系统执行完毕"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"连续4次失败,请检查账号密码是否正确,系统执行完毕"
);
break
;
}
}
}
else
_loginCookies
=
_loginCookies
.
Substring
(
0
,
_loginCookies
.
Length
-
1
);
if
(!
string
.
IsNullOrEmpty
(
_loginCookies
)&&
_loginCookies
.
Contains
(
"sensorsdata2015jssdkcross"
))
{
{
Thread
.
Sleep
(
3
*
1000
);
//处理
foreach
(
var
item
in
driver
.
Manage
().
Cookies
.
AllCookies
)
{
_loginCookies
+=
item
.
Name
+
"="
+
item
.
Value
+
";"
;
}
_loginCookies
=
_loginCookies
.
Substring
(
0
,
_loginCookies
.
Length
-
1
);
flag
=
true
;
flag
=
true
;
break
;
break
;
}
}
else
{
_loginCookies
=
""
;
}
}
}
else
else
{
{
Console
.
WriteLine
(
"未知异常,程序退出"
);
InfoHelper
.
WriteLine
(
"未知异常,程序退出"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"未知异常,程序退出"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"未知异常,程序退出"
);
break
;
break
;
}
}
...
@@ -161,12 +145,12 @@ namespace TicketSpider.Spiders.ClassInRule
...
@@ -161,12 +145,12 @@ namespace TicketSpider.Spiders.ClassInRule
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"获取cooki失败,
{
ex
.
Message
}
"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"获取cooki失败,
{
ex
.
Message
}
"
);
Console
.
WriteLine
(
$"获取cooki失败,
{
ex
.
Message
}
"
);
InfoHelper
.
WriteLine
(
$"获取cooki失败,
{
ex
.
Message
}
"
);
}
}
driver
.
Close
();
driver
.
Close
();
driver
.
Quit
();
driver
.
Quit
();
driver
.
Dispose
();
driver
.
Dispose
();
Console
.
WriteLine
(
"完成登录..."
);
InfoHelper
.
WriteLine
(
"完成登录..."
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"完成登录..."
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"完成登录..."
);
return
flag
;
return
flag
;
...
@@ -194,7 +178,7 @@ namespace TicketSpider.Spiders.ClassInRule
...
@@ -194,7 +178,7 @@ namespace TicketSpider.Spiders.ClassInRule
var
bgX
=
GetBoundary
(
fileBgPath
,
fileBlockPath
);
var
bgX
=
GetBoundary
(
fileBgPath
,
fileBlockPath
);
Console
.
WriteLine
(
$"读取背景缺口边界X坐标:
{
bgX
}
"
);
InfoHelper
.
WriteLine
(
$"读取背景缺口边界X坐标:
{
bgX
}
"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"BeginSliderLoginHandler"
,
$"读取背景缺口边界X坐标:
{
bgX
}
"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"BeginSliderLoginHandler"
,
$"读取背景缺口边界X坐标:
{
bgX
}
"
);
Actions
action
=
new
(
driver
);
Actions
action
=
new
(
driver
);
...
@@ -217,12 +201,8 @@ namespace TicketSpider.Spiders.ClassInRule
...
@@ -217,12 +201,8 @@ namespace TicketSpider.Spiders.ClassInRule
#
endregion
#
endregion
action
.
Release
(
sliderButton
);
action
.
Release
(
sliderButton
);
action
.
Build
().
Perform
();
action
.
Build
().
Perform
();
driver
.
SwitchTo
().
DefaultContent
();
driver
.
SwitchTo
().
DefaultContent
();
}
}
File
.
Delete
(
fileBgPath
);
File
.
Delete
(
fileBgPath
);
File
.
Delete
(
fileBlockPath
);
File
.
Delete
(
fileBlockPath
);
return
Task
.
CompletedTask
;
return
Task
.
CompletedTask
;
...
...
EduSpider/Spiders/ClassInRule/ClassInFlow.cs
View file @
df9cefc4
using
EduSpider.Spiders.ClassInRule
;
using
EduSpider.Spiders.ClassInRule
;
using
EduSpider.Utility.Plugin
;
using
System
;
using
System
;
using
System.Threading
;
using
System.Threading
;
...
@@ -12,7 +13,7 @@ namespace TicketSpider.Spiders.ClassInRule
...
@@ -12,7 +13,7 @@ namespace TicketSpider.Spiders.ClassInRule
public
void
StartAsync
()
public
void
StartAsync
()
{
{
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunClassInData"
,
"开始ClassIn数据"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunClassInData"
,
"开始ClassIn数据"
);
Console
.
WriteLine
(
"开始模拟登录信息......."
);
InfoHelper
.
WriteLine
(
"开始模拟登录信息......."
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始模拟登录信息......."
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始模拟登录信息......."
);
string
loginCookies
=
VTX
.
FW
.
Helper
.
ConfigHelper
.
GetAppsettings
(
"DefaultToken"
);
string
loginCookies
=
VTX
.
FW
.
Helper
.
ConfigHelper
.
GetAppsettings
(
"DefaultToken"
);
//自定获取Cookie
//自定获取Cookie
...
@@ -21,38 +22,38 @@ namespace TicketSpider.Spiders.ClassInRule
...
@@ -21,38 +22,38 @@ namespace TicketSpider.Spiders.ClassInRule
ClassInAccountManager
.
ClearCookie
();
ClassInAccountManager
.
ClearCookie
();
loginCookies
=
ClassInAccountManager
.
GetInstance
();
loginCookies
=
ClassInAccountManager
.
GetInstance
();
}
}
Console
.
WriteLine
(
"cookies:"
+
loginCookies
);
InfoHelper
.
WriteLine
(
"cookies:"
+
loginCookies
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"cookies:"
+
loginCookies
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"cookies:"
+
loginCookies
);
Console
.
WriteLine
(
"开始获取老师信息"
);
InfoHelper
.
WriteLine
(
"开始获取老师信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始获取老师信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始获取老师信息"
);
TeacherManager
.
RunTeacher
(
loginCookies
);
TeacherManager
.
RunTeacher
(
loginCookies
);
Console
.
WriteLine
(
"老师信息更新结束"
);
InfoHelper
.
WriteLine
(
"老师信息更新结束"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"老师信息更新结束"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"老师信息更新结束"
);
Console
.
WriteLine
(
"开始获取学生信息"
);
InfoHelper
.
WriteLine
(
"开始获取学生信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始获取学生信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始获取学生信息"
);
StudentManager
.
RunAsync
(
loginCookies
);
StudentManager
.
RunAsync
(
loginCookies
);
Console
.
WriteLine
(
"学生信息更新结束"
);
InfoHelper
.
WriteLine
(
"学生信息更新结束"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"学生信息更新结束"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"学生信息更新结束"
);
Console
.
WriteLine
(
"开始获取课程信息"
);
InfoHelper
.
WriteLine
(
"开始获取课程信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始获取课程信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始获取课程信息"
);
CourseManager
.
RunCourse
(
loginCookies
);
CourseManager
.
RunCourse
(
loginCookies
);
Console
.
WriteLine
(
"课程信息更新结束"
);
InfoHelper
.
WriteLine
(
"课程信息更新结束"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"课程信息更新结束"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"课程信息更新结束"
);
Console
.
WriteLine
(
"开始获取作业信息"
);
InfoHelper
.
WriteLine
(
"开始获取作业信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始获取作业信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始获取作业信息"
);
HomeWorkManager
.
RunHomeWork
(
loginCookies
);
HomeWorkManager
.
RunHomeWork
(
loginCookies
);
Console
.
WriteLine
(
"作业信息更新结束"
);
InfoHelper
.
WriteLine
(
"作业信息更新结束"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"作业信息更新结束"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"作业信息更新结束"
);
Console
.
WriteLine
(
"开始获取测验信息"
);
InfoHelper
.
WriteLine
(
"开始获取测验信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始测验信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"开始测验信息"
);
QuestionManager
.
RunHomeWork
(
loginCookies
);
QuestionManager
.
RunHomeWork
(
loginCookies
);
Console
.
WriteLine
(
"测验信息更新结束"
);
InfoHelper
.
WriteLine
(
"测验信息更新结束"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"测验信息更新结束"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"StartAsync"
,
"测验信息更新结束"
);
}
}
}
}
...
...
EduSpider/Spiders/ClassInRule/CourseManager.cs
View file @
df9cefc4
using
EduSpider.Model.Entity
;
using
EduSpider.Model.Entity
;
using
EduSpider.Repository
;
using
EduSpider.Repository
;
using
EduSpider.Utility.Enum
;
using
EduSpider.Utility.Enum
;
using
EduSpider.Utility.Plugin
;
using
Newtonsoft.Json.Linq
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
...
@@ -30,8 +31,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -30,8 +31,7 @@ namespace EduSpider.Spiders.ClassInRule
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
ICourseRepository
courseRepository
=
new
CourseRepository
();
ICourseRepository
courseRepository
=
new
CourseRepository
();
int
totalCount
=
0
;
int
totalCount
=
0
;
Console
.
WriteLine
(
string
.
Format
(
"开始第{0}次获取课程数据"
,
pageCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunCourse"
,
string
.
Format
(
"开始第{0}次获取课程数据"
,
pageCount
));
string
url
=
"https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseList"
;
string
url
=
"https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseList"
;
var
response
=
await
request
.
PostAsync
(
url
,
content
);
var
response
=
await
request
.
PostAsync
(
url
,
content
);
var
result
=
response
.
Content
.
ReadAsStringAsync
().
Result
;
var
result
=
response
.
Content
.
ReadAsStringAsync
().
Result
;
...
@@ -47,7 +47,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -47,7 +47,7 @@ namespace EduSpider.Spiders.ClassInRule
{
{
courseRepository
.
BatchSetCourseRepository
(
tempList
);
courseRepository
.
BatchSetCourseRepository
(
tempList
);
totalCount
+=
tempList
.
Count
;
totalCount
+=
tempList
.
Count
;
Console
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunCourse"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunCourse"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
foreach
(
var
item
in
tempList
)
foreach
(
var
item
in
tempList
)
{
{
...
@@ -69,8 +69,6 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -69,8 +69,6 @@ namespace EduSpider.Spiders.ClassInRule
for
(
var
i
=
2
;
i
<=
pageCount
;
i
++)
for
(
var
i
=
2
;
i
<=
pageCount
;
i
++)
{
{
Thread
.
Sleep
(
1000
*
2
);
Thread
.
Sleep
(
1000
*
2
);
Console
.
WriteLine
(
string
.
Format
(
"第{0}/{1}次获取课程数据"
,
i
,
pageCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunCourse"
,
string
.
Format
(
"第{0}/{1}次获取课程数据"
,
i
,
pageCount
));
paramStr
=
string
.
Format
(
queryStr
,
i
,
perpage
);
paramStr
=
string
.
Format
(
queryStr
,
i
,
perpage
);
var
sub_content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
sub_content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
sub_response
=
await
request
.
PostAsync
(
url
,
sub_content
);
var
sub_response
=
await
request
.
PostAsync
(
url
,
sub_content
);
...
@@ -92,7 +90,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -92,7 +90,7 @@ namespace EduSpider.Spiders.ClassInRule
RunCourseTeacher
(
cookie
,
sItem
.
CourseId
);
RunCourseTeacher
(
cookie
,
sItem
.
CourseId
);
RunCourseInfo
(
cookie
,
sItem
.
CourseId
);
RunCourseInfo
(
cookie
,
sItem
.
CourseId
);
}
}
Console
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunCourse"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunCourse"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
}
}
}
}
...
@@ -162,7 +160,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -162,7 +160,7 @@ namespace EduSpider.Spiders.ClassInRule
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
ICourseStudentRepository
courseStudentRepository
=
new
CourseStudentRepository
();
ICourseStudentRepository
courseStudentRepository
=
new
CourseStudentRepository
();
Console
.
WriteLine
(
string
.
Format
(
"开始获取{0}课程学员数据"
,
courseId
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"开始获取{0}课程学员数据"
,
courseId
));
string
url
=
"https://console.eeo.cn/saasajax/student.ajax.php?action=getCourseStudentList"
;
string
url
=
"https://console.eeo.cn/saasajax/student.ajax.php?action=getCourseStudentList"
;
var
response
=
await
request
.
PostAsync
(
url
,
content
);
var
response
=
await
request
.
PostAsync
(
url
,
content
);
...
@@ -211,7 +209,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -211,7 +209,7 @@ namespace EduSpider.Spiders.ClassInRule
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
ICourseTeacherRepository
courseTeacherRepository
=
new
CourseTeacherRepository
();
ICourseTeacherRepository
courseTeacherRepository
=
new
CourseTeacherRepository
();
Console
.
WriteLine
(
string
.
Format
(
"开始获取{0}课程老师数据"
,
courseId
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"开始获取{0}课程老师数据"
,
courseId
));
string
url
=
"https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseTeacherList"
;
string
url
=
"https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseTeacherList"
;
var
response
=
await
request
.
PostAsync
(
url
,
content
);
var
response
=
await
request
.
PostAsync
(
url
,
content
);
...
@@ -266,7 +264,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -266,7 +264,7 @@ namespace EduSpider.Spiders.ClassInRule
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
ICourseRepository
courseRepository
=
new
CourseRepository
();
ICourseRepository
courseRepository
=
new
CourseRepository
();
ICourseTeacherRepository
courseTeacherRepository
=
new
CourseTeacherRepository
();
ICourseTeacherRepository
courseTeacherRepository
=
new
CourseTeacherRepository
();
Console
.
WriteLine
(
string
.
Format
(
"开始获取{0}课程详情数据"
,
courseId
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"开始获取{0}课程详情数据"
,
courseId
));
string
url
=
"https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseInfo"
;
string
url
=
"https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseInfo"
;
var
response
=
await
request
.
PostAsync
(
url
,
content
);
var
response
=
await
request
.
PostAsync
(
url
,
content
);
...
...
EduSpider/Spiders/ClassInRule/HomeWorkManager.cs
View file @
df9cefc4
using
EduSpider.IRepository
;
using
EduSpider.IRepository
;
using
EduSpider.Model.Entity
;
using
EduSpider.Model.Entity
;
using
EduSpider.Repository
;
using
EduSpider.Repository
;
using
EduSpider.Utility.Plugin
;
using
Newtonsoft.Json.Linq
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
...
@@ -32,7 +33,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -32,7 +33,7 @@ namespace EduSpider.Spiders.ClassInRule
IHomeWorkRepository
homeWorkRepository
=
new
HomeWorkRepository
();
IHomeWorkRepository
homeWorkRepository
=
new
HomeWorkRepository
();
IStuHomeWorkRepository
stuHomeWorkRepository
=
new
StuHomeWorkRepository
();
IStuHomeWorkRepository
stuHomeWorkRepository
=
new
StuHomeWorkRepository
();
int
totalCount
=
0
;
int
totalCount
=
0
;
Console
.
WriteLine
(
string
.
Format
(
"开始第{0}次获取家庭作业"
,
pageCount
));
string
url
=
"https://console.eeo.cn/saasajax/homework.ajax.php?action=getHomeworkList"
;
string
url
=
"https://console.eeo.cn/saasajax/homework.ajax.php?action=getHomeworkList"
;
var
response
=
await
request
.
PostAsync
(
url
,
content
);
var
response
=
await
request
.
PostAsync
(
url
,
content
);
var
result
=
response
.
Content
.
ReadAsStringAsync
().
Result
;
var
result
=
response
.
Content
.
ReadAsStringAsync
().
Result
;
...
@@ -48,7 +49,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -48,7 +49,7 @@ namespace EduSpider.Spiders.ClassInRule
{
{
homeWorkRepository
.
BatchSetHomeWorkRepository
(
tempList
);
homeWorkRepository
.
BatchSetHomeWorkRepository
(
tempList
);
totalCount
+=
tempList
.
Count
;
totalCount
+=
tempList
.
Count
;
Console
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunHomeWork"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunHomeWork"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
foreach
(
var
item
in
tempList
)
foreach
(
var
item
in
tempList
)
{
{
...
@@ -69,11 +70,9 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -69,11 +70,9 @@ namespace EduSpider.Spiders.ClassInRule
for
(
var
i
=
2
;
i
<=
pageCount
;
i
++)
for
(
var
i
=
2
;
i
<=
pageCount
;
i
++)
{
{
Thread
.
Sleep
(
1000
*
2
);
Thread
.
Sleep
(
1000
*
2
);
Console
.
WriteLine
(
string
.
Format
(
"第{0}/{1}次获取作业数据"
,
i
,
pageCount
));
paramStr
=
string
.
Format
(
queryStr
,
i
,
perpage
);
paramStr
=
string
.
Format
(
queryStr
,
i
,
perpage
);
var
sub_content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
sub_content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
sub_response
=
await
request
.
PostAsync
(
url
,
sub_content
);
var
sub_response
=
await
request
.
PostAsync
(
url
,
sub_content
);
var
sub_result
=
sub_response
.
Content
.
ReadAsStringAsync
().
Result
;
var
sub_result
=
sub_response
.
Content
.
ReadAsStringAsync
().
Result
;
if
(!
string
.
IsNullOrWhiteSpace
(
sub_result
))
if
(!
string
.
IsNullOrWhiteSpace
(
sub_result
))
{
{
...
@@ -94,7 +93,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -94,7 +93,7 @@ namespace EduSpider.Spiders.ClassInRule
{
{
// stuHomeWorkRepository.CreateHomeWorkCommentRepository(0);
// stuHomeWorkRepository.CreateHomeWorkCommentRepository(0);
}
}
Console
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunHomeWork"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunHomeWork"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
}
}
}
}
...
@@ -181,7 +180,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -181,7 +180,7 @@ namespace EduSpider.Spiders.ClassInRule
string
paramStr
=
string
.
Format
(
queryStr
,
homework_id
,
courseId
,
stuIds
);
string
paramStr
=
string
.
Format
(
queryStr
,
homework_id
,
courseId
,
stuIds
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
Console
.
WriteLine
(
string
.
Format
(
"开始获取{0}作业学员数据"
,
homework_id
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"开始获取{0}作业学员数据"
,
homework_id
));
string
url
=
"https://console.eeo.cn/saasajax/homework.ajax.php?action=getStudentsHomeworkList"
;
string
url
=
"https://console.eeo.cn/saasajax/homework.ajax.php?action=getStudentsHomeworkList"
;
var
response
=
await
request
.
PostAsync
(
url
,
content
);
var
response
=
await
request
.
PostAsync
(
url
,
content
);
var
sutHomeWorkResult
=
response
.
Content
.
ReadAsStringAsync
().
Result
;
var
sutHomeWorkResult
=
response
.
Content
.
ReadAsStringAsync
().
Result
;
...
...
EduSpider/Spiders/ClassInRule/QuestionManager.cs
View file @
df9cefc4
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
using
EduSpider.Model.Entity
;
using
EduSpider.Model.Entity
;
using
EduSpider.Repository
;
using
EduSpider.Repository
;
using
EduSpider.Utility
;
using
EduSpider.Utility
;
using
EduSpider.Utility.Plugin
;
using
Newtonsoft.Json.Linq
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
...
@@ -29,10 +30,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -29,10 +30,7 @@ namespace EduSpider.Spiders.ClassInRule
string
paramStr
=
string
.
Format
(
queryStr
,
pageCount
,
perpage
,
range
);
string
paramStr
=
string
.
Format
(
queryStr
,
pageCount
,
perpage
,
range
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
IHomeWorkRepository
homeWorkRepository
=
new
HomeWorkRepository
();
IHomeWorkRepository
homeWorkRepository
=
new
HomeWorkRepository
();
IStuHomeWorkRepository
stuHomeWorkRepository
=
new
StuHomeWorkRepository
();
int
totalCount
=
0
;
int
totalCount
=
0
;
Console
.
WriteLine
(
string
.
Format
(
"开始第{0}次获取测验"
,
pageCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"QuestionManager_RunHomeWork"
,
string
.
Format
(
"开始第{0}次获取测验"
,
pageCount
));
string
url
=
"https://console.eeo.cn/saasajax/exam.ajax.php?action=getExamManageList"
;
string
url
=
"https://console.eeo.cn/saasajax/exam.ajax.php?action=getExamManageList"
;
var
response
=
request
.
PostAsync
(
url
,
content
);
var
response
=
request
.
PostAsync
(
url
,
content
);
var
result
=
response
.
Result
.
Content
.
ReadAsStringAsync
().
Result
;
var
result
=
response
.
Result
.
Content
.
ReadAsStringAsync
().
Result
;
...
@@ -48,7 +46,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -48,7 +46,7 @@ namespace EduSpider.Spiders.ClassInRule
{
{
homeWorkRepository
.
BatchSetHomeWorkRepository
(
tempList
);
homeWorkRepository
.
BatchSetHomeWorkRepository
(
tempList
);
totalCount
+=
tempList
.
Count
;
totalCount
+=
tempList
.
Count
;
Console
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"QuestionManager_RunHomeWork"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"QuestionManager_RunHomeWork"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
pageCount
,
totalCount
));
foreach
(
var
item
in
tempList
)
foreach
(
var
item
in
tempList
)
{
{
...
@@ -90,11 +88,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -90,11 +88,7 @@ namespace EduSpider.Spiders.ClassInRule
{
{
RunStuHomeWork
(
cookie
,
sItem
.
Homework_id
,
sItem
.
Course_id
,
sItem
);
RunStuHomeWork
(
cookie
,
sItem
.
Homework_id
,
sItem
.
Course_id
,
sItem
);
}
}
if
(
i
==
totalCount
)
InfoHelper
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
{
// stuHomeWorkRepository.CreateHomeWorkCommentRepository(0);
}
Console
.
WriteLine
(
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"QuestionManager_RunHomeWork"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"QuestionManager_RunHomeWork"
,
string
.
Format
(
"第{0}次,导入完成{1}条."
,
i
,
totalCount
));
}
}
}
}
...
@@ -218,7 +212,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -218,7 +212,7 @@ namespace EduSpider.Spiders.ClassInRule
string
paramStr
=
string
.
Format
(
queryStr
,
homework_id
,
courseId
,
stuIds
);
string
paramStr
=
string
.
Format
(
queryStr
,
homework_id
,
courseId
,
stuIds
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
Console
.
WriteLine
(
string
.
Format
(
"开始获取{0}作业学员数据"
,
homework_id
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"开始获取{0}作业学员数据"
,
homework_id
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunStuHomeWork"
,
string
.
Format
(
"开始获取{0}作业学员数据"
,
homework_id
));
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunStuHomeWork"
,
string
.
Format
(
"开始获取{0}作业学员数据"
,
homework_id
));
string
url
=
"https://console.eeo.cn/saasajax/exam.ajax.php?action=getCourseExamsStDetailList"
;
string
url
=
"https://console.eeo.cn/saasajax/exam.ajax.php?action=getCourseExamsStDetailList"
;
var
response
=
request
.
PostAsync
(
url
,
content
);
var
response
=
request
.
PostAsync
(
url
,
content
);
...
...
EduSpider/Spiders/ClassInRule/StudentManager.cs
View file @
df9cefc4
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
using
EduSpider.Model.Entity
;
using
EduSpider.Model.Entity
;
using
EduSpider.Repository
;
using
EduSpider.Repository
;
using
EduSpider.Utility
;
using
EduSpider.Utility
;
using
EduSpider.Utility.Plugin
;
using
Newtonsoft.Json.Linq
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
...
@@ -32,7 +33,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -32,7 +33,7 @@ namespace EduSpider.Spiders.ClassInRule
while
(
pageIndex
<=
pageCount
)
while
(
pageIndex
<=
pageCount
)
{
{
Console
.
WriteLine
(
$"正在查询第
{
pageIndex
}
-
{
pageSize
}
页学员信息"
);
InfoHelper
.
WriteLine
(
$"正在查询第
{
pageIndex
}
-
{
pageSize
}
页学员信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"正在查询第
{
pageIndex
}
-
{
pageSize
}
页学员信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"正在查询第
{
pageIndex
}
-
{
pageSize
}
页学员信息"
);
var
paramStr
=
$"page=
{
pageIndex
}
&perpage=
{
pageSize
}
&isdel=0"
;
var
paramStr
=
$"page=
{
pageIndex
}
&perpage=
{
pageSize
}
&isdel=0"
;
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
...
@@ -45,6 +46,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -45,6 +46,7 @@ namespace EduSpider.Spiders.ClassInRule
{
{
var
data
=
(
result
.
val
.
ContainsKey
(
"data"
)
?
result
.
val
[
"data"
]
:
new
JObject
())
as
JObject
;
var
data
=
(
result
.
val
.
ContainsKey
(
"data"
)
?
result
.
val
[
"data"
]
:
new
JObject
())
as
JObject
;
if
(
data
.
ContainsKey
(
"totalStudentNum"
))
{
if
(
data
.
ContainsKey
(
"totalStudentNum"
))
{
#
region
更新
PageCount
#
region
更新
PageCount
if
(
pageIndex
==
1
)
if
(
pageIndex
==
1
)
...
@@ -76,7 +78,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -76,7 +78,7 @@ namespace EduSpider.Spiders.ClassInRule
});
});
}
}
courseRepository
.
BatchSetStudent
(
stus
);
courseRepository
.
BatchSetStudent
(
stus
);
Console
.
WriteLine
(
$"已导入第
{
pageIndex
}
-
{
pageSize
}
页学员信息"
);
InfoHelper
.
WriteLine
(
$"已导入第
{
pageIndex
}
-
{
pageSize
}
页学员信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"已导入第
{
pageIndex
}
-
{
pageSize
}
页学员信息"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"已导入第
{
pageIndex
}
-
{
pageSize
}
页学员信息"
);
#
endregion
#
endregion
...
@@ -111,7 +113,7 @@ namespace EduSpider.Spiders.ClassInRule
...
@@ -111,7 +113,7 @@ namespace EduSpider.Spiders.ClassInRule
}
}
#
endregion
#
endregion
Console
.
WriteLine
(
"学员同步完成"
);
InfoHelper
.
WriteLine
(
"学员同步完成"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"学员同步完成"
);
VTX
.
FW
.
Helper
.
LogHelper
.
WriteInfo
(
"RunAsync"
,
$"学员同步完成"
);
}
}
...
...
EduSpider/Spiders/SchoolHouseKeeper/AccountHelper.cs
View file @
df9cefc4
using
OpenQA.Selenium
;
using
EduSpider.Utility.Plugin
;
using
OpenQA.Selenium
;
using
OpenQA.Selenium.Chrome
;
using
OpenQA.Selenium.Chrome
;
using
System
;
using
System
;
using
System.Net
;
using
System.Net
;
...
@@ -42,7 +43,7 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
...
@@ -42,7 +43,7 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
}
}
else
else
{
{
Console
.
WriteLine
(
"开始重新尝试登录校管家"
);
InfoHelper
.
WriteLine
(
"开始重新尝试登录校管家"
);
Thread
.
Sleep
(
2000
);
Thread
.
Sleep
(
2000
);
}
}
}
}
...
@@ -105,10 +106,10 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
...
@@ -105,10 +106,10 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
Console
.
WriteLine
(
$"获取cooki失败,
{
ex
.
Message
}
"
);
InfoHelper
.
WriteLine
(
$"获取cooki失败,
{
ex
.
Message
}
"
);
}
}
driver
.
Quit
();
driver
.
Quit
();
Console
.
WriteLine
(
"完成登录..."
);
InfoHelper
.
WriteLine
(
"完成登录..."
);
return
flag
;
return
flag
;
}
}
...
...
EduSpider/Spiders/SchoolHouseKeeper/SchoolCourseManager.cs
View file @
df9cefc4
using
Newtonsoft.Json.Linq
;
using
EduSpider.Utility.Plugin
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Linq
;
...
@@ -37,7 +38,7 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
...
@@ -37,7 +38,7 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
pageCount
=
jobj
.
GetInt
(
"PageCount"
);
pageCount
=
jobj
.
GetInt
(
"PageCount"
);
totalCount
=
jobj
.
GetInt
(
"TotalCount"
);
totalCount
=
jobj
.
GetInt
(
"TotalCount"
);
list
.
AddRange
(
ParseJson
(
jobj
.
GetString
(
"Data"
)));
list
.
AddRange
(
ParseJson
(
jobj
.
GetString
(
"Data"
)));
Console
.
WriteLine
(
string
.
Format
(
"已完成 第 {0} 页/共 {1} 页,已完成 {2} 条/总共 {3} 条"
,
pageModel
.
PageIndex
,
pageCount
,
pageModel
.
PageSize
*
pageModel
.
PageIndex
,
totalCount
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"已完成 第 {0} 页/共 {1} 页,已完成 {2} 条/总共 {3} 条"
,
pageModel
.
PageIndex
,
pageCount
,
pageModel
.
PageSize
*
pageModel
.
PageIndex
,
totalCount
));
if
(
pageCount
>
pageModel
.
PageIndex
)
if
(
pageCount
>
pageModel
.
PageIndex
)
{
{
Random
random
=
new
();
Random
random
=
new
();
...
@@ -52,12 +53,11 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
...
@@ -52,12 +53,11 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
JObject
subObj
=
JObject
.
Parse
(
subResult
);
JObject
subObj
=
JObject
.
Parse
(
subResult
);
list
.
AddRange
(
ParseJson
(
subObj
.
GetString
(
"Data"
)));
list
.
AddRange
(
ParseJson
(
subObj
.
GetString
(
"Data"
)));
}
}
Console
.
WriteLine
(
string
.
Format
(
"已完成 第 {0} 页/共 {1} 页,已完成 {2} 条/总共 {3} 条"
,
pageModel
.
PageIndex
,
pageCount
,
pageModel
.
PageSize
*
pageModel
.
PageIndex
,
totalCount
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"已完成 第 {0} 页/共 {1} 页,已完成 {2} 条/总共 {3} 条"
,
pageModel
.
PageIndex
,
pageCount
,
pageModel
.
PageSize
*
pageModel
.
PageIndex
,
totalCount
));
}
}
}
}
}
}
Console
.
WriteLine
(
"result:"
+
VTX
.
FW
.
Helper
.
JsonHelper
.
Serialize
(
list
));
InfoHelper
.
WriteLine
(
"result:"
+
VTX
.
FW
.
Helper
.
JsonHelper
.
Serialize
(
list
));
}
}
/// <summary>
/// <summary>
...
...
EduSpider/Spiders/SchoolHouseKeeper/SchoolManager.cs
View file @
df9cefc4
using
Newtonsoft.Json.Linq
;
using
EduSpider.Utility.Plugin
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Net.Http
;
using
System.Net.Http
;
...
@@ -32,10 +33,9 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
...
@@ -32,10 +33,9 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
pageCount
=
jobj
.
GetInt
(
"PageCount"
);
pageCount
=
jobj
.
GetInt
(
"PageCount"
);
totalCount
=
jobj
.
GetInt
(
"TotalCount"
);
totalCount
=
jobj
.
GetInt
(
"TotalCount"
);
list
.
AddRange
(
ParseJson
(
jobj
.
GetString
(
"Data"
)));
list
.
AddRange
(
ParseJson
(
jobj
.
GetString
(
"Data"
)));
Console
.
WriteLine
(
string
.
Format
(
"已完成 总共 {0} 条"
,
totalCount
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"已完成 总共 {0} 条"
,
totalCount
));
}
}
Console
.
WriteLine
(
"result:"
+
VTX
.
FW
.
Helper
.
JsonHelper
.
Serialize
(
list
));
InfoHelper
.
WriteLine
(
"result:"
+
VTX
.
FW
.
Helper
.
JsonHelper
.
Serialize
(
list
));
}
}
...
@@ -93,9 +93,9 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
...
@@ -93,9 +93,9 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
pageCount
=
jobj
.
GetInt
(
"PageCount"
);
pageCount
=
jobj
.
GetInt
(
"PageCount"
);
totalCount
=
jobj
.
GetInt
(
"TotalCount"
);
totalCount
=
jobj
.
GetInt
(
"TotalCount"
);
list
.
AddRange
(
ParseDepartJson
(
jobj
.
GetString
(
"Data"
)));
list
.
AddRange
(
ParseDepartJson
(
jobj
.
GetString
(
"Data"
)));
Console
.
WriteLine
(
string
.
Format
(
"已完成 总共 {0} 条"
,
totalCount
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"已完成 总共 {0} 条"
,
totalCount
));
}
}
Console
.
WriteLine
(
"result:"
+
VTX
.
FW
.
Helper
.
JsonHelper
.
Serialize
(
list
));
InfoHelper
.
WriteLine
(
"result:"
+
VTX
.
FW
.
Helper
.
JsonHelper
.
Serialize
(
list
));
}
}
...
@@ -157,9 +157,9 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
...
@@ -157,9 +157,9 @@ namespace EduSpider.Spiders.SchoolHouseKeeper
pageCount
=
jobj
.
GetInt
(
"PageCount"
);
pageCount
=
jobj
.
GetInt
(
"PageCount"
);
totalCount
=
jobj
.
GetInt
(
"TotalCount"
);
totalCount
=
jobj
.
GetInt
(
"TotalCount"
);
list
.
AddRange
(
ParseEmployeeJson
(
jobj
.
GetString
(
"Data"
)));
list
.
AddRange
(
ParseEmployeeJson
(
jobj
.
GetString
(
"Data"
)));
Console
.
WriteLine
(
string
.
Format
(
"已完成 总共 {0} 条"
,
totalCount
));
InfoHelper
.
WriteLine
(
string
.
Format
(
"已完成 总共 {0} 条"
,
totalCount
));
}
}
Console
.
WriteLine
(
"result:"
+
VTX
.
FW
.
Helper
.
JsonHelper
.
Serialize
(
list
));
InfoHelper
.
WriteLine
(
"result:"
+
VTX
.
FW
.
Helper
.
JsonHelper
.
Serialize
(
list
));
}
}
/// <summary>
/// <summary>
...
...
EduSpider/Spiders/SchoolHouseKeeper/SchoolTaskHelper.cs
deleted
100644 → 0
View file @
595e2ef9
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading
;
using
System.Threading.Tasks
;
namespace
EduSpider.Spiders.SchoolHouseKeeper
{
/// <summary>
/// 校管家任务
/// </summary>
public
class
SchoolTaskHelper
{
/// <summary>
/// 校管家任务
/// </summary>
public
static
void
RunTask
()
{
Console
.
WriteLine
(
"开始校管家任务"
);
string
cookies
=
""
;
cookies
=
AccountHelper
.
GetInstance
();
while
(
string
.
IsNullOrEmpty
(
cookies
))
{
cookies
=
AccountHelper
.
GetInstance
();
Thread
.
Sleep
(
1000
*
2
);
}
Console
.
WriteLine
(
"cookies:"
+
cookies
);
//cookies = "_ga=GA1.2.1298484415.1654154393; %E5%BA%B7%E7%A3%8A%40jjswGetNewChargeGuide=true; chargeVersion=2; ASP.NET_SessionId=4rjp3ycjhy0faqti3w5mrssb; _gid=GA1.2.738826376.1654680792; autologin=null; loginname=null; loginpwd=null; .ASPXAUTH=B7153A073900F0DDA6155395E8C26A49E2256938BEE1987E6B1B26BE03DFE475EE924CFB2D783CCA46525F1EE2F57442DA29A35087C061B925A96FC4CEDCF850D0CBE9B07A02D7C2F44EE5EB6FA243D1D92B325A5E2EE8D8272514E861A50AAE903C5D777C623EFE3CA6BE7E4CDD78287233F02CBE8B413AACE0963FD4BE6639F9AC6804300F1AA1FFCF44EF7D389041; lastloginname=%E5%88%98%E5%B8%85%40jjsw; _gat_gtag_UA_167872829_1=1";
if
(!
string
.
IsNullOrEmpty
(
cookies
))
{
SchoolManager
.
RunSchool
(
cookies
);
//SchoolManager.RunDepartment(cookies);
//SchoolCourseManager.RunCourse(cookies);
}
Console
.
WriteLine
(
"结束校管家任务"
);
}
}
}
EduSpider/appsettings.json
View file @
df9cefc4
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
"DefaultConnectionPName"
:
"MySql.Data.MySqlClient"
"DefaultConnectionPName"
:
"MySql.Data.MySqlClient"
},
},
//是否开启Chrome
[
1
-开启,
0
-关闭
]
//是否开启Chrome
[
1
-开启,
0
-关闭
]
"IsOpenChrome"
:
1
,
"IsOpenChrome"
:
0
,
//默认Token
//默认Token
"DefaultToken"
:
""
"DefaultToken"
:
""
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment