java爬虫抓取网页数据(是不是代表java就不能爬虫呢?案例分析案例总结!)
优采云 发布时间: 2022-02-03 08:10java爬虫抓取网页数据(是不是代表java就不能爬虫呢?案例分析案例总结!)
文章目录摘要前言
现在提到爬虫都是python,类库比较丰富。不懂java的话,学python爬虫比较靠谱,但是那是不是说java不会爬呢?当然不是。事实上,在某些场景下,java爬虫更加方便易用。
1.引入依赖:
java中的爬虫使用jsoup类库。jsoup提供了一个非常省力的API,可以通过DOM、CSS以及类似jQuery的操作方式来检索和操作数据,这样就可以在请求网页后对网页进行dom操作。达到爬虫目的。
org.jsoup
jsoup
1.10.3
2.代码实战:
案例一:
履带股分析结果:
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());
}
案例二:
获取学校信息:
3.代理说明:
情况1,不使用代理ip,直接抓取即可。但是通常情况下,我们抓取的网站会设置反爬虫、拦截ip等,所以我们需要设置代理ip。网上案例2,使用的是蘑菇代理的代理隧道的代理设置。还不错,如果真的需要,可以买。
总结
当然,我上面写的两个案例只是例子。事实上,操作 DOM 的方法有很多种。如果要爬,肯定需要DOM的基本操作,还需要一些基本的html知识。如果你想和我有更多的交流,可以关注我的公众号:Java Time House进行交流。