Jsoup解析html實(shí)現(xiàn)招聘信息查詢功能
jsoup 是一款 Java 的 HTML 解析器,可直接解析某個(gè) URL 地址、HTML 文本內(nèi)容。它提供了一套非常省力的 API,可通過 DOM,CSS 以及類似于 jQuery 的操作方法來取出和操作數(shù)據(jù)。
下面是招聘網(wǎng)站的html信息:
<div class="newlist_list_content" id="newlist_list_content_table"> <table width="853" class="newlist" cellpadding="0" cellspacing="0"> <tbody> <tr> <th class="zwmc"><span>職位名稱</span></th> <th class="gsmc">公司名稱</th> <th class="zwyx">職位月薪</th> <th class="gzdd">工作地點(diǎn)</th> <th class="gxsj">發(fā)布日期</th> </tr> </tbody> </table> <table cellpadding="0" cellspacing="0" width="853" class="newlist"> <tbody> <tr> <td class="zwmc"> <input type="checkbox" name="vacancyid" value="CC415107716J90250224000_635_1_03_201__1_" onclick="zlapply.uncheckAll('allvacancyid')" /> <div style="width:300px;float:left"> <a style="font-weight: bold" par="ssidkey=y&ss=201&ff=03" rel="external nofollow" target="_blank">Android 開發(fā)工程師</a> </div> </td> <td class="gsmc"><a rel="external nofollow" target="_blank">南京天洑軟件有限公司</a></td> <td class="zwyx">面議</td> <td class="gzdd">南京</td> <td class="gxsj"><span>10-24</span><a class="newlist_list_xlbtn" href="javascript:;" rel="external nofollow" ></a></td> </tr> <tr style="display: none" class="newlist_tr_detail"> <td width="833px" style="line-height: 0;" colspan="5"> <div class="newlist_detail"> <div class="clearfix"> <ul> <li class="newlist_deatil_two"><span>地點(diǎn):南京</span><span>公司性質(zhì):民營(yíng)</span><span>公司規(guī)模:20-99人</span><span>經(jīng)驗(yàn):1-3年</span><span>學(xué)歷:大專</span></li> <li class="newlist_deatil_last"> 崗位職責(zé): 1、根據(jù)需求,基于Android平臺(tái)進(jìn)行程序開發(fā); 2、根據(jù)產(chǎn)品功能模塊設(shè)計(jì),編碼實(shí)現(xiàn)各模塊功能,并確保開發(fā)質(zhì)量; 3、編寫相關(guān)的開發(fā)文檔。 任職要求: 1、大專以上學(xué)歷, 計(jì)算機(jī)或相關(guān)專業(yè)者優(yōu)先; 2、2年以上<b>Android開發(fā)</b>經(jīng)驗(yàn); 3、熟悉Java編...</li> </ul> <dl> <dt> <a href="javascript:void(0)" rel="external nofollow" onclick="return zlapply.searchjob.ajaxApplyBrig1('CC415107716J90250224000_635','ssi','_1_03_201__2_')"> <img src="/assets/images/newlist_sqimg_03.jpg" /> </a> </dt> <dd> <a href="javascript:zlapply.searchjob.saveOne('CC415107716J90250224000_635')" rel="external nofollow" ><img src="/assets/images/newlist_scimg_06.jpg" /></a> </dd> </dl> </div> </div> </td> </tr> </tbody> </table>
下面使用 jsoup解析html獲取招聘信息:
public static List<HtmlFeed> parse(String html) { Document doc = Jsoup.parse(html); Elements elements = doc.getElementsByClass("newlist").select("tr"); List<HtmlFeed> list=new ArrayList<HtmlFeed>(); for (Element ele : elements) { if (!ele.select("td").toString().equals("")) { String job_url = ele.getElementsByClass("zwmc").select("a").attr("href"); String job = ele.getElementsByClass("zwmc").text(); String company = ele.getElementsByClass("gsmc").text(); String addr = ele.getElementsByClass("gzdd").text(); String date = ele.getElementsByClass("gxsj").text(); HtmlFeed feed = new HtmlFeed(); if (!job_url.toString().equals("")&&!job.toString().equals ("")&&!addr.toString().equals("")&&!company.toString().equals("")&&!date.toString().equals("")) { feed.setJob_url(job_url.toString()); feed.setJob(job.toString()); feed.setAddr(addr.toString()); feed.setCompany(company.toString()); feed.setDate(date.toString()); list.add(feed); } } } return list; }
效果圖如下:
效果圖如下:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- android Jsoup獲取網(wǎng)站內(nèi)容 android獲取新聞標(biāo)題實(shí)例
- android使用Jsoup 抓取頁(yè)面的數(shù)據(jù)
- Android開發(fā)之利用jsoup解析HTML頁(yè)面的方法
- Java實(shí)現(xiàn)爬蟲給App提供數(shù)據(jù)(Jsoup 網(wǎng)絡(luò)爬蟲)
- Android使用Jsoup解析Html表格的方法
- Java中使用開源庫(kù)JSoup解析HTML文件實(shí)例
- crawler4j抓取頁(yè)面使用jsoup解析html時(shí)的解決方法
- Jsoup解析HTML實(shí)例及文檔方法詳解
相關(guān)文章
詳解MyBatis開發(fā)Dao層的兩種方式(Mapper動(dòng)態(tài)代理方式)
這篇文章主要介紹了詳解MyBatis開發(fā)Dao層的兩種方式(Mapper動(dòng)態(tài)代理方式),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12java 實(shí)現(xiàn)漢諾塔詳解及實(shí)現(xiàn)代碼
這篇文章主要介紹了java 實(shí)現(xiàn)漢諾塔詳解及實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-04-04深入理解Netty?FastThreadLocal優(yōu)缺點(diǎn)及實(shí)現(xiàn)邏輯
本文以線上詭異問題為切入點(diǎn),通過對(duì)比JDK ThreadLocal和Netty FastThreadLocal實(shí)現(xiàn)邏輯以及優(yōu)缺點(diǎn),并深入解讀源碼,由淺入深理解Netty FastThreadLocal2023-10-10java判斷一個(gè)文件是否為二進(jìn)制文件的方法
這篇文章主要介紹了java判斷一個(gè)文件是否為二進(jìn)制文件的方法,涉及java針對(duì)文件的讀取及編碼判斷技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07Maven設(shè)置使用自定義的jar包到自己本地倉(cāng)庫(kù)
今天小編就為大家分享一篇關(guān)于Maven設(shè)置使用自定義的jar包到自己本地倉(cāng)庫(kù)的文章,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10Java使用路徑通配符加載Resource與profiles配置使用詳解
這篇文章主要介紹了Java使用路徑通配符加載Resource與profiles配置使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06SpringBoot整合Shiro的環(huán)境搭建教程
這篇文章主要為大家詳細(xì)介紹了SpringBoot整合Shiro的環(huán)境搭建教程,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2022-12-12