0
点赞
收藏
分享

微信扫一扫

Java超简单实现网页数据的抓取

搬砖的小木匠 2021-09-23 阅读 65

目录

前言

前期准备

●需要的jar包:

  1. jsoup-1.11.1.jar
  2. okhttp-3.12.0.jar
  3. okio-1.12.0.jar

●jsoup使用文档:https://www.open-open.com/jsoup/

案例实现

public class Test {
private static final String BASE_URL="http://www.baiwanzy.com";//这里使用的是百万资源网的资源
public static void main(String[] args) {
    asyncGet();
}
public static void asyncGet() {
    String encode = URLEncoder.encode("雪鹰领主");//对查询的数据进行Url编码
    String urlBaidu = "http://www.baiwanzy.com/index.php?m=vod-search&wd="+encode;
    OkHttpClient okHttpClient = new OkHttpClient(); // 创建OkHttpClient对象
    Request request = new Request.Builder().url(urlBaidu).build(); // 创建一个请求
    okHttpClient.newCall(request).enqueue(new Callback() { // 回调 
        
        public void onResponse(Call call, Response response) throws IOException {
            // 请求成功调用,该回调在子线程
            getMovieList(response.body().string());
        }
        
        public void onFailure(Call call, IOException e) {
            // 请求失败调用
            System.out.println(e.getMessage());
        }
    });
}
public static void getMovieList(String datas){
    Document doc = Jsoup.parse(datas);
//      根据css的后代选择器来找到相关的列表
    Elements links = doc.select(".xing_vb4 a");//这里是返回的列表的类来查找相关的a标签
    for (Element link : links) {
          String linkHref = link.attr("href");
          String linkText = link.text();
          System.out.println(BASE_URL+linkHref+"==="+linkText);
    }
}
}
举报

相关推荐

0 条评论