Commit a4df8c55 by 马黎滨

凤凰新闻热搜采集

parent 8d587614
...@@ -14,6 +14,7 @@ public enum HotSearchType { ...@@ -14,6 +14,7 @@ public enum HotSearchType {
新浪热点, 新浪热点,
搜狐话题, 搜狐话题,
凤凰新闻热榜, 凤凰新闻热榜,
凤凰新闻热搜,
网易热榜, 网易热榜,
网易跟帖热议 网易跟帖热议
} }
...@@ -60,4 +60,38 @@ public class FengHuangSearchCrawler { ...@@ -60,4 +60,38 @@ public class FengHuangSearchCrawler {
log.info("凤凰新闻热榜采集结束"); log.info("凤凰新闻热榜采集结束");
return list; return list;
} }
/**
* 获取凤凰新闻热搜
* @return
*/
public static List<HotSearchList> getFengHuangHotData(){
log.info("凤凰新闻热搜开始采集");
List<HotSearchList> list = new ArrayList<>();
String url = "https://shankapi.ifeng.com/autumn/sogouSearchHotword";
String htmlBody = null;
Request request = RequestUtils.wrapGet(url);
try (Response response = httpBoot.syncCall(request, ProxyHolder.NAT_HEAVY_PROXY)) {
htmlBody = response.body().string();
} catch (IOException e) {
log.error("凤凰新闻热搜页面连接异常...", e);
}
if (StringUtils.isNotBlank(htmlBody) && htmlBody.contains("data")) {
JSONArray jsonArray = JSONObject.parseObject(htmlBody).getJSONArray("data").getJSONObject(0).getJSONArray("item");
// log.info(jsonArray);
if (jsonArray != null) {
for (int i = 0; i < jsonArray.size(); i++) {
Integer rank = i + 1;
String name = jsonArray.getJSONObject(i).getString("title");
String fenghuangUrl = "https://so.ifeng.com/?q="+name;
HotSearchList hotSearchList = new HotSearchList(fenghuangUrl, name, null,
rank, HotSearchType.凤凰新闻热搜.name());
list.add(hotSearchList);
}
}
}
log.info("{}, 此轮凤凰新闻热搜采集到的数据量为:{}", new Date(), Integer.valueOf(list != null ? list.size() : 0));
log.info("凤凰新闻热搜采集结束");
return list;
}
} }
...@@ -33,17 +33,20 @@ public class ThreadOneRun extends Thread { ...@@ -33,17 +33,20 @@ public class ThreadOneRun extends Thread {
private void getHotList(){ private void getHotList(){
List<HotSearchList> tengXunlist = TengXunCrawler.getTengXunHotList(); List<HotSearchList> tengXunlist = TengXunCrawler.getTengXunHotList();
TipsUtils.addHotList("腾讯新闻",tengXunlist); TipsUtils.addHotList("腾讯新闻",tengXunlist);
ZhiWeiTools.sleep(3000L); ZhiWeiTools.sleep(1500L);
List<HotSearchList> xinLanglist = XinLangHotSearchCrawler.getXinLangHotSearch(); List<HotSearchList> xinLanglist = XinLangHotSearchCrawler.getXinLangHotSearch();
TipsUtils.addHotList("新浪热榜",xinLanglist); TipsUtils.addHotList("新浪热榜",xinLanglist);
ZhiWeiTools.sleep(3000L); ZhiWeiTools.sleep(1500L);
List<HotSearchList> souhuList = SouhuTopicCrawler.getSouhuTopic(); List<HotSearchList> souhuList = SouhuTopicCrawler.getSouhuTopic();
TipsUtils.addHotList("搜狐话题",souhuList); TipsUtils.addHotList("搜狐话题",souhuList);
ZhiWeiTools.sleep(3000L); ZhiWeiTools.sleep(1500L);
List<HotSearchList> xinLangHotList = XinLangHotSearchCrawler.getXinLangHotSpot(); List<HotSearchList> xinLangHotList = XinLangHotSearchCrawler.getXinLangHotSpot();
TipsUtils.addHotList("新浪热点",xinLangHotList); TipsUtils.addHotList("新浪热点",xinLangHotList);
ZhiWeiTools.sleep(3000L); ZhiWeiTools.sleep(1500L);
List<HotSearchList> fengHuangHotList = FengHuangSearchCrawler.getFengHuangHotList(); List<HotSearchList> fengHuangHotList = FengHuangSearchCrawler.getFengHuangHotList();
TipsUtils.addHotList("凤凰新闻热榜",fengHuangHotList); TipsUtils.addHotList("凤凰新闻热榜",fengHuangHotList);
ZhiWeiTools.sleep(1500L);
List<HotSearchList> fengHuangHotDataList = FengHuangSearchCrawler.getFengHuangHotData();
TipsUtils.addHotList("凤凰新闻热搜",fengHuangHotDataList);
} }
} }
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