編輯:關於Android編程
jsoup的強大之處在這裡就不多說,最近在寫項目,需要爬取網頁上的內容,自然想到的是利用Jsoup來處理,項目中是利用Jsoup爬取學校信息門戶的新聞消息,然後放進客戶端
網頁的html代碼如下
<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋體; FONT-SIZE: 16px">8</span><span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋體; FONT-SIZE: 16px">月30日,日照市常務副市長王斌一行人來我校進行調研。校長戚萬學,副校長康淑敏、楊冰等熱情接待了王斌一行。校區管理辦公室、學生工作辦公室等相關負責人參加了座談。</span><p></p><p style="LINE-HEIGHT: 150%; TEXT-INDENT: 32px"><span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋體; FONT-SIZE: 16px">王斌表示,曲阜師范大學有深厚的文化與學術底蘊,形成了獨具特色的辦學傳統與學科優勢,為服務日照、校地合作積極創造條件,建立校地資源共享、共同合作的良性渠道,為日照市社會發展做出了重要貢獻,為日照市文化經濟發展提供了支持,實現了社會建設的人才保障。</span></p><p style="LINE-HEIGHT: 150%; TEXT-INDENT: 32px"><span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋體; FONT-SIZE: 16px">戚萬學對日照市委市政府給予的支持和幫助表示了感謝,並表明我校將進一步提高辦學層次、加強人才培養,大力促進校地、校企合作,為日照市輸送更多的優秀人才,實現學校建設與社會發展的共贏。我們將本著資源共享、互惠共贏的原則,以項目(課題)為紐帶、整合學科資源、發揮人才優勢與日照市加強合作和交流,為新絲綢之路經濟帶建設與發展做出貢獻。</span></p><p style="LINE-HEIGHT: 150%; TEXT-INDENT: 32px"><span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋體; FONT-SIZE: 16px">(</span><span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋體; FONT-SIZE: 16px">作者:李艷梅 來源:校區管理辦公室 編輯:校區管理辦公室 責編:孫琪)</span></p><p></p>項目中,需要爬取出新聞中的圖片超鏈接,還有新聞文字內容,功能代碼如下,、由於每個新聞中圖片的超鏈接數目不一定一樣,防止java向外拋異常,需要自己try-catch處理
private static void getItemContent() { // TODO Auto-generated method stub Document doc ; try { doc = Jsoup.connect("http://www.qfnu.edu.cnhttp://blog.csdn.net/html/xxyw/2016/09/02/d6f4656a-7349-4632-8634-27d30daaf3ad.html").get(); Elements listClass = doc.getElementsByAttributeValue("class", "zw_content"); String url2; for (Element listItem : listClass){ String url1 = listItem.getElementsByTag("img").get(0).attr("src"); try{ url2= listItem.getElementsByTag("img").get(1).attr("src"); }catch(Exception e){ url2="1111"; } String text = listItem.getElementsByTag("span").text(); System.out.println(text); System.out.println(url1); System.out.println(url2); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
8 月30日,日照市常務副市長王斌一行人來我校進行調研。校長戚萬學,副校長康淑敏、楊冰等熱情接待了王斌一行。校區管理辦公室、學生工作辦公室等相關負責人參加了座談。 王斌表示,曲阜師范大學有深厚的文化與學術底蘊,形成了獨具特色的辦學傳統與學科優勢,為服務日照、校地合作積極創造條件,建立校地資源共享、共同合作的良性渠道,為日照市社會發展做出了重要貢獻,為日照市文化經濟發展提供了支持,實現了社會建設的人才保障。 戚萬學對日照市委市政府給予的支持和幫助表示了感謝,並表明我校將進一步提高辦學層次、加強人才培養,大力促進校地、校企合作,為日照市輸送更多的優秀人才,實現學校建設與社會發展的共贏。我們將本著資源共享、互惠共贏的原則,以項目(課題)為紐帶、整合學科資源、發揮人才優勢與日照市加強合作和交流,為新絲綢之路經濟帶建設與發展做出貢獻。 ( 作者:李艷梅? 來源:校區管理辦公室? 編輯:校區管理辦公室? 責編:孫琪)
/uploadfile/2016/0905/20160905095553545.jpg //第一個圖片的超鏈接
1111 //如果沒有第二個圖片,側打印自定義的URl
同樣需要爬取到html代碼中的新聞標題,圖片超鏈接,由於圖片的超鏈接跟標題跟文章內容的url不在一個標簽下,所以在Elements節點需要向上抽取一層,在內層分別做不同的處理
java代碼如下
private static void getContent() { // TODO Auto-generated method stub Document doc; try { doc=Jsoup.connect("http://www.qfnu.edu.cn/").get(); Elements listClass = doc.getElementsByAttributeValue("class", "news-1-lists"); for(Element listElement : listClass){ Elements listName = listElement.getElementsByTag("li"); for(Element element : listName){ //img標簽下的數據 String title =element.getElementsByTag("img").attr("title"); String url =element.getElementsByTag("img").attr("src"); //文章鏈接在a標簽下,需要單獨處理 String content = element.getElementsByTag("a").attr("href"); System.out.println(title+"http://www.qfnu.edu.cn"+url+"文章地址"+content); } } // System.out.println(listClass); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
爬取的結果如下
我校在山東高校思政課講課大賽中斬獲佳績http://www.qfnu.edu.cn/uploadfile/2016/0905/20160905095553241.jpg文章地址http://blog.csdn.net/html/xxyw/2016/09/02/4648a396-c778-4116-ae79-6e61039ad9a3.html
日照市常務副市長王斌一行來我校調研http://www.qfnu.edu.cn/uploadfile/2016/0905/20160905095553545.jpg文章地址http://blog.csdn.net/html/xxyw/2016/09/02/d6f4656a-7349-4632-8634-27d30daaf3ad.html
我校與濟寧高新區簽署共建大學生創業孵化基地協議http://www.qfnu.edu.cn/uploadfile/2016/0905/20160905095554664.jpg文章地址http://blog.csdn.net/html/xxyw/2016/09/01/b457fe77-7bdc-4430-a7a2-d58e4c1101bf.html
學校對科研實驗室安全檢查工作做出部署http://www.qfnu.edu.cn/uploadfile/2016/0905/20160905095554660.jpg文章地址http://blog.csdn.net/html/xxyw/2016/08/31/a0ead4f5-79fe-4e7c-bdf7-4fef9336de30.html
學校領導深入各單位檢查新學期開學工作http://www.qfnu.edu.cn/uploadfile/2016/0905/20160905095554357.jpg文章地址http://blog.csdn.net/html/xxyw/2016/08/30/d77063c3-8c70-4386-be04-4cb806856332.html
我校在全國高等院校健身氣功賽中獲佳績http://www.qfnu.edu.cn/uploadfile/2016/0905/20160905095554406.jpg文章地址http://blog.csdn.net/html/xxyw/2016/08/30/056dfcb5-ca75-495e-a103-fe426f0a9ff4.html
校長戚萬學會見新西蘭客人http://www.qfnu.edu.cn/uploadfile/2016/0905/20160905095554528.jpg文章地址http://blog.csdn.net/html/xxyw/2016/08/30/aa9a0b89-2487-4a8b-ae18-bae1b54facae.html
我校學生在全國大學生物理教學技能展示中獲驕人成績http://www.qfnu.edu.cn/uploadfile/2016/0905/20160905095554175.jpg文章地址http://blog.csdn.net/html/xxyw/2016/08/29/4698415f-0656-42de-a2d5-3e339f721840.html
2016年算子代數研討會召開http://www.qfnu.edu.cn/uploadfile/2016/0905/20160905095554399.jpg文章地址http://blog.csdn.net/html/xxyw/2016/08/29/e378f047-0a90-4a4b-87f1-0154adfdbf62.html
我校2016年暑期干部學習班成功舉行http://www.qfnu.edu.cn/uploadfile/2016/0905/20160905095554314.jpg文章地址http://blog.csdn.net/html/xxyw/2016/08/28/95986304-7e98-4f5c-942b-30d551f5d4b2.html
雖然,Android提供了多種多樣的可重用輕量級的交互元素(如:TextView 等控件),但是你可能也想重用一些相對較大的特殊布局xml。為了有效的重用布局文件,你可以
前言好幾個月之前關於Android App熱補丁修復火了一把,源於QQ空間團隊的一篇文章安卓App熱補丁動態修復技術介紹,然後各大廠的開源項目都出來了,本文的實踐基於Ho
本文實例講述了Android改變手機屏幕朝向的方法。分享給大家供大家參考。具體如下:模擬當點擊按鈕時,使手機朝向發生改變。main.xml布局文件:<?xm
效果圖思路首先我們來分析一下實現九宮格解鎖的思路:當用戶的手指觸摸到某一個點時,先判斷該點是否在九宮格的某一格范圍之內,若在范圍內,則該格變成選中的狀態;之後用戶手指滑動