Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
searchhotcrawler
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
zhiwei
searchhotcrawler
Commits
1dc989fa
Commit
1dc989fa
authored
Sep 16, 2022
by
leiliangliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新微博图标采集程序和新增图标枚举类,枚举转换关系
parent
cd6d34ac
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
154 additions
and
1 deletions
+154
-1
src/main/java/com/zhiwei/searchhotcrawler/bean/IconEnum.java
+53
-0
src/main/java/com/zhiwei/searchhotcrawler/bean/IconName.java
+91
-0
src/main/java/com/zhiwei/searchhotcrawler/crawler/WeiboHotSearchCrawler.java
+10
-1
No files found.
src/main/java/com/zhiwei/searchhotcrawler/bean/IconEnum.java
0 → 100644
View file @
1dc989fa
package
com
.
zhiwei
.
searchhotcrawler
.
bean
;
/**
* 类型枚举
* @author
* @date
*/
public
enum
IconEnum
{
/** icon图标转换 */
公益
(
"jian_gongyi"
,
"益"
),
推荐黄
(
"recom_yellow"
,
"推荐黄"
),
爆
(
"boom"
,
"爆"
),
沸
(
"fei"
,
"沸"
),
热
(
"hot"
,
"热"
),
新
(
"new"
,
"新"
),
推荐
(
"jian"
,
"商"
),
;
IconEnum
(
String
name
,
String
describe
)
{
this
.
name
=
name
;
this
.
describe
=
describe
;
}
/** 图标名 */
private
String
name
;
/** 图标描述 */
private
String
describe
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getDescribe
()
{
return
describe
;
}
public
void
setDescribe
(
String
describe
)
{
this
.
describe
=
describe
;
}
@Override
public
String
toString
()
{
return
"IconEnum{"
+
"name='"
+
name
+
'\''
+
", describe='"
+
describe
+
'\''
+
'}'
;
}}
src/main/java/com/zhiwei/searchhotcrawler/bean/IconName.java
0 → 100644
View file @
1dc989fa
package
com
.
zhiwei
.
searchhotcrawler
.
bean
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.stereotype.Component
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Component
public
class
IconName
{
private
static
Logger
logger
=
LogManager
.
getLogger
(
IconName
.
class
.
getName
());
/**
* k name
* v describe
* 根据名获取
**/
static
Map
<
String
,
String
>
nameDescribeMap
;
/**
* k describe
* v name
* 根据describe获取
**/
static
Map
<
String
,
String
>
describeNameMap
;
/**
* name
* index
* 方便前端取值的内存缓存
**/
static
List
<
Map
<
String
,
String
>>
describeNameMapList
=
new
ArrayList
<>();
//为访问速度,增加冗余储存
static
{
nameDescribeMap
=
Arrays
.
stream
(
IconEnum
.
values
()).
collect
(
Collectors
.
toMap
(
IconEnum:
:
getName
,
IconEnum:
:
getDescribe
,
(
k1
,
k2
)
->
k1
));
describeNameMap
=
Arrays
.
stream
(
IconEnum
.
values
()).
collect
(
Collectors
.
toMap
(
IconEnum:
:
getDescribe
,
IconEnum:
:
getName
,
(
k1
,
k2
)
->
k1
));
}
/**
* name
* describe
* 方便前端取值的内存缓存
**/
public
List
<
Map
<
String
,
String
>>
getIndexNameMapList
()
{
if
(
describeNameMapList
.
isEmpty
())
{
for
(
IconEnum
iconEnum
:
IconEnum
.
values
())
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"name"
,
iconEnum
.
getName
());
map
.
put
(
"describe"
,
iconEnum
.
getDescribe
());
describeNameMapList
.
add
(
map
);
}
}
return
describeNameMapList
;
}
/**
* 各类热搜字段对应
*
* @param describe
* @return
*/
public
String
describeName
(
String
describe
)
{
if
(
describeNameMap
.
containsKey
(
describe
))
{
return
describeNameMap
.
get
(
describe
);
}
else
{
logger
.
error
(
"未找到相应热搜名称,describe={}"
,
describe
);
return
null
;
}
}
/**
* 图标名转换成描述
*
* @param name
* @return
*/
public
String
nameToDescribe
(
String
name
)
{
if
(
nameDescribeMap
.
containsKey
(
name
))
{
return
nameDescribeMap
.
get
(
name
);
}
else
{
logger
.
error
(
"未找到相应热搜名称,name={}"
,
name
);
return
null
;
}
}
}
src/main/java/com/zhiwei/searchhotcrawler/crawler/WeiboHotSearchCrawler.java
View file @
1dc989fa
...
@@ -2,6 +2,7 @@ package com.zhiwei.searchhotcrawler.crawler;
...
@@ -2,6 +2,7 @@ package com.zhiwei.searchhotcrawler.crawler;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.UnsupportedEncodingException
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLDecoder
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
...
@@ -309,7 +310,15 @@ public class WeiboHotSearchCrawler {
...
@@ -309,7 +310,15 @@ public class WeiboHotSearchCrawler {
String
iconUrl
=
cardInfo
.
getString
(
"icon"
);
String
iconUrl
=
cardInfo
.
getString
(
"icon"
);
String
icon
=
null
;
String
icon
=
null
;
if
(
StringUtils
.
isNotBlank
(
iconUrl
))
{
if
(
StringUtils
.
isNotBlank
(
iconUrl
))
{
icon
=
iconUrl
.
split
(
"_"
)[
1
].
split
(
".png"
)[
0
];
String
[]
iconString
=
iconUrl
.
split
(
"_"
);
if
(
iconString
.
length
==
4
){
icon
=
iconString
[
3
].
split
(
".png"
)[
0
];
icon
=
URLDecoder
.
decode
(
icon
,
"utf-8"
);
}
else
if
(
iconString
.
length
==
3
){
icon
=
iconString
[
1
]+
"_"
+
iconString
[
2
].
split
(
".png"
)[
0
];
}
else
{
icon
=
iconString
[
1
].
split
(
".png"
)[
0
];
}
}
}
// String id = "http://s.weibo.com/weibo/" + URLCodeUtil.getURLEncode(name, "utf-8") + "&Refer=top";
// String id = "http://s.weibo.com/weibo/" + URLCodeUtil.getURLEncode(name, "utf-8") + "&Refer=top";
String
id
=
cardInfo
.
getString
(
"scheme"
);
String
id
=
cardInfo
.
getString
(
"scheme"
);
...
...
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