摘要:如果想這樣解析頁面獲取數(shù)據(jù)有以下幾個(gè)問題職位列表最多只有頁職位關(guān)鍵信息獲取不全比如一個(gè)職位的地點(diǎn)應(yīng)該屬于市區(qū)商區(qū)樓,這種信息只靠解析頁面是獲取不全的。
前期準(zhǔn)備
Don"t be evil!
主要就是分析需要抓取的頁面,或許會(huì)有意外驚喜,直接找到獲取數(shù)據(jù)的接口。
首選打開拉鉤網(wǎng)首頁,發(fā)現(xiàn)一個(gè)職位至少有一個(gè)一級(jí)分類、二級(jí)分類和一個(gè)標(biāo)簽。比如需要點(diǎn)擊查找Java相關(guān)的職位,需要找到技術(shù)、后端開發(fā),然后點(diǎn)擊Java,才能獲取Java相關(guān)的職位列表。
職位列表就可以得到很多的關(guān)于職位的信息了,如職位名稱、公司名稱、公司logo、所屬行政區(qū)、商區(qū)等信息,但是需要提取這些信息的時(shí)候,xpath會(huì)讓人寫的很頭疼。
如果想這樣解析頁面獲取數(shù)據(jù)有以下幾個(gè)問題:
職位列表最多只有30頁
職位關(guān)鍵信息獲取不全
比如一個(gè)職位的地點(diǎn)應(yīng)該屬于XX市XX區(qū)XX商區(qū)XX樓,這種信息只靠解析頁面是獲取不全的。不過當(dāng)點(diǎn)擊城市的時(shí)候,查看發(fā)送的網(wǎng)絡(luò)請(qǐng)求,可以發(fā)現(xiàn)一個(gè)可喜的接口,這個(gè)接口將會(huì)返回一個(gè)職位列表的json數(shù)據(jù)。
但是因?yàn)闉榱朔乐古老x調(diào)用這個(gè)接口,使用接口的時(shí)候必須要帶上cookie。訪問首頁的時(shí)候,會(huì)獲取部分cookie值,但是唯獨(dú)沒有SEARCH_ID這個(gè)值。
但是這個(gè)cookie不是平白無辜的產(chǎn)生的,想想調(diào)用這個(gè)接口的頁面入口,觀察response的header,會(huì)發(fā)現(xiàn)有Set-Cookie:SEARCH_ID=7587e152a3b14eec8bb0f29e774e4094; Version=1; Max-Age=86400; Expires=Sun, 26-Feb-2017 17:16:05 GMT; Path=/。
這樣前期的準(zhǔn)備工作就完成了,可以開始編碼了。
開始編碼通過前期分析,可以發(fā)現(xiàn)需要做這么幾項(xiàng)工作:
訪問首頁和職位過濾頁面獲取cookie
帶上cookie調(diào)用接口
具體的流程:
訪問首頁,獲取所有職位的標(biāo)簽
按城市調(diào)用接口,同時(shí)獲取所有cookie
保存數(shù)據(jù)
所以需要一些工具。
動(dòng)態(tài)加載頁面和獲取cookie:
Selenium with Python
PhantomJS
帶上cookie調(diào)用接口:
Requests: HTTP for Humans
源碼
結(jié)果抓取的總量(已經(jīng)將數(shù)據(jù)保存在mongodb中了):
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38454.html
摘要:蠻荒時(shí)代遇到加密的網(wǎng)頁爬取是將混淆之后的加密代碼強(qiáng)行還原為代碼,很累現(xiàn)在有了這個(gè)方便的庫,能夠輕松很多,轉(zhuǎn)工具移動(dòng)端抓取替代網(wǎng)頁端不少網(wǎng)站移動(dòng)端的接口訪問比網(wǎng)頁端簡(jiǎn)單多,反爬也弱一些,比如拉鉤網(wǎng)。什么是爬蟲 用我自己的話來總結(jié)就是通過模擬客戶端訪問服務(wù)器獲取數(shù)據(jù)的工具。爬蟲的簡(jiǎn)易模型如下: showImg(https://user-gold-cdn.xitu.io/2019/5/22/16a...
摘要:微信知乎新浪等主流網(wǎng)站的模擬登陸爬取方法摘要微信知乎新浪等主流網(wǎng)站的模擬登陸爬取方法。先說說很難爬的知乎,假如我們想爬取知乎主頁的內(nèi)容,就必須要先登陸才能爬,不然看不到這個(gè)界面。圖片描述知乎需要手機(jī)號(hào)才能注冊(cè)登陸。 微信、知乎、新浪等主流網(wǎng)站的模擬登陸爬取方法摘要:微信、知乎、新浪等主流網(wǎng)站的模擬登陸爬取方法。 網(wǎng)絡(luò)上有形形色色的網(wǎng)站,不同類型的網(wǎng)站爬蟲策略不同,難易程度也不一樣。從是...
摘要:爬蟲又一個(gè)爬蟲實(shí)現(xiàn)原文簡(jiǎn)介小強(qiáng)當(dāng)時(shí)不知道為啥選了這么個(gè)名字,又長(zhǎng)又難記,導(dǎo)致編碼的過程中因?yàn)閱卧~的拼寫問題耽誤了好長(zhǎng)時(shí)間。我是一個(gè)小強(qiáng)爬蟲線程數(shù)健壯說到健壯,這里主要體現(xiàn)在以下幾個(gè)方面應(yīng)對(duì)封鎖這里我們使用動(dòng)態(tài)代理來解決這個(gè)問題。 cockroach 爬蟲:又一個(gè) java 爬蟲實(shí)現(xiàn) 原文 簡(jiǎn)介 cockroach[小強(qiáng)] 當(dāng)時(shí)不知道為啥選了這么個(gè)名字,又長(zhǎng)又難記,導(dǎo)致編碼的過程中因?yàn)閱?..
摘要:成功爬取了拉鉤網(wǎng)上多個(gè)招聘崗位的具體信息后,數(shù)據(jù)可視化并得出分析結(jié)果如下從整體看,北上廣深杭這五個(gè)城市前端工程師招聘崗位,北京是遙遙領(lǐng)先,是深圳的兩倍,是廣州的三倍,其次到上海,深圳,杭州,廣州居末。 前前言 本文首發(fā)于 github blog 不想看爬蟲過程只想看職位錢途數(shù)據(jù)分析請(qǐng)看這里:前端招聘崗位分析C++招聘崗位分析JAVA招聘崗位分析PHP招聘崗位分析Python招聘崗位分析...
摘要:爬蟲爬蟲又稱網(wǎng)絡(luò)機(jī)器人。每天或許你都會(huì)使用搜索引擎,爬蟲便是搜索引擎重要的組成部分,爬取內(nèi)容做索引。那我萌就來探討一下網(wǎng)絡(luò)爬蟲吧。對(duì)后關(guān)于不僅僅可以用來做爬蟲,因?yàn)榭梢跃幊?,無頭瀏覽器,可以用來自動(dòng)化測(cè)試等等。 @(爬蟲)[puppeteer|] 爬蟲又稱網(wǎng)絡(luò)機(jī)器人。每天或許你都會(huì)使用搜索引擎,爬蟲便是搜索引擎重要的組成部分,爬取內(nèi)容做索引?,F(xiàn)如今大數(shù)據(jù),數(shù)據(jù)分析很火,那數(shù)據(jù)哪里來呢,...
閱讀 4012·2021-11-18 13:22
閱讀 1829·2021-11-17 09:33
閱讀 2886·2021-09-26 09:46
閱讀 1220·2021-08-21 14:11
閱讀 2896·2019-08-30 15:53
閱讀 2717·2019-08-30 15:52
閱讀 1914·2019-08-30 10:52
閱讀 1528·2019-08-29 15:30