现在一提到爬虫都是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.lect("div[class=stockname]"); elements stocktotal = doc.lect("div[class=stocktotal]"); elements shortst蟾蜍吃蛇r = doc.lect("li[class=short]"); elements midstr = doc.lect("li[class=mid]"); elements longstr = doc.lect("li[class=long]"); elements stocktype = doc.lect("div[class=value_bar]").lect("span[class=cur]"); stockshow.tstockname(stockname.get(0).text()); stockshow.tstocktotal(stocktotal.get(0).text().split(":")[1]); stockshow.tshortstr(shortstr.get(0).text().split(":")[1]); stockshow.tmidstr(midstr.get(0).text().split(":")[1]); stockshow.tlongstr(longstr.get(0).text().split(":")[1]); stockshow.tstocktype(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.impty(arg.getip())){ 现实又很扎心的句子 arg.tip("transfer.moguproxy.com"); arg.tport(9001); } try { httpsutil.trusteveryone(); rand杜牧的古诗om 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").uragent(ua[random]).timeout(30000); doc = conn.get(); elements names = doc.lect("a[class=btn btn-xs btn-primary]"); elements type = doc.lect("a[class=campus_type_fix_b link_now_active]");// doc.lect("ol[class=breadcrumb]").lect("li").get(4).text() elements campusname = doc.lect("ol[class=breadcrumb]").lect("li"); elements addressandtel = doc.lect("div[class=page-header]").lect("p");
案例一里面并没有使用代理ip,可以直接抓取。但是通常情况下,我们抓取的网站会设置反爬虫,封ip等,所以我们要设置代理ip,上线的案例2中使用的是蘑菇代理的代理隧道进行的代理设置,用起来还不错,如果确实需要可以进行购买。
当然我上面写的2个案例只是举例子,其实dom的操作还有很多种的方法,大家如果想要进行爬虫,dom的基本操作肯定是需要的,一些基本的html知识是需要的。如果你想跟我有更多的交流,关注我的公众号:java时间屋 进行交流。
本文发布于:2023-04-05 04:45:29,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/093cbad885c7e899e7ca11d385912c09.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:java网络爬虫可以爬什么数据(免费分享java网络爬虫实战技巧).doc
本文 PDF 下载地址:java网络爬虫可以爬什么数据(免费分享java网络爬虫实战技巧).pdf
留言与评论(共有 0 条评论) |