java爬虫抓取网页数据(是不是代表java就不能爬虫呢?案例分析案例总结!)
优采云 发布时间: 2021-11-11 07:07java爬虫抓取网页数据(是不是代表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());
}
案例2:
爬取学校信息:
3.代理描述:
情况1,不使用代理ip,直接抓包即可。但是一般情况下,我们抓取的网站会设置反爬虫、ip阻塞等,所以需要设置代理ip。在线案例2中,使用蘑菇代理的代理隧道的代理设置。还不错,确实需要的可以买。
总结
当然,我上面写的两个案例只是例子。其实操作dom的方法有很多种。如果要爬取,肯定需要dom的基本操作,还需要一些基本的html知识。如果想和我有更多的交流,可以关注我的公众号:Java Time House交流。