亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

Python爬蟲(chóng)工程師是干什么的?能賺多少錢(qián)?需要掌握哪些技術(shù)?

程序員有時(shí)候很難和外行人講明白自己的工作是什么,講一下“爬蟲(chóng)工程師”的工作內(nèi)容是什么,需要掌握哪些技能,難點(diǎn)和好玩的地方等等,講到哪里算哪里吧。

Python爬蟲(chóng)工程師是干什么的?能賺多少錢(qián)?需要掌握哪些技術(shù)?

一、爬蟲(chóng)工程師是干嘛的?

1、主要工作內(nèi)容?
互聯(lián)網(wǎng)是由一個(gè)一個(gè)的超鏈接組成的,從一個(gè)網(wǎng)頁(yè)的鏈接可以跳到另一個(gè)網(wǎng)頁(yè),在新的網(wǎng)頁(yè)里,又有很多鏈接。理論上講,從任何一個(gè)網(wǎng)頁(yè)開(kāi)始,不斷點(diǎn)開(kāi)鏈接、鏈接的網(wǎng)頁(yè)的鏈接,就可以走遍整個(gè)互聯(lián)網(wǎng)!這個(gè)過(guò)程是不是像蜘蛛沿著網(wǎng)一樣爬?這也是“爬蟲(chóng)”名字的由來(lái)。
作為爬蟲(chóng)工程師,就是要寫(xiě)出一些能夠沿著網(wǎng)爬的”蜘蛛“程序,保存下來(lái)獲得的信息。一般來(lái)說(shuō),需要爬出來(lái)的信息都是結(jié)構(gòu)化的,如果不是結(jié)構(gòu)化的,那么也就沒(méi)什么意義了(百分之八十的數(shù)據(jù)是非結(jié)構(gòu)化的)。爬蟲(chóng)的規(guī)??蛇_(dá)可小,小到可以爬取豆瓣的top 250電影,定時(shí)爬取一個(gè)星期的天氣預(yù)報(bào)等。大到可以爬取整個(gè)互聯(lián)網(wǎng)的網(wǎng)頁(yè)(例如google)。下面這些,我認(rèn)為都可以叫做爬蟲(chóng):
  • 爬知乎的作者和回答
  • 爬百度網(wǎng)盤(pán)的資源,存到數(shù)據(jù)庫(kù)中(當(dāng)然,只是保存資源的鏈接和標(biāo)題),然后制作一個(gè)網(wǎng)盤(pán)的搜索引擎
  • 同上,種子網(wǎng)站的搜索引擎也是這樣的
到這里,我們知道爬蟲(chóng)的任務(wù)是獲取數(shù)據(jù)?,F(xiàn)在比較流行大數(shù)據(jù),從互聯(lián)網(wǎng)方面講,數(shù)據(jù)可以分成兩種,一種是用戶(hù)產(chǎn)生的(UGC),第二種就是通過(guò)一些手段獲得的,通常就是爬蟲(chóng)。爬蟲(chóng)又不僅僅局限于從網(wǎng)頁(yè)中獲得數(shù)據(jù),也可以從app抓包等。簡(jiǎn)而言之,就是聚合數(shù)據(jù)并讓他們結(jié)構(gòu)化。那么,哪些工作需要爬蟲(chóng)呢?
2、爬蟲(chóng)能做什么?
典型的數(shù)據(jù)聚合類(lèi)的網(wǎng)站都需要爬蟲(chóng)。比如Google搜索引擎。Google能在幾毫秒之內(nèi)提供給你包含某些關(guān)鍵字的頁(yè)面,肯定不是實(shí)時(shí)給你去找網(wǎng)頁(yè)的,而是提前抓好,保存在他們自己的數(shù)據(jù)庫(kù)里(那他們的數(shù)據(jù)庫(kù)得多大呀)。所以種子搜索引擎,網(wǎng)盤(pán)搜索引擎,Resillio key引擎等都是用爬蟲(chóng)實(shí)現(xiàn)抓好數(shù)據(jù)放在數(shù)據(jù)庫(kù)里的。
另外有一些提供信息對(duì)比的網(wǎng)站,比如比價(jià)類(lèi)的網(wǎng)站,就是通過(guò)爬蟲(chóng)抓取不同購(gòu)物網(wǎng)站商品的價(jià)格,然后將各個(gè)購(gòu)物網(wǎng)站的價(jià)格展示在網(wǎng)站上。購(gòu)物網(wǎng)站的價(jià)格時(shí)時(shí)都在變,但是比價(jià)網(wǎng)站抓到的數(shù)據(jù)不會(huì)刪除,所以可以提供價(jià)格走勢(shì),這是購(gòu)物網(wǎng)站不會(huì)提供的信息。
除此之外,個(gè)人還可以用爬蟲(chóng)做一些好玩的事情。比如我們想看大量的圖片,可以寫(xiě)一個(gè)爬蟲(chóng)批量下載下來(lái),不必一個(gè)一個(gè)點(diǎn)擊保存,還要忍受網(wǎng)站的廣告了;比如我們想備份自己的資料,例如保存下來(lái)我們?cè)诙拱臧l(fā)布過(guò)的所有的廣播,可以使用爬蟲(chóng)將自己發(fā)布的內(nèi)容全部抓下來(lái),這樣即使一些網(wǎng)站沒(méi)有提供備份服務(wù),我們也可以自己豐衣足食。

