Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
meta_crawler
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
刘伟刚
meta_crawler
Commits
7053d936
提交
7053d936
authored
9月 06, 2022
作者:
liuweigang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
采集代码更新5
上级
80a9df55
全部展开
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
110 行增加
和
0 行删除
+110
-0
MetaBaiduSearchThread.java
.../src/main/java/com/zzsn/search/MetaBaiduSearchThread.java
+0
-0
RecorderUtil.java
...arch/src/main/java/com/zzsn/search/util/RecorderUtil.java
+110
-0
没有找到文件。
baidu_search/src/main/java/com/zzsn/search/MetaBaiduSearchThread.java
浏览文件 @
7053d936
差异被折叠。
点击展开。
baidu_search/src/main/java/com/zzsn/search/util/RecorderUtil.java
浏览文件 @
7053d936
...
...
@@ -412,6 +412,116 @@ public class RecorderUtil {
}
// return null;
}
public
static
List
<
CatchWebByMetaSearch
>
catchWebOfBaiduList
(
List
<
String
>
urlList
,
String
charset
,
Long
orgId
,
Long
tid
,
String
keywords
)
{
List
<
CatchWebByMetaSearch
>
catchWebByMetaSearchList
=
new
ArrayList
<
CatchWebByMetaSearch
>();
try
{
for
(
int
i
=
0
;
i
<
urlList
.
size
();
i
++)
{
String
docstr
=
""
;
if
(
Constants
.
PROXY
.
equals
(
"1"
))
{
//是否使用代理
log
.
info
(
"使用代理访问百度链接"
);
try
{
URL
url
=
new
URL
(
urlList
.
get
(
i
));
URI
uri
=
null
;
String
uri_code
=
""
;
try
{
uri
=
new
URI
(
url
.
getProtocol
(),
url
.
getHost
(),
url
.
getPath
(),
url
.
getQuery
(),
null
);
uri_code
=
Utility
.
encodURI
(
uri
.
toString
())
.
replaceAll
(
"%2520"
,
"+"
).
replaceAll
(
"%25"
,
"%"
)
.
replaceAll
(
"%20"
,
"+"
);
}
catch
(
URISyntaxException
e
)
{
log
.
info
(
"url处理异常!"
);
}
docstr
=
proxyRequest
(
uri_code
);
log
.
info
(
"请求内容:"
+
docstr
);
}
catch
(
Exception
e
)
{
log
.
info
(
"使用代理请求异常"
);
}
}
else
{
SeleniumTime
seleniumTime
=
new
SeleniumTime
();
docstr
=
seleniumTime
.
getScopehtml
(
urlList
.
get
(
i
));
}
// SeleniumTime seleniumTime = new SeleniumTime();
// docstr = seleniumTime.getScopehtmlByProxy(urlList.get(i));
if
(
StringUtils
.
isEmpty
(
docstr
)){
try
{
Thread
.
sleep
(
1000
*
5
);
SeleniumTime
seleniumTime2
=
new
SeleniumTime
();
docstr
=
seleniumTime2
.
getScopehtml
(
urlList
.
get
(
i
));
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
Document
doc
=
Jsoup
.
parse
(
docstr
);
System
.
out
.
println
(
"----百度搜索----"
+
urlList
.
get
(
i
));
Elements
firstElementsLink
=
doc
.
select
(
"div[id=\"content_left\"]>div.new-pmd"
);
List
<
CatchWebByMetaSearch
>
metaSearchList
=
new
ArrayList
<
CatchWebByMetaSearch
>();
CatchWebByMetaSearch
catchWebByMetaSearch
=
null
;
if
(
firstElementsLink
.
size
()<
1
){
try
{
Thread
.
sleep
(
1000
);
SeleniumTime
seleniumTime2
=
new
SeleniumTime
();
docstr
=
seleniumTime2
.
getScopehtml
(
urlList
.
get
(
i
));
doc
=
Jsoup
.
parse
(
docstr
);
firstElementsLink
=
doc
.
select
(
"div[id=\"content_left\"]>div.new-pmd"
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
for
(
int
m
=
0
;
m
<
firstElementsLink
.
size
();
m
++)
{
try
{
catchWebByMetaSearch
=
new
CatchWebByMetaSearch
();
Elements
dateEle
=
firstElementsLink
.
get
(
m
).
select
(
"span[class=\"c-color-gray2\"]"
);
Elements
orgain
=
firstElementsLink
.
get
(
m
).
select
(
"span.c-color-gray"
);
// //发布时间
if
(
dateEle
.
size
()>
0
)
{
String
publishDate
=
DateUtil
.
getPublishDate
(
dateEle
.
get
(
0
).
text
());
catchWebByMetaSearch
.
setPublishDate
(
publishDate
);
}
// //来源
if
(
orgain
.
size
()>
0
)
{
catchWebByMetaSearch
.
setSourcesite
(
orgain
.
get
(
0
).
text
());
}
Elements
titleAndUrl
=
firstElementsLink
.
get
(
m
).
select
(
"a[data-click]"
);
if
(
titleAndUrl
.
size
()
>
0
)
{
//标题 class="news-title_1YtI1 "
String
title
=
titleAndUrl
.
get
(
0
).
text
().
trim
();
catchWebByMetaSearch
.
setTitle
(
title
);
//源网址
String
addressurl
=
firstElementsLink
.
get
(
m
).
attr
(
"mu"
);
if
(
StringUtils
.
isEmpty
(
addressurl
))
{
addressurl
=
titleAndUrl
.
attr
(
"href"
);
}
catchWebByMetaSearch
.
setSourceaddress
(
addressurl
);
System
.
out
.
println
(
addressurl
);
if
(
StringUtils
.
isNotEmpty
(
addressurl
))
{
catchWebByMetaSearch
.
setOrgId
(
orgId
);
catchWebByMetaSearch
.
setTid
(
tid
);
catchWebByMetaSearch
.
setSid
(
tid
);
metaSearchList
.
add
(
catchWebByMetaSearch
);
}
}
}
catch
(
Exception
e
){
continue
;
}
}
//对采集一个列表解析一个列表的详情
MetaBaiduSearchThread
baiduSearchThread
=
new
MetaBaiduSearchThread
();
int
repeat
=
baiduSearchThread
.
CatchWebNews
(
metaSearchList
,
keywords
);
if
(
repeat
/
metaSearchList
.
size
()>
0.6
){
break
;
}
catchWebByMetaSearchList
.
addAll
(
metaSearchList
);
}
return
catchWebByMetaSearchList
;
}
catch
(
ParseException
e
)
{
return
catchWebByMetaSearchList
;
}
// return null;
}
// 提取百度新闻列表及详情URL
@SuppressWarnings
(
"deprecation"
)
public
static
List
<
CatchWebByMetaSearch
>
CatchWebDetailOfBaidu
(
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论