关于近些年兴起的爬取数据,其中大部分人都是使用Python来进行爬取。对于有些人来讲,还是不知道Java也可以进行数据爬取的。那么接下来小编就要给大家分享一篇关于Java爬取网页数据的文章。
爬取数据的含义就是获取请求返回的页面信息,筛选出我们想要的数据就可以了。
那么长话短说我们下面开始:
1.环境准备
工具的话是eclipse或者IDEA
配置好maven
2.导入jsoup相关依赖
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); }
最后对于爬取数据感兴趣的小伙伴抓紧去试试,在这里本人杜绝爬取一切违法的爬取行为,哈哈哈,希望小伙伴知道什么可爬着玩,什么不可爬。
以上是JAVA爬取网页数据之jsoup的详细内容。更多信息请关注PHP中文网其他相关文章!