二、爬蟲(chóng)工程師需要掌握哪些技能?

我見(jiàn)過(guò)這樣的說(shuō)法:“爬蟲(chóng)是低級(jí)、重復(fù)性很多的工作,沒(méi)有發(fā)展前途”。這是誤解。首先,對(duì)于程序員來(lái)說(shuō)基本上不存在重復(fù)性的工作,任何重復(fù)勞動(dòng)都可以通過(guò)程序自動(dòng)解決。例如博主之前要抓十幾個(gè)相似度很高但是html結(jié)構(gòu)不太一樣的網(wǎng)站,我就寫(xiě)了一個(gè)簡(jiǎn)單的代碼生成器,從爬蟲(chóng)代碼到單元測(cè)試代碼都可以自動(dòng)生成,只要對(duì)應(yīng)html結(jié)構(gòu)稍微修改一下就行了。所以我認(rèn)為,重復(fù)性的勞動(dòng)在編程方面來(lái)說(shuō)基本上是不存在的,如果你認(rèn)為自己做的工作是重復(fù)性的,說(shuō)明你比較勤快,不愿意去偷懶。而我還認(rèn)為,勤快的程序員不是好程序員。下面我根據(jù)自己這段時(shí)間的工作經(jīng)歷,講一講爬蟲(chóng)需要哪些相關(guān)的技能。
1、基本的編碼基礎(chǔ)(至少一門(mén)編程語(yǔ)言)
這個(gè)對(duì)于任何編程工作來(lái)說(shuō)都是必須的。基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)你得會(huì)吧。數(shù)據(jù)名字和值得對(duì)應(yīng)(字典),對(duì)一些url進(jìn)行處理(列表)等等。事實(shí)上,掌握的越牢固越好,爬蟲(chóng)并不是一個(gè)簡(jiǎn)單的工作,也并不比其他工作對(duì)編程語(yǔ)言的要求更高。熟悉你用的編程語(yǔ)言,熟悉相關(guān)的框架和庫(kù)永遠(yuǎn)是百益無(wú)害。
我主要用Python,用Java寫(xiě)爬蟲(chóng)的也有,理論上講任何語(yǔ)言都可以寫(xiě)爬蟲(chóng)的,不過(guò)最好選擇一門(mén)相關(guān)的庫(kù)多,開(kāi)發(fā)迅速的語(yǔ)言。用C語(yǔ)言寫(xiě)肯定是自找苦吃了。
2、任務(wù)隊(duì)列
當(dāng)爬蟲(chóng)任務(wù)很大的時(shí)候,寫(xiě)一個(gè)程序跑下來(lái)是不合適的:
  • 如果中間遇到錯(cuò)誤停掉,重頭再來(lái)?這不科學(xué)
  • 我怎么知道程序在哪里失敗了?任務(wù)和任務(wù)之間不應(yīng)該相互影響
  • 如果我有兩臺(tái)機(jī)器怎么分工?
