Commit deca54a2 by 朽木不可雕也

1. 修复斗鱼的json正则匹配问题

2. 完善B站的单元测试
parent ab10849e
...@@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; ...@@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTask; import com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTask;
import com.zhiweidata.automatictest.barragecrawlerserver.exception.BarrageHomePageException; import com.zhiweidata.automatictest.barragecrawlerserver.exception.BarrageHomePageException;
import com.zhiweidata.automatictest.barragecrawlerserver.exporttasks.DouyuExportTaskJob; import com.zhiweidata.automatictest.barragecrawlerserver.exporttasks.DouyuExportTaskJob;
import java.net.URL;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -14,18 +13,12 @@ import java.util.Set; ...@@ -14,18 +13,12 @@ import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpException;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.StatusLine;
import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpGet;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.quartz.DisallowConcurrentExecution; import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext; import org.quartz.JobExecutionContext;
import org.seimicrawler.xpath.JXDocument;
import org.seimicrawler.xpath.JXNode;
import static com.zhiweidata.automatictest.publics.BeanContainer.HTTP_CLIENT; import static com.zhiweidata.automatictest.publics.BeanContainer.HTTP_CLIENT;
...@@ -40,7 +33,7 @@ import static com.zhiweidata.automatictest.publics.BeanContainer.HTTP_CLIENT; ...@@ -40,7 +33,7 @@ import static com.zhiweidata.automatictest.publics.BeanContainer.HTTP_CLIENT;
@DisallowConcurrentExecution @DisallowConcurrentExecution
@SuppressWarnings({"JavaDoc", "unused", "SpellCheckingInspection", "GrazieInspection", "DuplicatedCode"}) @SuppressWarnings({"JavaDoc", "unused", "SpellCheckingInspection", "GrazieInspection", "DuplicatedCode"})
public class DouyuCreateTaskJob extends CreateTaskJob { public class DouyuCreateTaskJob extends CreateTaskJob {
private static final Pattern PATTERN = Pattern.compile("var \\$mainData = [\\w\\W]+?;"); private static final Pattern PATTERN = Pattern.compile("var \\$mainData = \\[[\\w\\W]+?(];)");
@Override @Override
public void execute(JobExecutionContext jobExecutionContext) { public void execute(JobExecutionContext jobExecutionContext) {
......
...@@ -52,9 +52,9 @@ public class BarrageCollectionTask { ...@@ -52,9 +52,9 @@ public class BarrageCollectionTask {
@JsonIgnore @JsonIgnore
private String message; private String message;
public BarrageCollectionTask(String liveUrl, String liveName, long currentTime) { public BarrageCollectionTask(String liveUrl, String name, long currentTime) {
this.url = liveUrl; this.url = liveUrl;
this.name = liveName; this.name = name;
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(currentTime); calendar.setTimeInMillis(currentTime);
......
...@@ -4,6 +4,7 @@ import com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectio ...@@ -4,6 +4,7 @@ import com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectio
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpGet;
import org.apache.http.util.EntityUtils;
import org.quartz.JobDataMap; import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext; import org.quartz.JobExecutionContext;
...@@ -37,6 +38,7 @@ public class BiliBiliExportTaskJob implements BarrageExportTaskJob { ...@@ -37,6 +38,7 @@ public class BiliBiliExportTaskJob implements BarrageExportTaskJob {
BarrageCollectionTask collectionTask = (BarrageCollectionTask) requireNonNull(dataMap.get(BARRAGE_COLLECTION_TASK_JOB_KEY)); BarrageCollectionTask collectionTask = (BarrageCollectionTask) requireNonNull(dataMap.get(BARRAGE_COLLECTION_TASK_JOB_KEY));
String url = BASE_URL + "tasks?limit=20&page=1&name=" + collectionTask.getName(); String url = BASE_URL + "tasks?limit=20&page=1&name=" + collectionTask.getName();
HttpResponse response = HTTP_CLIENT.execute(new HttpGet(url)); HttpResponse response = HTTP_CLIENT.execute(new HttpGet(url));
log.info(EntityUtils.toString(response.getEntity()));
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
} }
......
package com.zhiweidata.automatictest.barragecrawlerserver.createtasks;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* @author aszswaz
* @createTime 2021-09-06 10:55:35
* @ide IntelliJ IDEA
*/
@SuppressWarnings("JavaDoc")
class DouyuCreateTaskJobTest {
@Test
void execute() {
new DouyuCreateTaskJob().execute(null);
}
}
\ No newline at end of file
package com.zhiweidata.automatictest.barragecrawlerserver.exporttasks;
import com.zhiweidata.automatictest.barragecrawlerserver.entity.BarrageCollectionTask;
import org.quartz.JobBuilder;
import org.quartz.JobDataMap;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import static com.zhiweidata.automatictest.barragecrawlerserver.config.BaseConfig.BARRAGE_COLLECTION_TASK_JOB_KEY;
import static com.zhiweidata.automatictest.publics.BeanContainer.SCHEDULER;
/**
* @author aszswaz
* @createTime 2021-09-06 10:03:42
* @ide IntelliJ IDEA
*/
@SuppressWarnings("JavaDoc")
class BiliBiliExportTaskJobTest {
public static void main(String[] args) throws SchedulerException {
JobBuilder builder = JobBuilder.newJob(BiliBiliExportTaskJob.class);
BarrageCollectionTask collectionTask = new BarrageCollectionTask(
"https://live.bilibili.com/23351279?hotRank=0", "cc423a3c-21de-4eab-99be-2f28cd85e7ad", 1630894154000L
);
JobDataMap dataMap = new JobDataMap();
dataMap.put(BARRAGE_COLLECTION_TASK_JOB_KEY, collectionTask);
builder.usingJobData(dataMap);
TriggerBuilder<Trigger> triggerBuilder = TriggerBuilder.newTrigger();
triggerBuilder.startNow();
SCHEDULER.scheduleJob(builder.build(), triggerBuilder.build());
SCHEDULER.shutdown(true);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment