Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
automatic-test
Overview
Overview
Details
Activity
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
钟涨钱
automatic-test
Commits
a986d607
Commit
a986d607
authored
Aug 24, 2021
by
朽木不可雕也
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
backup
parent
94af376c
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
88 additions
and
37 deletions
+88
-37
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/createtasks/BiliBiliCreateTaskJob.java
+7
-1
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/createtasks/CreateTaskJob.java
+71
-0
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/createtasks/DouyuCreateTaskJob.java
+6
-1
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/createtasks/HuyaCreateTaskJob.java
+4
-35
No files found.
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/createtasks/BiliBiliCreateTaskJob.java
View file @
a986d607
package
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
createtasks
;
package
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
createtasks
;
import
org.apache.poi.ss.usermodel.CellRange
;
import
org.quartz.Job
;
import
org.quartz.Job
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionContext
;
...
@@ -11,8 +12,13 @@ import org.quartz.JobExecutionContext;
...
@@ -11,8 +12,13 @@ import org.quartz.JobExecutionContext;
* @ide IntelliJ IDEA
* @ide IntelliJ IDEA
*/
*/
@SuppressWarnings
(
"JavaDoc"
)
@SuppressWarnings
(
"JavaDoc"
)
public
class
BiliBiliCreateTaskJob
implements
Job
{
public
class
BiliBiliCreateTaskJob
extends
CreateTask
Job
{
@Override
@Override
public
void
execute
(
JobExecutionContext
jobExecutionContext
)
{
public
void
execute
(
JobExecutionContext
jobExecutionContext
)
{
}
}
@Override
public
String
getLiveName
(
String
liveUrl
)
{
return
null
;
}
}
}
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/createtasks/CreateTaskJob.java
0 → 100644
View file @
a986d607
package
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
createtasks
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.mongodb.client.MongoCollection
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTask
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.entity.ByteArrayEntity
;
import
org.apache.http.entity.ContentType
;
import
org.bson.Document
;
import
org.quartz.Job
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
MONGO_LIVE_COLLECTION
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
TASK_URL
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
HTTP_CLIENT
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
MONGO_DATABASE
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
STANDARD_DATE_FORMAT
;
/**
* @author aszswaz
* @createTime 2021-08-24 18:02:35
* @ide IntelliJ IDEA
*/
@Slf4j
@SuppressWarnings
({
"JavaDoc"
,
"GrazieInspection"
})
public
abstract
class
CreateTaskJob
implements
Job
{
private
final
List
<
Document
>
liveUrls
=
new
ArrayList
<>();
/**
* 获取直播间名称
*/
protected
abstract
String
getLiveName
(
String
liveUrl
)
throws
IOException
;
/**
* 请求弹幕采集服务器创建采集任务
*/
protected
final
void
createCollectionTask
(
String
liveUrl
)
{
try
{
BarrageCollectionTask
collectionTask
=
new
BarrageCollectionTask
(
liveUrl
,
this
.
getLiveName
(
liveUrl
));
if
(
log
.
isDebugEnabled
())
{
String
startTime
=
STANDARD_DATE_FORMAT
.
format
(
collectionTask
.
getStartTime
()
*
1000L
);
String
endTime
=
STANDARD_DATE_FORMAT
.
format
(
collectionTask
.
getEndTime
()
*
1000L
);
log
.
info
(
"collection start time: {}, collection end time: {}"
,
startTime
,
endTime
);
}
HttpPost
post
=
new
HttpPost
(
TASK_URL
);
ObjectMapper
objectMapper
=
new
ObjectMapper
();
post
.
setEntity
(
new
ByteArrayEntity
(
objectMapper
.
writeValueAsBytes
(
collectionTask
),
ContentType
.
APPLICATION_JSON
));
HttpResponse
response
=
HTTP_CLIENT
.
execute
(
post
);
Map
<?,
?>
jsonMap
=
objectMapper
.
readValue
(
response
.
getEntity
().
getContent
(),
Map
.
class
);
int
code
=
(
Integer
)
jsonMap
.
get
(
"code"
);
Document
document
=
new
Document
(
"liveUrl"
,
liveUrl
);
jsonMap
.
forEach
((
key
,
value
)
->
document
.
put
((
String
)
key
,
value
));
this
.
liveUrls
.
add
(
document
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
protected
final
void
finish
()
{
MongoCollection
<
Document
>
liveUrls
=
MONGO_DATABASE
.
getCollection
(
MONGO_LIVE_COLLECTION
);
liveUrls
.
insertMany
(
this
.
liveUrls
);
}
}
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/createtasks/DouyuCreateTaskJob.java
View file @
a986d607
...
@@ -11,8 +11,13 @@ import org.quartz.JobExecutionContext;
...
@@ -11,8 +11,13 @@ import org.quartz.JobExecutionContext;
* @ide IntelliJ IDEA
* @ide IntelliJ IDEA
*/
*/
@SuppressWarnings
({
"JavaDoc"
,
"unused"
,
"SpellCheckingInspection"
})
@SuppressWarnings
({
"JavaDoc"
,
"unused"
,
"SpellCheckingInspection"
})
public
class
DouyuCreateTaskJob
implements
Job
{
public
class
DouyuCreateTaskJob
extends
CreateTask
Job
{
@Override
@Override
public
void
execute
(
JobExecutionContext
jobExecutionContext
)
{
public
void
execute
(
JobExecutionContext
jobExecutionContext
)
{
}
}
@Override
public
String
getLiveName
(
String
liveUrl
)
{
return
null
;
}
}
}
barrage-crawler-server/src/main/java/com/zhiweidata/automatictest/barragecrawlerserver/createtasks/HuyaCreateTaskJob.java
View file @
a986d607
...
@@ -3,7 +3,6 @@ package com.zhiweidata.automatictest.barragecrawlerserver.createtasks;
...
@@ -3,7 +3,6 @@ package com.zhiweidata.automatictest.barragecrawlerserver.createtasks;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.mongodb.client.MongoCollection
;
import
com.mongodb.client.MongoCollection
;
import
com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTask
;
import
com.zhiweidata.automatictest.barragecrawlerserver.exception.BarrageHomePageException
;
import
com.zhiweidata.automatictest.barragecrawlerserver.exception.BarrageHomePageException
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.HashSet
;
import
java.util.HashSet
;
...
@@ -18,23 +17,17 @@ import org.apache.http.HttpResponse;
...
@@ -18,23 +17,17 @@ import org.apache.http.HttpResponse;
import
org.apache.http.HttpStatus
;
import
org.apache.http.HttpStatus
;
import
org.apache.http.StatusLine
;
import
org.apache.http.StatusLine
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.entity.ByteArrayEntity
;
import
org.apache.http.entity.ContentType
;
import
org.apache.http.util.EntityUtils
;
import
org.apache.http.util.EntityUtils
;
import
org.bson.Document
;
import
org.bson.Document
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.NotNull
;
import
org.jsoup.nodes.Element
;
import
org.jsoup.nodes.Element
;
import
org.quartz.Job
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionContext
;
import
org.seimicrawler.xpath.JXDocument
;
import
org.seimicrawler.xpath.JXDocument
;
import
org.seimicrawler.xpath.JXNode
;
import
org.seimicrawler.xpath.JXNode
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
MONGO_LIVE_COLLECTION
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
MONGO_LIVE_COLLECTION
;
import
static
com
.
zhiweidata
.
automatictest
.
barragecrawlerserver
.
config
.
BaseConfig
.
TASK_URL
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
HTTP_CLIENT
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
HTTP_CLIENT
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
MONGO_DATABASE
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
MONGO_DATABASE
;
import
static
com
.
zhiweidata
.
automatictest
.
publics
.
BeanContainer
.
STANDARD_DATE_FORMAT
;
/**
/**
* 从虎牙直播的首页获得直播间的地址,并发送到弹幕采集服务器进行测试
* 从虎牙直播的首页获得直播间的地址,并发送到弹幕采集服务器进行测试
...
@@ -45,7 +38,7 @@ import static com.zhiweidata.automatictest.publics.BeanContainer.STANDARD_DATE_F
...
@@ -45,7 +38,7 @@ import static com.zhiweidata.automatictest.publics.BeanContainer.STANDARD_DATE_F
*/
*/
@Slf4j
@Slf4j
@SuppressWarnings
({
"JavaDoc"
,
"unused"
,
"SpellCheckingInspection"
,
"GrazieInspection"
})
@SuppressWarnings
({
"JavaDoc"
,
"unused"
,
"SpellCheckingInspection"
,
"GrazieInspection"
})
public
class
HuyaCreateTaskJob
implements
Job
{
public
class
HuyaCreateTaskJob
extends
CreateTask
Job
{
/**
/**
* 幻灯片中,直播间的url匹配
* 幻灯片中,直播间的url匹配
*/
*/
...
@@ -106,36 +99,12 @@ public class HuyaCreateTaskJob implements Job {
...
@@ -106,36 +99,12 @@ public class HuyaCreateTaskJob implements Job {
}
else
{
}
else
{
log
.
warn
(
"虎牙直播间地址数量:{}"
,
size
);
log
.
warn
(
"虎牙直播间地址数量:{}"
,
size
);
}
}
liveUrls
.
forEach
(
this
::
createCollectionTask
);
liveUrls
.
forEach
(
super
::
createCollectionTask
);
}
super
.
finish
();
/**
* 请求弹幕采集服务器创建采集任务
*/
private
void
createCollectionTask
(
String
liveUrl
)
{
try
{
BarrageCollectionTask
collectionTask
=
new
BarrageCollectionTask
(
liveUrl
,
this
.
getLiveName
(
liveUrl
));
if
(
log
.
isDebugEnabled
())
{
String
startTime
=
STANDARD_DATE_FORMAT
.
format
(
collectionTask
.
getStartTime
()
*
1000L
);
String
endTime
=
STANDARD_DATE_FORMAT
.
format
(
collectionTask
.
getEndTime
()
*
1000L
);
log
.
info
(
"collection start time: {}, collection end time: {}"
,
startTime
,
endTime
);
}
HttpPost
post
=
new
HttpPost
(
TASK_URL
);
ObjectMapper
objectMapper
=
new
ObjectMapper
();
post
.
setEntity
(
new
ByteArrayEntity
(
objectMapper
.
writeValueAsBytes
(
collectionTask
),
ContentType
.
APPLICATION_JSON
));
HttpResponse
response
=
HTTP_CLIENT
.
execute
(
post
);
Map
<?,
?>
jsonMap
=
objectMapper
.
readValue
(
response
.
getEntity
().
getContent
(),
Map
.
class
);
int
code
=
(
Integer
)
jsonMap
.
get
(
"code"
);
Document
document
=
new
Document
(
"liveUrl"
,
liveUrl
);
jsonMap
.
forEach
((
key
,
value
)
->
document
.
put
((
String
)
key
,
value
));
this
.
liveUrls
.
insertOne
(
document
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
}
@NotNull
@NotNull
p
rivate
String
getLiveName
(
String
liveUrl
)
throws
IOException
{
p
ublic
String
getLiveName
(
String
liveUrl
)
throws
IOException
{
HttpResponse
response
=
HTTP_CLIENT
.
execute
(
new
HttpGet
(
liveUrl
));
HttpResponse
response
=
HTTP_CLIENT
.
execute
(
new
HttpGet
(
liveUrl
));
String
html
=
EntityUtils
.
toString
(
response
.
getEntity
());
String
html
=
EntityUtils
.
toString
(
response
.
getEntity
());
JXDocument
document
=
JXDocument
.
create
(
html
);
JXDocument
document
=
JXDocument
.
create
(
html
);
...
...
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