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

文章目录前言1.引入依赖:2.代码实战:3.代理说明:总结序现在说到爬虫,都是python,类库丰富。如果你不懂java,学python爬虫比较靠谱,但这就代表java不会爬吗?不是,其实在某些场景下,java爬虫更方便易用。1.引入依赖性:其中,java crawler使用的是jsoup类库,jsoup提供...

文章目录

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

现在说到爬虫,都是python,类库丰富。如果你不懂java,学python爬虫比较靠谱,但这就代表java不会爬吗?不是,其实在某些场景下,java爬虫更方便易用。

1.引入依赖性:

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

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

2.代码实践:

案例1:
爬虫库存分析结果:

StockShow stockShow = new StockShow(); String doUrl = String.for***t("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()); }

案例二:
抓取学校信息:

Campus campus = new Campus(); String doUrl = String.for***t(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-pri***ry]"); 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");

3.代理描述:

第一种情况没有代理ip,可以直接抢。但一般情况下,我们抓取的网站都会设置反爬虫、屏蔽ip等。,所以我们必须设置代理ip。线上案例2使用蘑菇代理的代理隧道设置代理,效果不错,如果真的需要可以购买。

摘要

当然,我上面写的两个案例只是个例。其实dom的操作方法有很多种。如果要抓取,dom的基本操作肯定是需要的,还需要一些基本的html知识。如果想和我有更多的交流,关注我的微信官方账号:Java时光之家。

本文来自幻墨如烟投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/601536.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 06-21
下一篇 06-21

相关推荐

  • qq误删好友怎么恢复,qq一键恢复好友技巧

    QQ聊天时有没有误删好友?要不要再加他/她,但是不知道他/她的QQ号?要不要再去查他/她的空房间,被告知“你不是他/她的朋友”或者“他/她的空房间只对朋友开放”?那么如何恢复QQ上被删除的好友呢?目前QQ更新换代很快,所以本文仅供参考,因为随着QQ的更新,相应的一些功能

    2023-07-28 22:11:01
    815 0
  • 微信15天养号技巧的痛苦叫什么 附微信安全养号的注意事项

    新微信号的定义与区分注意:新微信账号被封的可能性会比较有限,所以后台会根据微信号的新状态给。不同的控制措施:新号:注册微信号不足3个,多年不用的微信号和换过装订机的微信号。编号:3注册微信号提高策略1.对于新注册的微信号,如果20天内没有安装插件,需要先留号。留号期

    2023-07-28 20:30:01
    861 0
  • 玩九宫格有什么技巧-快速数独解答法

    数独九宫格是一款非常益智的游戏,有助于大脑思考。九宫格的形式千变万化。接下来讲解数独九宫格的技巧,让你快速补齐。操作01公式:玩九宫格掌握一些公式很重要,比如& lsquo肩部2.4,脚部6.8,上9下1,左7右3 & rsquo总结一下,那就是& lsquo294、753、618 & rsquo。0202并集

    2023-07-28 15:18:01
    818 0
  • 如何做好微营销方案,微信营销方法和技巧

    这是30个最可靠的微营销技巧。学习它们比参加一些培训更有价值!只是有些技能可能会违背你的价值观。如果你不懂一个,你必须亲自尝试。写在前面有些技能可能会违背你的价值观,有些技能可能会把高个鬼脚拉下神坛,但没关系,我坦白告诉你……。1不要分心做多个号。

    2023-07-28 14:38:01
    851 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信