zoukankan      html  css  js  c++  java
  • 百度百科简介爬取(含源代码、信息领域词频数据csv格式)

    百度百科特征:

    https://baike.baidu.com/item/+“信息”

    切记不要在要查找的字后面加‘/’ 

    简介代码XPATH:

    1 String htmls=page.getHtml().xpath("//div[@class='lemma-summary']/html()").get();

    下面是所有的代码:

    很简单,可有很快应用到系统中:

     1 package Pa;
     2 import java.util.ArrayList;
     3 import java.util.Date;
     4 import java.util.List;
     5 
     6 import org.jsoup.Jsoup;
     7 import org.jsoup.nodes.Document;
     8 
     9 import us.codecraft.webmagic.Page;
    10 import us.codecraft.webmagic.Site;
    11 import us.codecraft.webmagic.Spider;
    12 import us.codecraft.webmagic.processor.PageProcessor;
    13 
    14 
    15 public class 百度百科 implements PageProcessor{
    16 
    17     public static List<String> titles;
    18     
    19     public static int i=0;
    20     public static List<String> words=new ArrayList<String>();
    21     @Override
    22     public Site getSite() {
    23         return Site.me().setSleepTime(1000).setRetryTimes(10);
    24     }
    25 
    26      //jsoup根据html字符串和语法来获取内容
    27     private static String selectDocumentText(String htmlText) {
    28         Document doc=Jsoup.parse(htmlText);
    29         String select=doc.text();
    30         System.out.println(select);
    31         return select;
    32     }
    33     
    34     
    35     @Override
    36     public void process(Page page) {
    37         //定义如何抽取页面信息
    38         /*List<String> htmls=page.getHtml().xpath("//div[@class='lemma-summary']/html()").all();
    39         for(String html:htmls) {
    40         String mean=selectDocumentText(html);
    41         String word=words.get(i);
    42         System.out.println(word+":"+mean);
    43         }
    44         */
    45         
    46         String htmls=page.getHtml().xpath("//div[@class='lemma-summary']/html()").get();
    47         
    48         String mean=selectDocumentText(htmls);
    49         
    50         System.out.println(mean);
    51         
    52         
    53         
    54         i=i+1;
    55         
    56     }
    57     public static void main(String[] args) {
    58     long startTime,endTime;
    59     startTime=new Date().getTime();
    60     Spider create=Spider.create(new 百度百科());
    61      words.add("信息");
    62      String strr="https://baike.baidu.com/item/技术";
    63      create.addUrl(strr).thread(5).run();
    64      endTime=new Date().getTime();
    65      System.out.println("用时为:"+(endTime-startTime)/1000+"s");
    66 
    67    }
    68 }
    百度百科代码获取

    数据下载:

    样例:

     下载地址:

    链接:https://pan.baidu.com/s/1K5vR8_wNBmAYNvhMCwoAqg
    提取码:yse9
    复制这段内容后打开百度网盘手机App,操作更方便哦

  • 相关阅读:
    第六次作业--结对编程第二次
    OneZero第四周第三次站立会议(2016.4.13)
    结对编程体会2
    OneZero第四周第二次站立会议(2016.4.12)
    关于“单元测试工具”
    OneZero第四周第一次站立会议(2016.4.11)
    OneZero第四周——预完成功能点统计
    OneZero第三周第五次站立会议(2016.4.8)
    OneZero第三周第四次站立会议(2016.4.7)
    OneZero第三周第三次站立会议(2016.4.6)
  • 原文地址:https://www.cnblogs.com/smartisn/p/12253142.html
Copyright © 2011-2022 走看看