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
af974ff8
Commit
af974ff8
authored
May 25, 2022
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
964984e9
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
308 additions
and
11 deletions
+308
-11
EduSpider.IRepository.csproj
EduSpider.IRepository/EduSpider.IRepository.csproj
+2
-2
ITeacherRepository.cs
EduSpider.IRepository/ITeacherRepository.cs
+24
-0
EduSpider.IServices.csproj
EduSpider.IServices/EduSpider.IServices.csproj
+1
-1
ITeacherService.cs
EduSpider.IServices/ITeacherService.cs
+17
-0
EduSpider.Model.csproj
EduSpider.Model/EduSpider.Model.csproj
+1
-1
RB_Teacher.cs
EduSpider.Model/Entity/RB_Teacher.cs
+94
-0
EduSpider.Repository.csproj
EduSpider.Repository/EduSpider.Repository.csproj
+1
-1
TeacherRepository.cs
EduSpider.Repository/TeacherRepository.cs
+26
-0
EduSpider.Services.csproj
EduSpider.Services/EduSpider.Services.csproj
+1
-1
TeacherService.cs
EduSpider.Services/TeacherService.cs
+18
-0
EduSpider.Utility.csproj
EduSpider.Utility/EduSpider.Utility.csproj
+1
-1
EduSpider.WebApi.csproj
EduSpider.WebApi/EduSpider.WebApi.csproj
+1
-1
ClassInFlow.cs
EduSpider/Spiders/ClassInRule/ClassInFlow.cs
+3
-3
TeacherManager.cs
EduSpider/Spiders/ClassInRule/TeacherManager.cs
+118
-0
No files found.
EduSpider.IRepository/EduSpider.IRepository.csproj
View file @
af974ff8
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
<ItemGroup>
...
...
EduSpider.IRepository/ITeacherRepository.cs
0 → 100644
View file @
af974ff8
using
EduSpider.Model.Entity
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VTX.FW.Config
;
using
VTX.FW.DB
;
namespace
EduSpider.Repository
{
/// <summary>
/// 老师仓储接口
/// </summary>
public
interface
ITeacherRepository
:
IDBRepository
<
RB_Teacher
>,
IDependency
{
/// <summary>
/// 批量新增老师
/// </summary>
/// <param name="teachers"></param>
/// <returns></returns>
public
bool
BatchSetTeache
(
List
<
RB_Teacher
>
teachers
);
}
}
EduSpider.IServices/EduSpider.IServices.csproj
View file @
af974ff8
...
...
@@ -5,7 +5,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
<ItemGroup>
...
...
EduSpider.IServices/ITeacherService.cs
0 → 100644
View file @
af974ff8
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VTX.FW.Config
;
namespace
EduSpider.IServices
{
/// <summary>
/// 老师服务层接口
/// </summary>
public
interface
ITeacherService
:
IDependency
{
}
}
EduSpider.Model/EduSpider.Model.csproj
View file @
af974ff8
...
...
@@ -5,7 +5,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
<ItemGroup>
...
...
EduSpider.Model/Entity/RB_Teacher.cs
0 → 100644
View file @
af974ff8
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VTX.FW.Attr
;
namespace
EduSpider.Model.Entity
{
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Teacher
{
/// <summary>
/// TeacherId
/// </summary>
public
int
TeacherId
{
get
;
set
;
}
/// <summary>
/// uid
/// </summary>
public
int
TeacherUid
{
get
;
set
;
}
/// <summary>
/// 老师姓名
/// </summary>
public
string
TeacherName
{
get
;
set
;
}
/// <summary>
/// 老师照片
/// </summary>
public
string
Logo
{
get
;
set
;
}
/// <summary>
/// 老师介绍
/// </summary>
public
string
Introduce
{
get
;
set
;
}
/// <summary>
/// 账号(手机号码)
/// </summary>
public
string
TeacherAccount
{
get
;
set
;
}
/// <summary>
/// 性别 1男 2女
/// </summary>
public
int
Sex
{
get
;
set
;
}
/// <summary>
/// 在职状态 0在职 1已停职
/// </summary>
public
int
Status
{
get
;
set
;
}
/// <summary>
/// IsGroup
/// </summary>
public
int
IsGroup
{
get
;
set
;
}
/// <summary>
/// 老师编号
/// </summary>
public
string
TeacherNo
{
get
;
set
;
}
/// <summary>
/// 位置
/// </summary>
public
string
Position
{
get
;
set
;
}
/// <summary>
/// 区域ID
/// </summary>
public
int
RegionId
{
get
;
set
;
}
/// <summary>
/// 公共授权资源
/// </summary>
public
int
PublicResourceStatus
{
get
;
set
;
}
/// <summary>
/// 个人授权资源
/// </summary>
public
string
ClientCreateCourse
{
get
;
set
;
}
/// <summary>
/// 标签
/// </summary>
public
string
TeacherLabels
{
get
;
set
;
}
/// <summary>
/// 课程进度
/// </summary>
public
string
Progress
{
get
;
set
;
}
}
}
EduSpider.Repository/EduSpider.Repository.csproj
View file @
af974ff8
...
...
@@ -5,7 +5,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
<ItemGroup>
...
...
EduSpider.Repository/TeacherRepository.cs
0 → 100644
View file @
af974ff8
using
EduSpider.Model.Entity
;
using
EduSpider.Repository.Base
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EduSpider.Repository
{
/// <summary>
/// 老师仓储层
/// </summary>
public
class
TeacherRepository
:
BaseRepository
<
RB_Teacher
>,
ITeacherRepository
{
/// <summary>
/// 批量新增老师
/// </summary>
/// <param name="teachers"></param>
/// <returns></returns>
public
bool
BatchSetTeache
(
List
<
RB_Teacher
>
teachers
)
{
return
base
.
BatchInsert
(
teachers
,
isReplace
:
true
);
}
}
}
EduSpider.Services/EduSpider.Services.csproj
View file @
af974ff8
...
...
@@ -5,7 +5,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
<ItemGroup>
...
...
EduSpider.Services/TeacherService.cs
0 → 100644
View file @
af974ff8
using
EduSpider.IServices
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EduSpider.Services
{
/// <summary>
/// 老师服务实现
/// </summary>
public
class
TeacherService
:
ITeacherService
{
}
}
EduSpider.Utility/EduSpider.Utility.csproj
View file @
af974ff8
...
...
@@ -6,7 +6,7 @@
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
</Project>
EduSpider.WebApi/EduSpider.WebApi.csproj
View file @
af974ff8
...
...
@@ -15,7 +15,7 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="SqlSugarCore" Version="5.0.8.3" />
<PackageReference Include="StackExchange.Redis" Version="2.0.601" />
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
<ItemGroup>
...
...
EduSpider/Spiders/ClassInRule/ClassInFlow.cs
View file @
af974ff8
...
...
@@ -23,10 +23,10 @@ namespace TicketSpider.Spiders.ClassInRule
loginCookies
=
"_eeos_uid=12780052; _eeos_useraccount=18140082327; _eeos_userlogo=%2Fupload%2Fimages%2F20200126%2F709df9532bee722f2268_70.jpg; _eeos_domain=.eeo.cn; _eeos_remember=1; _eeos_sid=12780052; _eeos_nsid=kspGu2gfMu%2BU2EFgLpSGyg%3D%3D; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2212780052%22%2C%22first_id%22%3A%22180f59907abbed-081e4952c5b26f-12333272-2073600-180f59907acbc8%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%22180f59907abbed-081e4952c5b26f-12333272-2073600-180f59907acbc8%22%7D; _eeos_traffic=EqlIOFq4S2hz5FTTtHzNUViBYcWCixrJYMCF6Y5yJuD8eq8ZwPvVSHMvUkLFA5lzNoaTrDBpGhFOuRmo3R6CQ5GeSsJx1IEakyt2K%2B3ifco%3D; PHPSESSID=3etqs18ka2s425omq6uqsus8s2; __tk_id=7a20b97a04709afc3137ec211e756d5f"
;
Console
.
WriteLine
(
"开始获取
学员
信息"
);
new
StudentManager
().
RunAsync
(
loginCookies
);
Console
.
WriteLine
(
"开始获取
老师
信息"
);
//
new StudentManager().RunAsync(loginCookies);
//new StudentManager().RunCourse(loginCookies);
new
TeacherManager
().
RunTeacher
(
loginCookies
);
}
}
}
EduSpider/Spiders/ClassInRule/TeacherManager.cs
0 → 100644
View file @
af974ff8
using
EduSpider.Model.Entity
;
using
EduSpider.Repository
;
using
EduSpider.Utility.Enum
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Net.Http
;
using
System.Text
;
using
VTX.FW.Helper
;
namespace
EduSpider.Spiders.ClassInRule
{
/// <summary>
/// 课程关联
/// </summary>
public
class
TeacherManager
{
/// <summary>
/// 获取老师列表
/// </summary>
public
async
void
RunTeacher
(
string
cookie
)
{
int
perpage
=
20
,
pageIndex
=
1
,
pageCount
=
1
;
var
request
=
Utility
.
HttpHelper
.
GenerateHttp
(
cookie
);
List
<
RB_Teacher
>
list
=
new
();
while
(
true
)
{
string
paramStr
=
string
.
Format
(
"page={0}&perpage={1}"
,
pageIndex
,
perpage
);
var
content
=
new
StringContent
(
paramStr
,
System
.
Text
.
Encoding
.
UTF8
,
"application/x-www-form-urlencoded"
);
var
response
=
await
request
.
PostAsync
(
"https://console.eeo.cn/saasajax/teacher.ajax.php?action=getSchoolTeacherFullList"
,
content
);
var
result
=
response
.
Content
.
ReadAsStringAsync
().
Result
;
if
(!
string
.
IsNullOrWhiteSpace
(
result
))
{
JObject
rootObj
=
JObject
.
Parse
(
result
);
if
(!
string
.
IsNullOrWhiteSpace
(
rootObj
.
GetString
(
"data"
)))
{
JObject
dataObj
=
JObject
.
Parse
(
rootObj
.
GetString
(
"data"
));
var
totalNum
=
dataObj
.
GetInt
(
"totalNum"
);
string
rlist
=
dataObj
.
GetString
(
"list"
);
if
(
pageIndex
==
1
)
{
if
(
totalNum
>
perpage
)
{
if
(
totalNum
%
perpage
==
0
)
{
pageCount
=
totalNum
/
perpage
;
}
else
{
pageCount
=
(
totalNum
/
perpage
)
+
1
;
}
}
}
list
.
AddRange
(
ParseJson
(
rlist
));
}
}
else
{
Console
.
WriteLine
(
"result"
,
result
);
}
if
(
pageIndex
==
pageCount
)
{
break
;
}
pageIndex
++;
}
ITeacherRepository
teacherRepository
=
new
TeacherRepository
();
teacherRepository
.
BatchSetTeache
(
list
.
OrderBy
(
x
=>
x
.
TeacherId
).
ToList
());
}
/// <summary>
/// 数据转换
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public
static
List
<
RB_Teacher
>
ParseJson
(
string
data
)
{
List
<
RB_Teacher
>
list
=
new
();
JArray
courseArray
=
JArray
.
Parse
(
data
);
if
(
courseArray
!=
null
&&
courseArray
.
Count
>
0
)
{
foreach
(
var
jItem
in
courseArray
)
{
JObject
rObj
=
JObject
.
Parse
(
jItem
.
ToString
());
string
Logo
=
rObj
.
GetString
(
"logo"
);
if
(!
string
.
IsNullOrEmpty
(
Logo
))
{
Logo
=
"https://console.eeo.cn/upload/images/"
+
Logo
;
}
list
.
Add
(
new
RB_Teacher
()
{
TeacherId
=
rObj
.
GetInt
(
"id"
),
TeacherUid
=
rObj
.
GetInt
(
"uid"
),
Introduce
=
rObj
.
GetString
(
"introduce"
),
IsGroup
=
rObj
.
GetInt
(
"isGroup"
),
Logo
=
Logo
,
Sex
=
rObj
.
GetInt
(
"sex"
),
Status
=
rObj
.
GetInt
(
"status"
),
TeacherAccount
=
rObj
.
GetString
(
"account"
),
TeacherName
=
rObj
.
GetString
(
"name"
),
TeacherNo
=
rObj
.
GetString
(
"empno"
),
Position
=
rObj
.
GetString
(
"position"
),
RegionId
=
rObj
.
GetInt
(
"regionId"
),
PublicResourceStatus
=
rObj
.
GetInt
(
"publicResourceStatus"
),
ClientCreateCourse
=
rObj
.
GetString
(
"clientCreateCourse"
),
TeacherLabels
=
rObj
.
GetString
(
"teacherLabels"
),
Progress
=
rObj
.
GetString
(
"progress"
)
});
}
}
return
list
;
}
}
}
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