我已經(jīng)很久沒怎么做搜索相關(guān)的事情了,本身也不是在大的搜索公司工作,所以目前也不靠搜索吃飯。這里寫點搜索方面的技術(shù)分享,希望對有志從事搜索技術(shù)研發(fā)的讀者朋友有幫助。
目前成都創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、東鄉(xiāng)族網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
搜索引擎的分類方法很多,一般分為網(wǎng)頁搜索和垂直搜索。谷歌、百度是搜索搜索,騰訊視頻,QQ音樂是垂直搜索。
咱們這里不想聊怎么分類,而是想聊聊搜索引擎分為幾個模塊,各個模塊的主要難點在哪里,哪些深入研究是有市場競爭力的,哪些工作是容易在各個公司找機會的。
這里我把搜索引擎主要模塊劃分為爬蟲模塊,網(wǎng)頁處理,索引模塊,檢索模塊,排序模塊??紤]到文章篇幅,這篇文章先講講爬蟲的部分,后續(xù)再一次展開其他部分。
爬蟲
爬蟲要解決幾個問題:覆蓋率,更新率,時效性。兩個問題是有矛盾的,不更新的網(wǎng)頁幾秒鐘去重新抓一次,不僅浪費帶寬,而且在對方網(wǎng)站能夠容許的抓取頻率下,抓別的就受影響了。
幾個工程挑戰(zhàn):怎么存儲幾百甚至千億規(guī)模的網(wǎng)頁?存儲怎么去做壓縮?怎么對這些數(shù)據(jù)集進行高校分析?比如分析哪些網(wǎng)頁需要重新抓取,分析哪些網(wǎng)站死了,分析標題,分析正文,分析鏈接農(nóng)場,計算PageRank等。工程挑戰(zhàn)很多,這方面可以去閱讀GFS, Bigtable, MapReduce 相關(guān)的論文。
還有一個工程挑戰(zhàn)是,怎么去實時計算一個簡化的pagerank ? 因為pagerank 正常是需要離線計算的,一次計算大概需要幾天的時間。而判斷一個網(wǎng)頁是否重要,容不得等上幾天的時間,否則搜索引擎的時效性就會比較差。
另外,怎么去挖掘和判斷哪些網(wǎng)站是作弊網(wǎng)站,哪些網(wǎng)站的質(zhì)量很差,哪些網(wǎng)頁值得高頻抓取,是否有Sitemap,如何利用RSS來抓取,怎么做到爬蟲系統(tǒng)比較友好? 這些都是爬蟲工程師經(jīng)常要思考的問題。
筆者之前參與開發(fā)過的爬蟲系統(tǒng),每天抓取的規(guī)模都在1-10億之間。呆過的兩三家公司,都接到大大小小站長的電話反饋或者投訴。這方面就是百度這樣成熟的爬蟲系統(tǒng),也難免會被投訴。不過我做網(wǎng)頁爬蟲那會,基本還是PC搜索時代,百度的流量很值錢,百度的爬蟲出了什么問題,一般的站長也不會為難你。但是如果是不太知名的搜索引擎公司,就比較麻煩了,隨時封你IP,或者加你的spider Agent 到Robots 文件的Not Allow 列表里。
爬蟲還有幾個挑戰(zhàn),比如,網(wǎng)頁搜索的時效性怎么搞?新一集電視劇出來了,能不能及時收錄?能不能搞一個收錄平臺,讓各家都主動接入?論壇有帖子更新了,能及時收錄么?突然一條新聞火了,怎么在幾秒鐘內(nèi)收錄并且索引完畢?微博起來了,微博的內(nèi)容怎么抓???公眾號火了,那能不能抓取公眾號?
海外的網(wǎng)頁怎么抓???IP不夠用怎么辦?IP無法訪問怎么辦?代理是什么?怎么買代理?或者怎么自己挖掘代碼IP?
另一個挑戰(zhàn)是,一個網(wǎng)站之前沒抓過,突然談了個合作,或者突然允許抓取了,一個站點上億的網(wǎng)頁規(guī)模,要幾天內(nèi)全部抓取完畢,怎么辦?火力全開,人家anti-spider 的策略很高級,怎么辦?好不容易抓回來了,結(jié)果抓取的網(wǎng)頁是有問題的,比如文字變成了圖片,怎么辦?有時候文字response code 是200,但是網(wǎng)頁卻空空如也,怎么辦?
網(wǎng)頁題目:關(guān)于搜索引擎爬蟲,說說個人的一些理解、觀點
路徑分享:http://www.rwnh.cn/article26/cgsjjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、域名注冊、服務(wù)器托管、定制開發(fā)、標簽優(yōu)化、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)