当前位置:首页 > 生活百科

java网络爬虫可以爬什么数据(免费分享java网络爬虫实战技巧)

栏目:生活百科日期:2025-01-21浏览:0

文章目录

前言1.引入依赖:2.代码实战:3.代理说明:总结

前言

现在一提到爬虫都是python,类库比较丰富,如果不会java的同学,去学习python爬虫比较靠谱,但是那是不是代表java就不能爬虫呢?肯定不是的,事实上一些场景下,java爬虫使用起来更方便,更好用。

1.引入依赖:

java当中爬虫使用的是jsoup的类库,jsoup提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据,让你请求网页后可以对网页进行dom操作达到爬虫的目的。

 &<dependency>            &<groupId>org.jsoup&</groupId>            &<artifactId>jsoup&</artifactId>            &<version>1.10.3&</version>        &</dependency>

2.代码实战:

案例一:
爬虫股票的分析结果:

 StockShow stockShow = new StockShow();        String doUrl = String.format("url", stockCode);        Document doc = null;        try {            doc = Jsoup.connect(doUrl).get();            Elements stockName = doc.select("p[class=stockname]");            Elements stockTotal = doc.select("p[class=stocktotal]");            Elements shortStr = doc.select("li[class=short]");            Elements midStr = doc.select("li[class=mid]");            Elements longStr = doc.select("li[class=long]");            Elements stockType = doc.select("p[class=value_bar]").select("span[class=cur]");            stockShow.setStockName(stockName.get(0).text());            stockShow.setStockTotal(stockTotal.get(0).text().split(":")[1]);            stockShow.setShortStr(shortStr.get(0).text().split(":")[1]);            stockShow.setMidStr(midStr.get(0).text().split(":")[1]);            stockShow.setLongStr(longStr.get(0).text().split(":")[1]);            stockShow.setStockType(stockType.get(0).text());        } catch (IOException e) {            log.error("findStockAnalysisByStockCode,{}",e.getMessage());        }

案例2:
抓取学校的信息:

 Campus campus = new Campus();        String doUrl = String.format(url, campusId);        Document doc = null;        if (StringUtils.isEmpty(arg.getIp())){            arg.setIp("transfer.moguproxy.com");            arg.setPort(9001);        }        try {            HttpsUtil.trustEveryone();            Random r = new Random();            int random = r.nextInt(48);            Connection conn = Jsoup.connect(doUrl).proxy(arg.getIp(), arg.getPort());//.timeout(10000)            conn .header("Proxy-Authorization", "Basic "+"V1Vxb2syU29MbUJWTVY2RjpMTHN5TDM0c3ByQlFRM3hw").userAgent(ua[random]).timeout(30000);            doc = conn.get();            Elements names = doc.select("a[class=btn btn-xs btn-primary]");            Elements type = doc.select("a[class=campus_type_fix_b link_now_active]");//            doc.select("ol[class=breadcrumb]").select("li").get(4).text()            Elements campusName = doc.select("ol[class=breadcrumb]").select("li");            Elements addressAndTel = doc.select("p[class=page-header]").select("p");

3.代理说明:

案例一里面并没有使用代理ip,可以直接抓取。但是通常情况下,我们抓取的网站会设置反爬虫,封ip等,所以我们要设置代理ip,上线的案例2中使用的是蘑菇代理的代理隧道进行的代理设置,用起来还不错,如果确实需要可以进行购买。

总结

当然我上面写的2个案例只是举例子,其实dom的操作还有很多种的方法,大家如果想要进行爬虫,dom的基本操作肯定是需要的,一些基本的html知识是需要的。如果你想跟我有更多的交流,关注我的公众号:Java时间屋 进行交流。

“java网络爬虫可以爬什么数据(免费分享java网络爬虫实战技巧)” 的相关文章

vivo手机的型号和价格(所有vivo手机型号和报价)

聊到国产品牌手机就无法避免谈到VIVO和OPPO品牌,因为是国产品牌手机“赶走”了外国品牌手机在我国手机市场上的垄断地位,VIVO和OPPO品牌的手机在国内非常...

dnf怎么附魔卡片和珠宝(dnf附魔师快速升级到11级)

从新职业刃影预约活动开启以来,附魔卡片不断涨价,部分跨区附魔卡片甚至翻倍涨价,随之而来的是各种胚子卡也翻倍涨价,而“冰冷的悲伤皇女、炽热的愤怒皇子”就是最实用的...

3d效果图制作教程(3d制作室内效果图的步骤)

怎么用摄影修图软件,把手机图片做成3D效果?把手机图片,做成3D效果,用手机修图软件就可以搞定。看一下效果图,后面为朋友们分享,详细的制作方法。把手机图片做成3...

创维显示器怎么样(最新创维显示器使用评测)

自年初疫情爆发以来,各行业都面临着前所未有的困难与挑战,然而在这危机重重下,游戏产业却来了一波大反转,近期各个游戏巨头的最新业绩则证明了这一点,而除了游戏本身以...

个人创业经历例文500字,90后白手起家创业感悟

很多人说低成本创业,空手套白狼都是扯淡,没钱什么都做不成。今天分享几个低成本创业,甚至不需要成本创业的思路,请大家鉴赏。现在大家的问题是怎么用1000元能让自己...

共享脱单表格或成杀猪盘帮凶(信息共享存隐患)

网络办公时代处处讲究高效,共享表格就是各家企业最常用的一种收集资料的方式,这种表格可以直接发一份进工作群,由每位员工自己编辑填写,最终相关人员收回表格时,就可以...

如何做好网站关键词优化,企业网站关键词技巧

网站关键词是给我们带来排名和流量的一个重要因素,所以关键词的优化对于我们的重要性我们也不在多说了。所以我们企业在做网站的时候对于关键词异地要明确,那么网站怎样优...

兼容ie8的浏览器有哪些(ie11永久设置ie8模式的方法)

现在电脑自带的系统里面一般都带了IE10或者IE9,但是有的网页必须是IE8才能打开,这个时候怎么办呢?其实很简单的哦,只要把IE10设置为IE8兼容模式就OK...

excel统计人名个数公式(excel对姓名进行计数)

Excel怎么快速统计出男女人数?我在需要统计Excel表格里有大量的人员,要如何快速统计出男女的人数?小Q来教您一个快速统计的方法。1、在Excel表格中使用...

产品盒子怎么摆放好看,盒子科技产品介绍

不知道大家平时买东西会不会单纯因为包装好看而掏腰包呢?没错,小编就是这种人,看到好看的东西就迈不开腿,即便是用不上的产品,也很想买。难不成是有钱任性?不,我只是...