假設(shè)你需要獲取51job人才網(wǎng)上java人才的需求數(shù)量,首先你需要分析51job網(wǎng)站的搜索這一塊是怎么運(yùn)作的,通過解析網(wǎng)頁的源代碼,我們發(fā)現(xiàn)了以下一些信息: 1. 搜索時(shí)頁面請(qǐng)求的URL是 http://search.51job.com/jobsearch/search_result.php 2. 請(qǐng)求所用的方法為:POST 3. 返回的頁面的編碼格式為:GBK 4. 假設(shè)我們想獲取搜索java人才時(shí)結(jié)果頁面中顯示的需求數(shù)量,我們發(fā)現(xiàn)數(shù)量位于返回的HTML數(shù)據(jù)中這樣的一段代碼之中:<td>1-30 / 14794</td>,于是我們可以得到這樣的一個(gè)模式:".+1-\d+ / (\d+).+",第一個(gè)分組的內(nèi)容就是我們需要的最終數(shù)據(jù),有關(guān)java中的模式,請(qǐng)參考java文檔中Pattern類的介紹 5. 另外做為POST請(qǐng)求,頁面向服務(wù)器發(fā)送的數(shù)據(jù)如下(這個(gè)很容易能過prototype這樣的js框架抓取到,參考我的其它博客介紹):lang=c& amp; amp;stype=1&postchannel=0000&fromType=1&line=&keywordtype=2&keyword=java&btnJobarea=%E9%80%89%E6%8B%A9%E5%9C%B0%E5%8C%BA&jobarea=0000&image=&btnFuntype=%E9%80%89%E6%8B%A9%2F%E4%BF%AE%E6%94%B9&funtype=0000&btnIndustrytype=%E9%80%89%E6%8B%A9%2F%E4%BF%AE%E6%94%B9&industrytype=00 對(duì)于第5條中的數(shù)據(jù)哪些是服務(wù)器真正需要的我們不管,全部發(fā)送過去就是了。有了這些準(zhǔn)備,我們就可以真正開始通過java發(fā)送請(qǐng)求,并獲得最終數(shù)據(jù)了。
我們定義Resource類,這個(gè)類封裝所有的與請(qǐng)求有關(guān)的信息,Resource包括以下屬性:
posts - 9, comments - 24, trackbacks - 0, articles - 0
Copyright © terryxue