分析要爬取目標(biāo)的網(wǎng)頁的網(wǎng)頁結(jié)構(gòu)與元素標(biāo)簽位置信息
任務(wù)回顧
1.爬取網(wǎng)頁:看準(zhǔn)網(wǎng) http://www.kanzhun.com
2.主要目的:爬取各公司的基礎(chǔ)信息,評分以及“數(shù)據(jù)分析”,“數(shù)據(jù)運營”等數(shù)據(jù)領(lǐng)域崗位的面經(jīng)
前期準(zhǔn)備
確定要爬取的詳細(xì)網(wǎng)頁。根據(jù)對數(shù)據(jù)的需求,確定要爬取的對象,即公司信息與數(shù)據(jù)相關(guān)的面經(jīng)信息;綜合根據(jù)看準(zhǔn)網(wǎng)的網(wǎng)頁結(jié)構(gòu),確定將“面試”導(dǎo)航欄作為數(shù)據(jù)爬取的入口,此時的網(wǎng)頁地址為:http://www.kanzhun.com/msh/?ka=head-interview
進(jìn)入新頁面后,可以看到如下布局的網(wǎng)頁頁面。除了與主頁面相同的導(dǎo)航欄外,新頁面中主要包括搜索欄,該搜索欄可以搜索感興趣的公司、職位等。
在搜索欄下是標(biāo)簽欄,不同的搜索內(nèi)容都有四個主要的導(dǎo)航方向,分別是公司、工資、招聘以及面試。分別從不同的角度提供相關(guān)的信息。
在這一步驟中,先嘗試輸入關(guān)鍵詞“數(shù)據(jù)分析”,此時的網(wǎng)頁地址為:http://www.kanzhun.com/interviewl/search/?stype=&q=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90 (網(wǎng)址等號后是“數(shù)據(jù)分析”的URL編碼格式)
在網(wǎng)頁左下方有“熱門公司”這一欄,分別按照熱度與面經(jīng)數(shù)量進(jìn)行降序顯示。根據(jù)本人對數(shù)據(jù)的需求(公司有熱度,所謂的大平臺),所以初步計劃是根據(jù)這一欄中公司的熱度從高到低爬取數(shù)據(jù)。
以熱度第一的公司百度為例,點進(jìn)公司鏈接,打開新頁面,此時的網(wǎng)頁地址為:http://www.kanzhun.com/gsm11514.html?q=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90&ka=select-hotcom-1 (select-hotcom-1 可理解為熱度第一的標(biāo)識)
熱度第二的阿里的網(wǎng)頁地址為:http://www.kanzhun.com/gsm9012.html?q=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90&ka=select-hotcom-2
可以初步看出兩個網(wǎng)頁地址主要的區(qū)別:除了熱度排行,還包括各公司網(wǎng)站主地址不同(如gsm11514.html與gsm9012.html)
所以之后的爬蟲方案可以初步設(shè)計為:爬取指定公司的數(shù)據(jù)。
網(wǎng)頁結(jié)構(gòu)
此時,已初步確定要爬取的鏈接。接下來主要對要爬取的網(wǎng)頁進(jìn)行網(wǎng)頁結(jié)構(gòu)分析。還是以百度為例。
從上圖中可以看到網(wǎng)頁的主要布局。第一個還是網(wǎng)頁的導(dǎo)航欄(包括搜索欄等),向下看是公司的基本信息,包括綜合評分、企業(yè)規(guī)模、企業(yè)性質(zhì)、平均工資等信息。再下面是標(biāo)簽欄,可以從不同的角度了解這家公司,當(dāng)然主要感興趣的還是面試哈。
然后是條件篩選欄,根據(jù)不同的地域和職位篩選想要的結(jié)果。再下側(cè)是主要的面經(jīng)專欄,此時顯示的是查詢“數(shù)據(jù)分析”職位的相關(guān)面試。右側(cè)是面試難度顯示欄。
完整的面經(jīng)欄如上圖所示。包括給出面經(jīng)的用戶,面試所在公司的崗位,面試地點,面經(jīng)內(nèi)容,同時顯示用戶對面試的個人評測結(jié)果。
html元素標(biāo)簽信息
根據(jù)chrome開發(fā)工具得到網(wǎng)頁的html完整信息。
#公司的圖片對應(yīng)的元素
<div class="banner_pic">
<div class="banner_logo">
<a ka="com-logo" href="/gso11514.html">#公司編號
#公司的圖片<span></span>
</a>
</div>
</div>
#公司基本信息
<div class="banner_word">
<div class="bw_company">
<h1>百度</h1>#公司的名稱
<em>
4.2</em>#公司綜合評分
<div class="star_box">
<i class="star"></i>
</div>
</div>
<div class="bw_explain">
<span>互聯(lián)網(wǎng)</span>#公司類型
<em class="line"></em><span>北京</span>#公司地址
<em class="line"></em><span>10000人以上</span>#公司規(guī)模</div>
<div class="bw_brief" id="view-profile" ka="com-detail-more">
全球最大的中文搜索引擎、最大的中文網(wǎng)站
<span class="more">more</span>#公司簡介
</div>
</div>
#關(guān)注數(shù)
<div class="banner_interest">
<span class="none"><em class="follow_num" data-num="9681">9681</em>關(guān)注</span>
<a href="javascript:" ka="company-header-follow" class="js-follow-company icon_guanzhu " data-url="/user/v3/follow.json" data-id="11514"></a>#關(guān)注的原數(shù)據(jù)
</div>
#公司詳情信息
<div class="com_it">
<section class="com_infor">
<div class="ci_left">
<span class="cil_perc">#好評比例
84
%
</span>
<span class="cil_num">#參與公司評價總?cè)藬?shù)
來自
8226
個員工
</span>
<span class="cil_rev"><a ka="percent-review-list" href="/gsr11514.html#co_tab" rel="nofollow">好評</a></span>
</div>
<div class="ci_center">

