Rumah  >  Artikel  >  Java  >  JAVA爬取网页数据之jsoup

JAVA爬取网页数据之jsoup

TmDGl
TmDGlasal
2020-04-29 18:13:08169semak imbas

关于近些年兴起的爬取数据,其中大部分人都是使用Python来进行爬取。对于有些人来讲,还是不知道Java也可以进行数据爬取的。那么接下来小编就要给大家分享一篇关于Java爬取网页数据的文章。

爬取数据的含义就是获取请求返回的页面信息,筛选出我们想要的数据就可以了。

那么长话短说我们下面开始:

1.环境准备

工具的话是eclipse或者IDEA

配置好maven

2.导入jsoup相关依赖

                 org.jsoup           jsoup           1.13.1     

3.开始建立一个项目写代码,小编代码如下:

public static void main(String[] args) throws Exception {    Scanner sc = new Scanner(System.in);    System.out.println("请输入搜索的关键字!!!");    String input = sc.next();    //获取url请求,这里的请求自己去找    String url = "https://search.xx.com/Search?keyword="+input;    //解析网页(此处jsoup返回的document,就是页面document对象)    Document document = Jsoup.parse(new URL(url), 30000);    //所有js中的方法这里都能够使用,这里是获取爬取目标div中的id    Element element = document.getElementById("x_goodsList");    System.out.println(element.html());    //获取爬取目标div中的所有的li标签    Elements elements = document.getElementsByTag("li");    //遍历li标签里面的所有内容    for(Element el : elements){

       //有时候爬取图片比较多的网站,都是采用延迟加载的。获取的属性是      source-data-lazy-img而不是src

      /*

          img 是爬取的图片,

          price是爬取的价格,

          name是爬取的商品名

      */

       String img = el.getElementsByTag("img").eq(0).attr("src");        String price = el.getElementsByClass("p-price").eq(0).text();        String name = el.getElementsByClass("p-name").eq(0).text();        System.out.println("========================");        System.out.println(img);        System.out.println(price);        System.out.println(name);    }

最后对于爬取数据感兴趣的小伙伴抓紧去试试,在这里本人杜绝爬取一切违法的爬取行为,哈哈哈,希望小伙伴知道什么可爬着玩,什么不可爬。

Atas ialah kandungan terperinci JAVA爬取网页数据之jsoup. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn