爬蟲之路-1

2018/1/21 第一次 爬取拉鉤一級頁面

1. 分析拉勾網(wǎng)頁面

拉勾網(wǎng)頁面使用ajax技術(shù)蚕捉,so,頁面內(nèi)容在Chrome-檢查-XHR中哼凯,請求方式為post锉屈。

請求頭2-1

請求頭2-2

拉鉤不同頁面是怎樣加載的呢继阻?:
經(jīng)觀察后,拉鉤翻頁呐伞,pn變動敌卓,其余不變。所以可以看出要爬取不同頁面只需要改變pn的值即可伶氢。

2.Python爬取

  1. 拉勾網(wǎng)請求方式為post趟径,所以使用requests包中的post方式瘪吏。
  2. 拉鉤加入了反爬機制,所以要requests中需加請求頭蜗巧,以盡量偽裝成瀏覽器發(fā)送請求掌眠。代碼如下:
c=[]
# 用for方法遍歷所有pn值,即所有網(wǎng)頁幕屹。
for x in range(1,31):
    url='https://www.lagou.com/jobs/positionAjax.json?px=default&needAddtionalResult=false&isSchoolJob=0'
#此處調(diào)用了一個uuid包蓝丙,來模擬cookie
 def get_uuid():
        return str(uuid.uuid4())
    cookie = "JSESSIONID=" + get_uuid() + ";" 
    #設(shè)置請求頭
    headers={
            #之前設(shè)置好的動態(tài)cookie
            'cookie': cookie,
            'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36',
            'Accept':'application/json, text/javascript, */*; q=0.01',
            'Accept-Encoding':'gzip, deflate, br',
            'Accept-Language':'zh-CN,zh;q=0.9',
            'Connection':'keep-alive',
            'Host':'www.lagou.com',
            'Origin':'https://www.lagou.com',
            'Referer':'https://www.lagou.com/jobs/list_bi%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86?px=default&city=%E5%85%A8%E5%9B%BD'
            }
#設(shè)置頁面請求條件
Data={
    'first':'true',
    'pn':1,
    'kd':'bi產(chǎn)品經(jīng)理'
    }
# 用requests的post方法抓取網(wǎng)頁。抓取出的為json格式望拖,用該包json方法轉(zhuǎn)換渺尘,并下鉆字典.抓取出數(shù)據(jù)
c.append(requests.post(url,headers=headers,data=Data).json()['content']['positionResult']['result'])

注意:拉鉤網(wǎng)需要設(shè)置動態(tài)cookie,從而避免被封禁IP

3. 保存數(shù)據(jù)

保存數(shù)據(jù)使用pandas包來建立一個數(shù)據(jù)框:
由上代碼可知说敏,最后c是一個包裹了多個字典的列表鸥跟,通過以下代碼將字典轉(zhuǎn)化為數(shù)據(jù)框,字典的鍵值變?yōu)榱兴饕瑅alues值變?yōu)閿?shù)據(jù)框內(nèi)的觀察值医咨,從而最后導(dǎo)出為csv。

pd.DataFrame(c)

4. 總結(jié)

4.1 爬取網(wǎng)頁注意點

  1. 偽裝請求:headers的設(shè)置
    • user-agent必須要設(shè)置迅诬,可在瀏覽器版本信息中查找,也可在頁面請求頭中查找
    • cookie的設(shè)置可以從uuid中偽裝動態(tài)cookie
    • 本文中沒提到的referer應(yīng)該也可以使用婿牍。(referer是指從哪個頁面跳轉(zhuǎn)而來)
    • 設(shè)置間隔時間侈贷?避免請求過快被封禁IP
  2. 多頁循環(huán)爬取:for循環(huán)
    • 分析頁面,找出分頁加載的不同之處等脂,從而進行for循環(huán)
    • for每循環(huán)一次俏蛮,即要儲存一次接下來方便解析的數(shù)據(jù),這里使用列表append方法

4.2 需加強知識點

  1. 全自動化輸出數(shù)據(jù)
    • 此代碼尚是一個半成品:正常的應(yīng)是輸入一個網(wǎng)址上遥,返回一系列數(shù)據(jù)搏屑。此代碼需要一步一步操作。
      解決方法:將代碼包裝成一個自定義函數(shù)粉楚,輸入url辣恋,返回數(shù)據(jù)。
  2. list與dict的使用不熟練
  3. 爬蟲偽裝不夠充分:cookie偽裝需再加學習模软。補充其它偽裝方法伟骨。

5. 接下來要做的事

  1. 爬取拉鉤二級頁面
  2. 創(chuàng)建函數(shù),全自動化燃异。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末携狭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子回俐,更是在濱河造成了極大的恐慌逛腿,老刑警劉巖稀并,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異单默,居然都是意外死亡碘举,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門雕凹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殴俱,“玉大人,你說我怎么就攤上這事枚抵∠哂” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵汽摹,是天一觀的道長李丰。 經(jīng)常有香客問我,道長逼泣,這世上最難降的妖魔是什么趴泌? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮拉庶,結(jié)果婚禮上嗜憔,老公的妹妹穿的比我還像新娘。我一直安慰自己氏仗,他們只是感情好吉捶,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著皆尔,像睡著了一般呐舔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上慷蠕,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天珊拼,我揣著相機與錄音,去河邊找鬼流炕。 笑死澎现,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的每辟。 我是一名探鬼主播昔头,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼影兽!你這毒婦竟也來了揭斧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎讹开,沒想到半個月后盅视,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡旦万,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年闹击,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片成艘。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡赏半,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出淆两,到底是詐尸還是另有隱情断箫,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布秋冰,位于F島的核電站仲义,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏剑勾。R本人自食惡果不足惜埃撵,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望虽另。 院中可真熱鬧暂刘,春花似錦、人聲如沸捂刺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叠萍。三九已至芝发,卻和暖如春绪商,著一層夾襖步出監(jiān)牢的瞬間苛谷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工格郁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腹殿,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓例书,卻偏偏與公主長得像锣尉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子决采,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理自沧,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,701評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,283評論 25 707
  • 基礎(chǔ)知識 HTTP協(xié)議 我們?yōu)g覽網(wǎng)頁的瀏覽器和手機應(yīng)用客戶端與服務(wù)器通信幾乎都是基于HTTP協(xié)議拇厢,而爬蟲可以看作是...
    腩啵兔子閱讀 1,490評論 0 17
  • 那天坐順風車爱谁,跟我年齡相仿的司機突然提到了漂泊。他是順義本地人孝偎,由于當?shù)仄髽I(yè)還算多访敌,許多人都不愿意走出順義...
    檸檬成汁閱讀 208評論 0 1
  • 來工地工作馬上滿七年了,當同學畢業(yè)后都扎進辦公室衣盾,空調(diào)房
    遼陽第一鴿子王閱讀 254評論 0 0