</div>
<div class="ci_right">
<span class="cir_perc">#平均月薪
9954</span>
<span class="cir_num">#參與月薪調(diào)查總?cè)藬?shù)
來自
12502
個員工
</span>
<span class="cir_rev"><a ka="percent-salary-list" href="/gsx11514.html#co_tab" rel="nofollow">元(平均月薪)</a></span>
</div>
</section>
<section id="co_tab" class="com_tab">
<div class="tab_ul">
<ul>#標(biāo)簽欄
<li><a ka="com-blocker1-overview" href="/gso11514.html#co_tab" title="百度介紹">主頁</a></li>
<li><a ka="com-blocker1-question" href="/question/company/11514/#co_tab" title="百度問答">問答</a></li>
<li><a ka="com-blocker1-review" href="/gsr11514.html#co_tab" title="百度怎么樣">點評</a></li>
<li><a ka="com-blocker1-interview" class="active" href="/gsm11514.html#co_tab" title="百度面試問題及面試流程">面試</a></li>
<li><a ka="com-blocker1-salary" href="/gsx11514.html#co_tab" title="百度工資待遇">工資</a></li>
<li><a ka="com-blocker1-job" href="/job/g11514.html" title="百度最新招聘信息">招聘</a></li>
</ul>
</div>
</section>
</div>
得到基本信息后,主要針對面經(jīng)信息進(jìn)行爬取。下面的html代碼為一些基本的元素信息。
#面試的基本信息
<a href="">
#頭像
</a>
<p class="f_14 grey_99 dd_bot">面試百度的<a target="_blank" ka="interview-name1" href="/interview/3626/" class="green">數(shù)據(jù)分析實習(xí)生</a>.北京</p>#面試公司、職位、地點
<a target="_blank" ka="interview-result-1" href="/gsmsh8189347.html">
<span class="feel_fail">面試未通過</span> #面試結(jié)果
</a>
<article>
<a href="/gsmsh8189347.html?ka=interview-detail1-1" ka="interview-detail1-1" target="_blank">
<h3 class="question_title">#面經(jīng)標(biāo)題
面試官很親切 數(shù)據(jù)分析崗位更愿意招收性格內(nèi)向的員工。</h3>
<p class="question_content">#面經(jīng)內(nèi)容
面試官很親切,雖然因為開會延遲了面試時間。崗位主要是數(shù)據(jù)分析...</p>
</a>
</article>
<div class="rdrc_center">#面試難度測評
<div>

<span class="grey_7a">我覺得面試有難度</span>
</div>
<div>

<span class="grey_7a">面試總體感覺很好</span>
</div>
</div>
階段總結(jié)
總體得到了初步的爬取方案,具體要爬取的頁面、關(guān)鍵的元素等等,可以為后序的爬蟲工作做準(zhǔn)備。
本文為 泰閣志-解密大數(shù)據(jù) 學(xué)習(xí)筆記,了解更多請關(guān)注微信“泰閣志”