|
...
|
...
|
@@ -21,10 +21,7 @@ import java.io.UnsupportedEncodingException; |
|
|
|
import java.net.URL;
|
|
|
|
import java.net.URLEncoder;
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Random;
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 微信公众号
|
|
...
|
...
|
@@ -88,14 +85,14 @@ public class MpWeixinQqCom extends AquaticPublicOpinionBase{ |
|
|
|
|
|
|
|
}
|
|
|
|
@Override
|
|
|
|
List<FishAquaticPublicOpinion> collect(String day) {
|
|
|
|
List<FishAquaticPublicOpinion> collect(String day, Set<String> dedupMap) {
|
|
|
|
Random rand = new Random();
|
|
|
|
|
|
|
|
List<FishAquaticPublicOpinion> list = new ArrayList<>();
|
|
|
|
String[] gzh = new String[]{"中国水产","水产前沿","淡水渔业","海大集团","海洋与渔业杂志","华中渔业研究社","科学养鱼","南京渔业科技","农民日报","水产养殖编辑部","UCN国际海产资讯","养殖前沿","壹渔业","中国渔业报"};
|
|
|
|
for (String name: gzh)
|
|
|
|
{
|
|
|
|
List<FishAquaticPublicOpinion> publist = getPublishList(day,name,2);
|
|
|
|
List<FishAquaticPublicOpinion> publist = getPublishList(day,name,2,dedupMap);
|
|
|
|
if (null != publist && publist.size()!=0)
|
|
|
|
{
|
|
|
|
list.addAll(publist);
|
|
...
|
...
|
@@ -111,7 +108,7 @@ public class MpWeixinQqCom extends AquaticPublicOpinionBase{ |
|
|
|
String[] gzh_yj = new String[]{"海大农牧 水产一线","水产养殖网","农财宝典-大国渔业","大唐洋帆","禾晨科技","鱼市场","喜农和集团"};
|
|
|
|
for (String name: gzh_yj)
|
|
|
|
{
|
|
|
|
List<FishAquaticPublicOpinion> publist = getPublishList(day,name,3);
|
|
|
|
List<FishAquaticPublicOpinion> publist = getPublishList(day,name,3,dedupMap);
|
|
|
|
if (null != publist && publist.size()!=0)
|
|
|
|
{
|
|
|
|
list.addAll(publist);
|
|
...
|
...
|
@@ -211,7 +208,7 @@ public class MpWeixinQqCom extends AquaticPublicOpinionBase{ |
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
private List<FishAquaticPublicOpinion> getPublishList(String day,String name,Integer aquaticType)
|
|
|
|
private List<FishAquaticPublicOpinion> getPublishList(String day,String name,Integer aquaticType,Set<String> dedupMap)
|
|
|
|
{
|
|
|
|
String fakeid = getFakeid(name);
|
|
|
|
if (StringUtils.isNotEmpty(fakeid))
|
|
...
|
...
|
@@ -221,7 +218,7 @@ public class MpWeixinQqCom extends AquaticPublicOpinionBase{ |
|
|
|
.header("cookie",cookie)
|
|
|
|
.execute().body();
|
|
|
|
System.out.println(str);
|
|
|
|
return parsePublish(day,str,aquaticType);
|
|
|
|
return parsePublish(day,str,aquaticType,dedupMap);
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
...
|
...
|
@@ -230,7 +227,7 @@ public class MpWeixinQqCom extends AquaticPublicOpinionBase{ |
|
|
|
* 解析publish返回的消息
|
|
|
|
* @param str
|
|
|
|
*/
|
|
|
|
public List<FishAquaticPublicOpinion> parsePublish(String day,String str,Integer aquaticType)
|
|
|
|
public List<FishAquaticPublicOpinion> parsePublish(String day,String str,Integer aquaticType,Set<String> dedupMap)
|
|
|
|
{
|
|
|
|
JSONObject jsonObject = JSONObject.parseObject(str);
|
|
|
|
System.out.println(str);
|
|
...
|
...
|
@@ -250,20 +247,25 @@ public class MpWeixinQqCom extends AquaticPublicOpinionBase{ |
|
|
|
if (null != appmsgex && appmsgex.size() != 0) {
|
|
|
|
JSONObject appmsg = appmsgex.getJSONObject(0);
|
|
|
|
String title = appmsg.getString("title");
|
|
|
|
Integer update_time = appmsg.getInteger("update_time");
|
|
|
|
Date timeday = new Date(update_time * 1000l);
|
|
|
|
String time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, timeday);
|
|
|
|
if (StringUtils.isNotEmpty(day) && DateUtils.parseDate(time, DateUtils.YYYY_MM_DD).equals(DateUtils.parseDate(day, DateUtils.YYYY_MM_DD))) {
|
|
|
|
String info_url = appmsg.getString("link");
|
|
|
|
FishAquaticPublicOpinion aquaticPublicOpinion = new FishAquaticPublicOpinion();
|
|
|
|
aquaticPublicOpinion.setTitle(title);
|
|
|
|
aquaticPublicOpinion.setInfoUrl(info_url);
|
|
|
|
aquaticPublicOpinion.setReleaseTime(timeday);
|
|
|
|
aquaticPublicOpinion.setCreateTime(new Date());
|
|
|
|
aquaticPublicOpinion.setAquaticType(aquaticType);
|
|
|
|
list.add(aquaticPublicOpinion);
|
|
|
|
} else {
|
|
|
|
return list;
|
|
|
|
if(!dedupMap.contains(dedupMap))
|
|
|
|
{
|
|
|
|
dedupMap.add(title);
|
|
|
|
|
|
|
|
Integer update_time = appmsg.getInteger("update_time");
|
|
|
|
Date timeday = new Date(update_time * 1000l);
|
|
|
|
String time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, timeday);
|
|
|
|
if (StringUtils.isNotEmpty(day) && DateUtils.parseDate(time, DateUtils.YYYY_MM_DD).equals(DateUtils.parseDate(day, DateUtils.YYYY_MM_DD))) {
|
|
|
|
String info_url = appmsg.getString("link");
|
|
|
|
FishAquaticPublicOpinion aquaticPublicOpinion = new FishAquaticPublicOpinion();
|
|
|
|
aquaticPublicOpinion.setTitle(title);
|
|
|
|
aquaticPublicOpinion.setInfoUrl(info_url);
|
|
|
|
aquaticPublicOpinion.setReleaseTime(timeday);
|
|
|
|
aquaticPublicOpinion.setCreateTime(new Date());
|
|
|
|
aquaticPublicOpinion.setAquaticType(aquaticType);
|
|
|
|
list.add(aquaticPublicOpinion);
|
|
|
|
} else {
|
|
|
|
return list;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
...
|
...
|
|