免费分享java网络爬虫实战技巧 java网络爬虫可以爬什么数据
文章目录
- 前言
- 1.引入依赖:
- 2.代码实战:
- 3.代理说明:
- 总结
1.引入依赖:java当中爬虫使用的是jsoup的类库,jsoup提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据,让你请求网页后可以对网页进行dom操作达到爬虫的目的 。
【免费分享java网络爬虫实战技巧 java网络爬虫可以爬什么数据】
<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("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");
3.代理说明:案例一里面并没有使用代理ip,可以直接抓取 。但是通常情况下,我们抓取的网站会设置反爬虫,封ip等,所以我们要设置代理ip,上线的案例2中使用的是蘑菇代理的代理隧道进行的代理设置,用起来还不错,如果确实需要可以进行购买 。总结当然我上面写的2个案例只是举例子,其实dom的操作还有很多种的方法,大家如果想要进行爬虫,dom的基本操作肯定是需要的,一些基本的html知识是需要的 。如果你想跟我有更多的交流,关注我的公众号:Java时间屋 进行交流 。
推荐阅读
- 深入分析Java数据类型 Java的八大基本数据类型
- 免费加人的软件神器 微信加人最有效的方法
- 分享拼多多运营模式详解 拼多多怎么拼单买东西
- 马蹄红薯粥的做法 马蹄红薯粥的做法分享
- 分享python接口自动化框架有哪些 python自动化框架搭建过程
- 怎么查4S保养记录 汽车保养记录查看方法分享
- 四级残疾证乘公交车和地铁免费吗 上海呢
- 一键还原系统全面教程分享 电脑一键还原系统怎么用
- 怎么免费领888点券的皮肤 了解获得技巧
- 分享ps仿制图章工具应用 ps仿制图章怎么调大小