首页 > Web开发 > 详细

Jsonp 使用 爬取 可直接解析页面

时间:2020-05-13 14:56:25      阅读:68      评论:0      收藏:0      [点我收藏+]

目标 : 爬取某网站 并导出到excel
方法 : 使用 JSOUP 爬取网站 ,使用AlibabaExcel 导出到文件
实现 :
1.pom.xml 应用对应jar包

    <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>1.11.3</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>easyexcel</artifactId>
        <version>2.2.3</version>
    </dependency>
  2.java 代码实现  直接 使用列表信息
        
        使用jsoup 从网站获取数据
public static void main(String[] args) {
    Document doc = null;
    try {
        //
        doc = Jsoup.connect("http://*****.html").get();   // 具体方法可以查看 jsoup 文档
        Element singerListDiv = doc.getElementsByAttributeValue("class", "content").first();
        Elements links = singerListDiv.getElementsByTag("a"); 
        for (Element link : links) {
            String linkHref = link.attr("href");
            System.out.println("==============" + linkText);
        }
      
    } catch (IOException e) {
        e.printStackTrace();
    }
}
  3.使用easyExcel 写入excel   说明文档 https://alibaba-easyexcel.github.io/quickstart/write.html
 
public class TestExcel {
    private List<DemoData> data() {
          List<DemoData> list = new ArrayList<DemoData>();
          for (int i = 0; i < 10; i++) {
              DemoData data = new DemoData();
              data.setString("字符串" + i);
              data.setDate(new Date());
              data.setDoubleData(0.56);
              list.add(data);
          }
          return list;
      }

      @Test
      public void simpleWrite() {
          // 写法1
          String fileName =   "D:/htmls/simpleWrite" + System.currentTimeMillis() + ".xlsx";
          // 这里 需要指定写用哪个class去写
          ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build();
          WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();
          excelWriter.write(data(), writeSheet);
          // 千万别忘记finish 会帮忙关闭流
          excelWriter.finish();
      }
  }

  使用到的对象 DemoData 
  
  @Data
  public class DemoData {
      @ExcelProperty("字符串标题")
      private String string;
      @ExcelProperty("日期标题")
      private Date date;
      @ExcelProperty("数字标题")
      private Double doubleData;
      /**
       * 忽略这个字段
       */
      @ExcelIgnore
      private String ignore;
  }


  可以根据对应的 jsoup 爬取对应网站 的页面  然后将数据拼装到内存 对象 在写入Excel 思路比较简单。EasyExcel使用的比较简单的用法,喜欢更复杂的可以查看对应的api

Jsonp 使用 爬取 可直接解析页面

原文:https://www.cnblogs.com/JC-0527/p/12882233.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!