所以我們需要一種任務(wù)隊(duì)列,它的作用是:講計(jì)劃抓取的網(wǎng)頁(yè)都放到任務(wù)隊(duì)列里面去。然后worker從隊(duì)列中拿出來(lái)一個(gè)一個(gè)執(zhí)行,如果一個(gè)失敗,記錄一下,然后執(zhí)行下一個(gè)。這樣,worker就可以一個(gè)接一個(gè)地執(zhí)行下去。也增加了擴(kuò)展性,幾億個(gè)任務(wù)放在隊(duì)列里也沒(méi)問(wèn)題,有需要可以增加worker,就像多一雙虧筷子吃飯一樣。
常用的任務(wù)隊(duì)列有kafka,beanstalkd,celery等。
3、數(shù)據(jù)庫(kù)
這個(gè)不用講了,數(shù)據(jù)保存肯定要會(huì)數(shù)據(jù)庫(kù)的。不過(guò)有時(shí)候一些小數(shù)據(jù)也可以保存成json或者csv等。我有時(shí)想抓一些圖片就直接按照文件夾保存文件。
推薦使用NoSQL的數(shù)據(jù)庫(kù),比如mongodb,因?yàn)榕老x(chóng)抓到的數(shù)據(jù)一般是都字段-值得對(duì)應(yīng),有些字段有的網(wǎng)站有有的網(wǎng)站沒(méi)有,mongo在這方面比較靈活,況且爬蟲(chóng)爬到的數(shù)據(jù)關(guān)系非常非常弱,很少會(huì)用到表與表的關(guān)系。
4、HTTP知識(shí)
HTTP知識(shí)是必備技能。因?yàn)橐赖氖蔷W(wǎng)頁(yè),所以必須要了解網(wǎng)頁(yè)啊。
首先html文檔的解析方法要懂,比如子節(jié)點(diǎn)父節(jié)點(diǎn),屬性這些。我們看到的網(wǎng)頁(yè)是五彩斑斕的,只不過(guò)是被瀏覽器處理了而已,原始的網(wǎng)頁(yè)是由很多標(biāo)簽組成的。處理最好使用html的解析器,如果自己用正則匹配的話(huà)坑會(huì)很多。我個(gè)人非常喜歡xpath,跨語(yǔ)言,表達(dá)比價(jià)好,但是也有缺點(diǎn),正則、邏輯判斷有點(diǎn)別扭。
HTTP協(xié)議要理解。HTTP協(xié)議本身是無(wú)狀態(tài)的,那么“登錄”是怎么實(shí)現(xiàn)的?這就要求去了解一下session和cookies了。GET方法和POST方法的區(qū)別(事實(shí)上除了字面意思不一樣沒(méi)有任何區(qū)別)。
瀏覽器要熟練。爬蟲(chóng)的過(guò)程其實(shí)是模擬人類(lèi)去瀏覽器數(shù)據(jù)的過(guò)程。所以瀏覽器是怎么訪(fǎng)問(wèn)一個(gè)網(wǎng)站的,你要學(xué)會(huì)去觀察,怎么觀察呢?Developer Tools!Chrome的Developer Tools提供了訪(fǎng)問(wèn)網(wǎng)站的一切信息。從traffic可以看到所有發(fā)出去的請(qǐng)求。copy as curl功能可以給你生成和瀏覽器請(qǐng)求完全一致的curl請(qǐng)求!我寫(xiě)一個(gè)爬蟲(chóng)的一般流程是這樣的,先用瀏覽器訪(fǎng)問(wèn),然后copy as curl看看有哪些header,cookies,然后用代碼模擬出來(lái)這個(gè)請(qǐng)求,最后處理請(qǐng)求的結(jié)果保存下來(lái)。
5、運(yùn)維
這個(gè)話(huà)題要說(shuō)的有很多,實(shí)際工作中運(yùn)維和開(kāi)發(fā)的時(shí)間差不多甚至更多一些。維護(hù)已經(jīng)在工作的爬蟲(chóng)是一個(gè)繁重的工作。隨著工作時(shí)間增加,一般我們都會(huì)學(xué)著讓寫(xiě)出來(lái)的爬蟲(chóng)更好維護(hù)一些。比如爬蟲(chóng)的日志系統(tǒng),數(shù)據(jù)量的統(tǒng)計(jì)等。將爬蟲(chóng)工程師和運(yùn)維分開(kāi)也不太合理,因?yàn)槿绻粋€(gè)爬蟲(chóng)不工作了,那原因可能是要抓的網(wǎng)頁(yè)更新了結(jié)構(gòu),也有可能出現(xiàn)在系統(tǒng)上,也有可能是當(dāng)初開(kāi)發(fā)爬蟲(chóng)的時(shí)候沒(méi)發(fā)現(xiàn)反扒策略,上線(xiàn)之后出問(wèn)題了,也可能是對(duì)方網(wǎng)站發(fā)現(xiàn)了你是爬蟲(chóng)把你封殺了,所以一般來(lái)說(shuō)開(kāi)發(fā)爬蟲(chóng)要兼顧運(yùn)維。
所以爬蟲(chóng)的運(yùn)維我可以提供下面幾個(gè)思路:
首先,從數(shù)據(jù)增量監(jiān)控。定向爬蟲(chóng)(指的是只針對(duì)一個(gè)網(wǎng)站的爬蟲(chóng))比較容易,一段時(shí)間之后對(duì)一些網(wǎng)站的數(shù)據(jù)增量會(huì)有一個(gè)大體的了解。經(jīng)??纯催@些數(shù)據(jù)的增加趨勢(shì)是否是正常就可以了(Grafana)。非定向爬蟲(chóng)的數(shù)據(jù)增量不是很穩(wěn)定,一般看機(jī)器的網(wǎng)絡(luò)狀況,網(wǎng)站的更新情況等(這方面我的經(jīng)驗(yàn)不多)。
然后看爬蟲(chóng)執(zhí)行的成功情況。在上面提到了用任務(wù)隊(duì)列控制爬蟲(chóng)工作,這樣解耦可以帶來(lái)很多好處,其中一個(gè)就是可以就是可以對(duì)一次爬蟲(chóng)執(zhí)行進(jìn)行日志??梢栽诿看闻老x(chóng)任務(wù)執(zhí)行的時(shí)候,將執(zhí)行的時(shí)間、狀態(tài)、目標(biāo)url、異常等放入一個(gè)日志系統(tǒng)(比如kibana),然后通過(guò)一個(gè)可視化的手段可以清晰地看到爬蟲(chóng)的失敗率。
爬蟲(chóng)拋出的Exception。幾乎所有的項(xiàng)目都會(huì)用到錯(cuò)誤日志收集(Sentry),這里需要注意的一點(diǎn)是,忽略正常的異常(比如Connection錯(cuò)誤,鎖沖突等),否則的話(huà)你會(huì)被這些錯(cuò)誤淹沒(méi)。

