网络热门视频:鱼鱼子《木瓜奶跳舞抖球12v2.5g》收藏量高达197
鱼鱼子,一个名字听起来颇有趣味的女子,她以一种独特的方式在网络上走红...
2024-08-07
现在一提到爬虫都是python,类库比较丰富,如果不会java的同学,去学习python爬虫比较靠谱,但是那是不是代表java就不能爬虫呢?肯定不是的,事实上一些场景下,java爬虫使用起来更方便,更好用。
java当中爬虫使用的是jsoup的类库,jsoup提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据,让你请求网页后可以对网页进行dom操作达到爬虫的目的。
<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.3</version> </dependency>
案例一:
爬虫股票的分析结果:
StockShow stockShow = new StockShow(); String doUrl = String.format("url", stockCode); Document doc = null; try { doc = Jsoup.connect(doUrl).get(); Elements stockName = doc.select("div[class=stockname]"); Elements stockTotal = doc.select("div[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("div[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("div[class=page-header]").select("p");
案例一里面并没有使用代理ip,可以直接抓取。但是通常情况下,我们抓取的网站会设置反爬虫,封ip等,所以我们要设置代理ip,上线的案例2中使用的是蘑菇代理的代理隧道进行的代理设置,用起来还不错,如果确实需要可以进行购买。
当然我上面写的2个案例只是举例子,其实dom的操作还有很多种的方法,大家如果想要进行爬虫,dom的基本操作肯定是需要的,一些基本的html知识是需要的。如果你想跟我有更多的交流,关注我的公众号:Java时间屋 进行交流。
以上内容就是为大家推荐的java网络爬虫可以爬什么数据(免费分享java网络爬虫实战技巧)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题
内容来源于网络仅供参考版权声明:所有来源标注为小樱知识网www.cnfyy.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。
本文标题:java网络爬虫可以爬什么数据(免费分享java网络爬虫实战技巧)
本文地址:https://www.cnfyy.com/shcs/122795.html
相关文章
大家好,今天我要给大家介绍一部关于快手东方晴琴、大玉儿和钱宝宝(玉兔兔)的社保视频资源【83V 5.8G】...
2023-11-29
热点文章
2021年独生子女补贴新政策是真的吗(独生子女证有有效期吗)
2021年国庆节阅兵仪式几点开始几点结束(2021年国庆节还有阅兵吗)
鼠目寸光一点红是什么生肖动物(鼠目寸光一点红)指什么生肖,紧密
k0到k9的玩法大全(强制gc的玩法和注意事项)
入土为安是什么生肖《入土为安》打一个生肖动物,词语解释
浙江12月底全面停工是真的吗(浙江什么时候放假停工)
如何做t(t怎么把p做哭)
北京口碑最差的三甲医院(北京301医院最擅长什么)