zoukankan      html  css  js  c++  java
  • 爬虫

    爬虫Jsoup

    Demo

    <!--		解析网页 只是解析网页  音乐和电影taki了解下-->
    		<dependency>
    			<groupId>org.jsoup</groupId>
    			<artifactId>jsoup</artifactId>
    			<version>1.10.2</version>
    		</dependency>
    
    package com.example.demo.utils;
    
    import com.example.demo.pojo.Content;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.List;
    
    public class HtmlParseUtil {
        public static void main(String[] args) throws Exception {
            new HtmlParseUtil().parseJD("java");
        }
    
        public List<Content> parseJD(String keyWords) throws Exception {
            //        获取请求 https://search.jd.com/Search?keyword=java
    //        前提是 需要联网  【ajax不能获取到,模拟浏览器才能获取到】
            String url = "https://search.jd.com/Search?keyword=" + keyWords;
    //      解析网页 (Jsoup 返回的Document就是浏览器Document对象)
            Document document = Jsoup.parse(new URL(url), 30000);
    //        所有在js中可以使用的方法,这里都能用
            Element element = document.getElementById("J_goodsList");
    
            System.out.println(element.html());
    
    //        获取所有的li元素
            Elements elements = element.getElementsByTag("li");
    
            ArrayList<Content> goodsList = new ArrayList<>();
    
    //        获取元素中的内容,这里el 就是每一个li标签了
            for (Element el : elements) {
    //            关于这种图片特别多的网站,所有的图片都是延迟加载的! 懒加载
    //            source-data-lazy-img
    //            String img = el.getElementsByTag("img").eq(0).attr("src");
                String img = el.getElementsByTag("img").eq(0).attr("source-data-lazy-img");
                String price = el.getElementsByClass("p-price").eq(0).text();
                String title = el.getElementsByClass("p-name").eq(0).text();
                System.out.println(img);
                System.out.println(price);
                System.out.println(title);
                System.out.println("--------------------------------");
                Content content = new Content();
                content.setImg(img);
                content.setImg(price);
                content.setImg(title);
                goodsList.add(content);
            }
            return goodsList;
        }
    }
    
    
  • 相关阅读:
    java 技术社区!!
    有关 gridview的 (做东西 容易忘记 记下!)
    【C#复习之虚方法vs抽象类】08.4.3 上午
    高分求解答!!!
    【学习笔记】asp.net MVC!
    asp.net ajax 尝试 之很好很强大!08.4.4
    Linux流量监控工具 – iftop (最全面的iftop教程)
    linux下查看某目录占用的空间大小
    基于CentOS的Linux基本网络配置,包括网卡eth0、DNS、Host等
    ubuntu安装ssh服务
  • 原文地址:https://www.cnblogs.com/ls-summer/p/15025658.html
Copyright © 2011-2022 走看看