三、爬蟲(chóng)與反爬

這同樣是很深的一個(gè)話(huà)題,就像攻擊武器與防御武器一樣,雙方總是在不斷升級(jí)。常見(jiàn)的反爬措施(我遇到過(guò)的)有下面幾種:
1、訪(fǎng)問(wèn)頻率
很好理解,如果訪(fǎng)問(wèn)太頻繁網(wǎng)站可能針對(duì)你的ip封鎖一段時(shí)間,這和防DDoS的原理一樣。對(duì)于爬蟲(chóng)來(lái)說(shuō),碰到這樣的限制一下任務(wù)的頻率就可以了,可以盡量讓爬蟲(chóng)想人類(lèi)一樣訪(fǎng)問(wèn)網(wǎng)頁(yè)(比如隨機(jī)sleep一段時(shí)間,如果每隔3s訪(fǎng)問(wèn)一次網(wǎng)站很顯然不是正常人的行為)。
2、登錄限制
也比較常見(jiàn)。不過(guò)公開(kāi)信息的網(wǎng)站一般不會(huì)有這個(gè)限制,這樣讓用戶(hù)也麻煩了。其實(shí)反爬措施都或多或少的影響真實(shí)用戶(hù),反爬越嚴(yán)格,誤殺用戶(hù)的可能性也越高。對(duì)爬蟲(chóng)來(lái)說(shuō),登錄同樣可以通過(guò)模擬登錄的方式解決,加個(gè)cookie就行了(話(huà)又說(shuō)回來(lái),網(wǎng)絡(luò)的原理很重要)。
3、通過(guò)Header封殺
一般瀏覽器訪(fǎng)問(wèn)網(wǎng)站會(huì)有header,比如Safari或者Chrome等等,還有操作系統(tǒng)信息。如果使用程序訪(fǎng)問(wèn)并不會(huì)有這樣的header。破解也很簡(jiǎn)單,訪(fǎng)問(wèn)的時(shí)候加上header就行。
4、JavaScript腳本動(dòng)態(tài)獲取網(wǎng)站數(shù)據(jù)
有一些網(wǎng)站(尤其是單頁(yè)面網(wǎng)站)的內(nèi)容并不是通過(guò)服務(wù)器直接返回的,而是服務(wù)器只返回一個(gè)客戶(hù)端JavaScript程序,然后JavaScript獲取內(nèi)容。更高級(jí)的是,JavaScript在本地計(jì)算一個(gè)token,然后拿這個(gè)token來(lái)進(jìn)行AJAX獲取內(nèi)容。而本地的JavaScript又是經(jīng)過(guò)代碼混淆和加密的,這樣我們做爬蟲(chóng)的通過(guò)看源代碼幾乎不可能模擬出來(lái)這個(gè)請(qǐng)求(主要是token不可能破解),但是我們可以從另一個(gè)角度:headless的瀏覽器,也就是我們直接運(yùn)行這個(gè)客戶(hù)端程序,這可以100%地模擬真實(shí)用戶(hù)!
5、驗(yàn)證碼
這幾乎是終極武器了,驗(yàn)證碼是專(zhuān)門(mén)用來(lái)區(qū)分人和計(jì)算機(jī)的手段。對(duì)于反爬方來(lái)說(shuō),這種方式對(duì)真實(shí)用戶(hù)和搜索引擎(其實(shí)可以通過(guò)記錄搜索引擎爬蟲(chóng)的ip來(lái)區(qū)別對(duì)待,可以解決)的危害比較大,相信讀者都有輸入驗(yàn)證碼的痛苦經(jīng)歷。但這種方法也并不是無(wú)敵的!通過(guò)現(xiàn)在很火的機(jī)器學(xué)習(xí)可以輕松的識(shí)別大部分的驗(yàn)證碼!Google的reCAPTCHA是一種非常高級(jí)的驗(yàn)證碼,但是聽(tīng)過(guò)通過(guò)模擬瀏覽器也是可以破解的。
6、ip限制
網(wǎng)站可能將識(shí)別的ip永久封殺,這種方式需要的人力比較大,而且誤傷用戶(hù)的代價(jià)也很高。但是破解辦法卻非常簡(jiǎn)單。目前代理池幾乎是搞爬蟲(chóng)的標(biāo)配了,甚至還有很多高匿代理等好用的東西。所以這基本上只能殺殺小爬蟲(chóng)。
7、網(wǎng)站內(nèi)容反爬
有一些網(wǎng)站將網(wǎng)站內(nèi)容用只有人類(lèi)可以接收的形式來(lái)呈現(xiàn)(其實(shí)反爬就是區(qū)別對(duì)待人類(lèi)和機(jī)器嘛)。比如將內(nèi)容用圖片的形式顯示。但是近幾年來(lái)人類(lèi)和機(jī)器的差別越來(lái)越小,圖片可以用OCR準(zhǔn)確率非常高地去識(shí)別。
反爬總結(jié)
爬蟲(chóng)和反爬是典型的攻防雙方的互相升級(jí)。但是我認(rèn)為,這種升級(jí)不像軍事,軍事是無(wú)盡頭的,但是爬蟲(chóng)和反爬是有盡頭的。
爬蟲(chóng)的盡頭就是瀏覽器,一旦使用瀏覽器,程序完全可以模擬真實(shí)用戶(hù)發(fā)出請(qǐng)求,缺點(diǎn)是就是消耗資源,因?yàn)樾枰麻_(kāi)一個(gè)進(jìn)程,解析DOM,運(yùn)行客戶(hù)端JavaScript代碼。(chrome的node api在github開(kāi)源僅僅兩天,就拿到8k個(gè)star)
反爬的盡頭就是像Google這種超級(jí)厲害的驗(yàn)證碼,畢竟驗(yàn)證碼的根本目的就是識(shí)別人類(lèi)和機(jī)器的。
我正好有一個(gè)反爬做的非常好的例子。Google Arts Project項(xiàng)目是一個(gè)匯聚世界名畫(huà)的藝術(shù)長(zhǎng)廊,我比較喜歡里面的一些畫(huà),所以想下載一些(當(dāng)然這是不對(duì)的),然后發(fā)現(xiàn)這個(gè)網(wǎng)站反爬做的相當(dāng)好(因?yàn)榘鏅?quán)屬于收藏作品的博物館,所以Google Arts Project肯定不會(huì)提供下載),要下載幾乎是不可能的。我有點(diǎn)不服,開(kāi)始用各種手段試圖下載原圖。嘗試了一番,發(fā)現(xiàn)這個(gè)網(wǎng)站block掉了鼠標(biāo)右鍵功能、審查元素發(fā)現(xiàn)圖片并不是一個(gè)常規(guī)的圖片、追蹤網(wǎng)絡(luò)包發(fā)現(xiàn)原圖竟然不是一次網(wǎng)絡(luò)請(qǐng)求拿到的,而是分成了好幾次請(qǐng)求base64編碼的字符流每次請(qǐng)求圖片的一部分,然后在客戶(hù)端組裝起來(lái)圖片!當(dāng)然在客戶(hù)端的代碼也是經(jīng)過(guò)加密和混淆的!這完全可以作為反爬的教科書(shū)了,既沒(méi)有誤傷用戶(hù),又讓爬蟲(chóng)無(wú)法下手。
圖片每次只請(qǐng)求部分

