前言:最近做个需求,就是把部分植物的百科内容抓取清洗,并且保存展示。
对比了几大百科网站,还是百度百科的比较好解析,写完了记录分享一下。
应用到的第三方包:
<!-- hutool工具包 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.2</version>
</dependency>
<!-- jsoup工具包 -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
代码如下:
public class DataAcquisitionService {
private final static String BAIDU_BAIKE = "https://baike.baidu.com/item/{}";
/**
* 根据词条检索百度百科,然后返回结构化的百科html结构
*
* @param entry 词条
* @return {@link String}
*/
public static List<String> baiduBaikeContent(String entry) {
String html = HttpRequest
.get(StrUtil.format(BAIDU_BAIKE, entry))
// 这个UserAgentConstants.userAgents是一个List<String>,保存着useragent的列表
.header("user-agent", RandomUtil.randomEle(UserAgentConstants.userAgents))
.timeout(3000)
.execute()
.body();
if (html.equals("")) {
throw new RuntimeException("抓到的页面为空");
}
Document page = Jsoup.parse(html);
// 词条不存在
if (page.head().selectFirst("title").text(

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



