|
@@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import org.apache.http.client.CookieStore;
|
|
import org.apache.http.client.CookieStore;
|
|
import org.apache.http.impl.client.BasicCookieStore;
|
|
import org.apache.http.impl.client.BasicCookieStore;
|
|
import org.apache.http.impl.cookie.BasicClientCookie;
|
|
import org.apache.http.impl.cookie.BasicClientCookie;
|
|
|
|
+import org.jeecg.common.util.DateUtils;
|
|
import org.openqa.selenium.By;
|
|
import org.openqa.selenium.By;
|
|
import org.openqa.selenium.Cookie;
|
|
import org.openqa.selenium.Cookie;
|
|
import org.openqa.selenium.WebDriver;
|
|
import org.openqa.selenium.WebDriver;
|
|
@@ -24,132 +25,15 @@ import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
public class KuaishouReportAgentJob implements Job {
|
|
public class KuaishouReportAgentJob implements Job {
|
|
- @Value("${jeecg.path.chrome-driver}")
|
|
|
|
- private String chromeDriver;
|
|
|
|
|
|
+
|
|
@Autowired
|
|
@Autowired
|
|
private IKuaishouReportDailyAgentService kuaishouReportDailyAgentService;
|
|
private IKuaishouReportDailyAgentService kuaishouReportDailyAgentService;
|
|
- public static void main(String[] args){
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
@Override
|
|
@Override
|
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
|
- System.getProperties().setProperty("webdriver.chrome.driver", "D:/chromedriver.exe");
|
|
|
|
- String url = "https://agent.e.kuaishou.com";
|
|
|
|
- ChromeOptions chromeOptions = new ChromeOptions();
|
|
|
|
- chromeOptions.addArguments("--headless");
|
|
|
|
- chromeOptions.addArguments("--incognito");
|
|
|
|
- chromeOptions.addArguments("--disable-gpu");
|
|
|
|
-// chromeOptions.addArguments("--no-sandbox");
|
|
|
|
- chromeOptions.addArguments("--window-size=1920,1080");
|
|
|
|
- chromeOptions.addArguments("--user-agent=" + HttpUtils2.USER_AGENT);
|
|
|
|
- chromeOptions.setAcceptInsecureCerts(true);
|
|
|
|
- WebDriver webDriver = new ChromeDriver(chromeOptions);
|
|
|
|
- try {
|
|
|
|
- Thread.sleep(3000L);
|
|
|
|
- HttpUtils2.cookieStore = new BasicCookieStore();
|
|
|
|
- webDriver.manage().deleteAllCookies();
|
|
|
|
- //获取登录页面
|
|
|
|
- webDriver.get(url);
|
|
|
|
- Thread.sleep(3000L);
|
|
|
|
- WebElement accountElement = webDriver.findElement(By.xpath("//div[@class='phone ']/input[@type='text']"));
|
|
|
|
- accountElement.sendKeys("17718376864");
|
|
|
|
- Thread.sleep(3000L);
|
|
|
|
- WebElement passwordElement = webDriver.findElement(By.xpath("//div[@class='password ']/input[@type='password']"));
|
|
|
|
- passwordElement.sendKeys("hcstbaoliang567");
|
|
|
|
- WebElement loginElement = webDriver.findElement(By.xpath("//div[@class='foot']"));
|
|
|
|
- Thread.sleep(3000L);
|
|
|
|
- //点击登录
|
|
|
|
- loginElement.click();
|
|
|
|
- Thread.sleep(3000L);
|
|
|
|
- Map<String,String> headerMap = new HashMap<String,String>();
|
|
|
|
- headerMap.put("Accept","application/json");
|
|
|
|
- headerMap.put("Accept-Encoding","gzip, deflate, br");
|
|
|
|
- headerMap.put("Accept-Language","zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
|
|
|
|
- headerMap.put("Connection","keep-alive");
|
|
|
|
- headerMap.put("Host","agent.e.kuaishou.com");
|
|
|
|
- headerMap.put("Referer","https://agent.e.kuaishou.com/");
|
|
|
|
- headerMap.put("Content-Type","application/json;charset=utf-8");
|
|
|
|
- headerMap.put("User-Agent",HttpUtils2.USER_AGENT);
|
|
|
|
-// headerMap.put("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
|
|
|
|
-// headerMap.put("Accept-Encoding","gzip, deflate, br");
|
|
|
|
-// headerMap.put("Accept-Language","zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
|
|
|
|
-// headerMap.put("Connection","keep-alive");
|
|
|
|
-// headerMap.put("Host","agent.e.kuaishou.com");
|
|
|
|
-// headerMap.put("Referer","https://agent.e.kuaishou.com/");
|
|
|
|
-// headerMap.put("Upgrade-Insecure-Requests","1");
|
|
|
|
- Set<Cookie> cookies = webDriver.manage().getCookies();
|
|
|
|
- Iterator iterator = cookies.iterator();
|
|
|
|
- CookieStore cookieStore = new BasicCookieStore();
|
|
|
|
- while (iterator.hasNext()) {
|
|
|
|
- String cookieStr = iterator.next().toString();
|
|
|
|
- String[] cookieArray = cookieStr.split(";");
|
|
|
|
- Map<String, String> cookieMap = new HashMap<String, String>();
|
|
|
|
- for (String cookie : cookieArray) {
|
|
|
|
- String[] kv = cookie.split("=");
|
|
|
|
- if (kv.length > 1) {
|
|
|
|
- cookieMap.put(kv[0].trim(), kv[1].trim());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- BasicClientCookie clientCookie = new BasicClientCookie(cookieArray[0].split("=")[0],
|
|
|
|
- cookieArray[0].split("=")[1]);
|
|
|
|
- clientCookie.setDomain("agent.e.kuaishou.com");
|
|
|
|
- clientCookie.setPath(cookieMap.get("path"));
|
|
|
|
- HttpUtils2.cookieStore.addCookie(clientCookie);
|
|
|
|
- }
|
|
|
|
- String listUrl = "https://agent.e.kuaishou.com/rest/dsp/agent/account/data/list";
|
|
|
|
- String postData = "{\"agentId\":403756224,\"date\":\"2019-12-13\",\"sortKey\":\"totalCharge\",\"isAscending\":false,\"pageInfo\":{\"totalCount\":1616,\"currentPage\":1,\"pageSize\":999999}}";
|
|
|
|
- String result = HttpUtils2.httpPostRequestTest(listUrl,postData,headerMap);
|
|
|
|
- ObjectMapper mapper = new ObjectMapper();
|
|
|
|
- JsonNode resultNode = mapper.readTree(result);
|
|
|
|
- Integer code = resultNode.get("result").intValue();
|
|
|
|
- if(code == 1){
|
|
|
|
- Iterator<JsonNode> iterator1 = resultNode.get("data").elements();
|
|
|
|
- int i = 0;
|
|
|
|
- List<KuaishouReportDailyAgent> reportList = new ArrayList<>();
|
|
|
|
- while (iterator1.hasNext()){
|
|
|
|
- JsonNode dataNode = iterator1.next();
|
|
|
|
- if(i == 0){
|
|
|
|
|
|
+// String currentDate = DateUtils.formatDate(DateUtils.addDay(new Date(),-1));
|
|
|
|
+// kuaishouReportDailyAgentService.getReport(currentDate,currentDate);
|
|
|
|
+
|
|
|
|
+ kuaishouReportDailyAgentService.getReport("2019-01-01","2019-12-12");
|
|
|
|
|
|
- }else {
|
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
- KuaishouReportDailyAgent kuaishouReportDailyAgent = new KuaishouReportDailyAgent();
|
|
|
|
- kuaishouReportDailyAgent.setAccountId(dataNode.get("accountId").asInt());
|
|
|
|
- kuaishouReportDailyAgent.setAdvertiserCreateTime(sdf.parse(dataNode.get("createTime").asText()));
|
|
|
|
- kuaishouReportDailyAgent.setAdvertiserName(dataNode.get("accountName").asText());
|
|
|
|
- kuaishouReportDailyAgent.setBalance(dataNode.get("totalBalanceDouble").decimalValue());
|
|
|
|
- kuaishouReportDailyAgent.setConvertClickRate(dataNode.get("actionbarClickRatio").decimalValue());
|
|
|
|
- kuaishouReportDailyAgent.setConvertCount(dataNode.get("actionbarClick").asInt());
|
|
|
|
- kuaishouReportDailyAgent.setCost(dataNode.get("totalChargedInYuan").decimalValue());
|
|
|
|
- kuaishouReportDailyAgent.setCostCampaignCount(dataNode.get("chargedCampaignCount").asInt());
|
|
|
|
- kuaishouReportDailyAgent.setDate(sdf.parse(dataNode.get("dateTime").asText()));
|
|
|
|
- kuaishouReportDailyAgent.setFengmianClickCount(dataNode.get("adPhotoClick").asInt());
|
|
|
|
- kuaishouReportDailyAgent.setFengmianClickRate(dataNode.get("clickRatio").decimalValue());
|
|
|
|
- kuaishouReportDailyAgent.setFengmianShowCount(dataNode.get("impression").asInt());
|
|
|
|
- kuaishouReportDailyAgent.setFandianCost(dataNode.get("rebateRealChargedInYuan").decimalValue());
|
|
|
|
- kuaishouReportDailyAgent.setJiliCost(dataNode.get("directRebateRealChargedInYuan").decimalValue());
|
|
|
|
- kuaishouReportDailyAgent.setKid(dataNode.get("userId").asInt());
|
|
|
|
- kuaishouReportDailyAgent.setKuangfanCost(dataNode.get("contractRebateRealChargedInYuan").decimalValue());
|
|
|
|
- kuaishouReportDailyAgent.setSucaiShowCount(dataNode.get("click").asInt());
|
|
|
|
- kuaishouReportDailyAgent.setXianjinCost(dataNode.get("realChargedInYuan").decimalValue());
|
|
|
|
- kuaishouReportDailyAgent.setXinyongCost(dataNode.get("creditRealChargedInYuan").decimalValue());
|
|
|
|
- reportList.add(kuaishouReportDailyAgent);
|
|
|
|
- }
|
|
|
|
- i++;
|
|
|
|
- }
|
|
|
|
- if(reportList != null && reportList.size() > 0){
|
|
|
|
- kuaishouReportDailyAgentService.replaceBatch(reportList);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- System.out.println(result);
|
|
|
|
-// String downloadUrl = "https://agent.e.kuaishou.com/rest/dsp/agent/account/data/download?agentId=403756224&startDate=2019-11-12&endDate=2019-12-12";
|
|
|
|
-// HttpUtils2.httpGet(downloadUrl,new HashMap<>(),headerMap);
|
|
|
|
-// String filePath = "D:/csv/"+ UUID.randomUUID()+".csv";
|
|
|
|
-// HttpUtils2.getFile(downloadUrl,headerMap,filePath);
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- e.printStackTrace();
|
|
|
|
- } finally {
|
|
|
|
- webDriver.manage().deleteAllCookies();
|
|
|
|
- webDriver.close();
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|