四、職業(yè)道德

成規(guī)模的爬蟲(chóng)一般都會(huì)使用集群,一般的小網(wǎng)站服務(wù)器規(guī)模可能不如爬蟲(chóng)集群的規(guī)模大。所以很多時(shí)候我們最好對(duì)要爬的網(wǎng)站限制一下頻率。否則這些爬蟲(chóng)就相當(dāng)于DoS攻擊集群了!一般的網(wǎng)站都會(huì)有robots.txt可以參考。
好了,總結(jié)來(lái)說(shuō),寫(xiě)爬蟲(chóng)需要經(jīng)驗(yàn)積累,需要靈活的思路。比如說(shuō)我之前就遇到過(guò)網(wǎng)站,需要驗(yàn)證碼驗(yàn)證拿到一個(gè)token,可是通過(guò)看網(wǎng)絡(luò)請(qǐng)求發(fā)現(xiàn)這個(gè)token長(zhǎng)得很像一個(gè)時(shí)間戳,然后本地自己生成一個(gè)時(shí)間戳發(fā)現(xiàn)也是能用的!于是就這樣繞過(guò)了驗(yàn)證碼。所以多多積累和嘗試,可以偷不少懶,嘿嘿。
另外爬蟲(chóng)也不是和我之前想的那樣是一個(gè)枯燥無(wú)味的工作,比如我就發(fā)現(xiàn)了不少很垃圾,很搞笑的網(wǎng)站,樂(lè)趣也蠻多的。學(xué)到的東西也不少。萬(wàn)變不離其宗嘛。

