带JAVA的词条_java 如何爬取百度百科词条内容(java如何使用webmagic爬取百度词条)...

这是老师所布置的作业

说一下我这里的爬去并非能把百度词条上的内容一字不漏的取下来(而是它分享链接的一个主要内容概括...)(他的主要内容我爬不到 也不想去研究大家有好办法可以call me)

例如 互联网+这个词汇 我这里爬的解释为

中文【互联网+_百度百科】“互联网+”是创新2.0下的互联网发展的新业态,是知识社会创新2.0推动下的互联网形态演进及其催生的经济社会发展新形态。“互联网+”是互联网思维的进一步实践成果,推动经济形态不断地发生演变,从而带动社会经济实体的生命力,为改革、创新、发展提供广阔的网络平台。通俗的说,“互联网+”就是“互联网+各个传统行业”,但这并不是简单的两者相加,而是利用信息通信技术以及互联网平台,让互联网与传统行业进行深度融合,创造新的发展生态。它代表一种新的社会形态,即充分发挥互联网在社会资源配置中的优化和集成作用,将互联网的创新成果深度融合于经济、社会各域之中,提升全社会的创新力和生产力,形成更广泛的以互联网为基础设施和实现工具的经济发展新形态。2015年7月4日,国务院印发《国务院关于积极推进“互联网+”行动的指导意见》。2016年5月31日,教育部、国家语委在京发布《中国语言生活状况报告(2016)》。“互联.....(分享自

而不同于百度词条的长篇大论

webmagic 使用不再赘述 导入包实现PageProcessor接口

代码如下

1 packagecom.test;2 importjava.util.regex.Matcher;3 importjava.util.regex.Pattern;4 importus.codecraft.webmagic.Page;5 importus.codecraft.webmagic.Site;6 importus.codecraft.webmagic.Spider;7 importus.codecraft.webmagic.pipeline.ConsolePipeline;8 importus.codecraft.webmagic.processor.PageProcessor;9 /**

10 *@author信1605-1 hjj11 *12 */

13 public class PaChong2 implementsPageProcessor{14

15 private Site site =Site.me()16 .setUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0")17 .setRetryTimes(3)18 .setSleepTime(1000);19 @Override20 publicSite getSite() {21 //TODO Auto-generated method stub

22 returnsite;23 }24

25 public static voidmain(String[] args) {26 Spider.create(newPaChong2())27 .addUrl("https://baike.baidu.com/item/互联网+")//这里填写你第一次要爬的网址(后面直接跟你要查的词汇名称把互联网改了就行)

28 .addPipeline(newConsolePipeline())29 .thread(15)30 .run();31

32 }33

34 @Override35 public voidprocess(Page page) {36 //这段代码重复获取

37 System.out.println(mySplitBaiDu(page));38 System.out.println("中文"+unicodeToString(mySplitBaiDu(page)));39 }40

41 //爬取百度解释 为unicode文本

42 public staticString mySplitBaiDu(Page page)43 {44 String wordname=page.getUrl().toString().split("item/")[1];45 String basehtml=page.getJson().toString();46 String content =basehtml.split("bdText: \"")[1].split("@")[0];47 returncontent;48 }49

50 //unicode 转中文

51 public staticString unicodeToString(String str) {52

53 Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");54 Matcher matcher =pattern.matcher(str);55 charch;56 while(matcher.find()) {57 //group 6728

58 String group = matcher.group(2);59 //ch:'木' 26408

60 ch = (char) Integer.parseInt(group, 16);61 //group1 \u6728

62 String group1 = matcher.group(1);63 str = str.replace(group1, ch + "");64 }65 returnstr;66 }67

68 }

结果

980d49f84385cb94910eb862a417db99.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值