五、工作內(nèi)容

互聯(lián)網(wǎng)時(shí)代信息無(wú)處不在,我們?nèi)粘K佑|的大量信息例如微博、社交媒體網(wǎng)站的帖子、消費(fèi)者點(diǎn)評(píng)、新聞、銷(xiāo)售人員的拜訪(fǎng)記錄,這些都是常見(jiàn)的非結(jié)構(gòu)化數(shù)據(jù)來(lái)源。非結(jié)構(gòu)化數(shù)據(jù)分析能夠揭示潛藏在文本當(dāng)中的趨勢(shì)和關(guān)聯(lián),為商業(yè)決策、研究行業(yè)趨勢(shì)和熱點(diǎn)內(nèi)容分析提供有力支持。
緯橫團(tuán)隊(duì)致力于打造最出色的中文語(yǔ)義分析技術(shù),通過(guò)自主研發(fā)的中文分詞、句法分析、搜素引擎和實(shí)體識(shí)別技術(shù),結(jié)合海量行業(yè)語(yǔ)料的不斷積累,為企業(yè)客戶(hù)(營(yíng)銷(xiāo)、公關(guān)、客服、銷(xiāo)售和產(chǎn)品部門(mén))、研究機(jī)構(gòu)和政府部門(mén)等提供數(shù)據(jù)監(jiān)測(cè)和采集、分析和可視化以及專(zhuān)業(yè)服務(wù),增強(qiáng)用戶(hù)在大數(shù)據(jù)時(shí)代的競(jìng)爭(zhēng)力。
崗位職責(zé)
1. 分布式網(wǎng)頁(yè)抓取平臺(tái)的研發(fā)、完善和運(yùn)維,每天支持?jǐn)?shù)千萬(wàn)級(jí)的網(wǎng)頁(yè)采集、清洗和分析;
2. 產(chǎn)品后端 API 的開(kāi)發(fā),實(shí)現(xiàn)高性能、高可用及可擴(kuò)展的后端代碼;
3. 線(xiàn)上分布式環(huán)境的自動(dòng)化運(yùn)維、監(jiān)控、性能調(diào)優(yōu)。
職位要求
1. 扎實(shí)的算法與數(shù)據(jù)結(jié)構(gòu)功底,對(duì)新的知識(shí)和技術(shù)有強(qiáng)烈熱情;
2. 具有較強(qiáng)的分析和解決問(wèn)題的能力;
3. 擁有良好的編程習(xí)慣;
4. 熟悉至少一門(mén)高級(jí)編程語(yǔ)言(例如 Python/C++/JAVA )并有實(shí)際開(kāi)發(fā)的經(jīng)驗(yàn)。
文章來(lái)源于網(wǎng)絡(luò),侵刪!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專(zhuān)業(yè)人才培訓(xùn)機(jī)構(gòu)!