最近中文字幕2019高清,亚洲人成高清在线播放,男生淦哭男生图片动漫有字,国产亚洲精品九九久在线观看,无码av专区丝袜专区

網(wǎng)頁(yè)抓取數據百度百科

網(wǎng)頁(yè)抓取數據百度百科

干貨教程:網(wǎng)頁(yè)抓取數據百度百科舉例我要抓取這個(gè)問(wèn)題(圖)

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 129 次瀏覽 ? 2022-09-21 20:08 ? 來(lái)自相關(guān)話(huà)題

  干貨教程:網(wǎng)頁(yè)抓取數據百度百科舉例我要抓取這個(gè)問(wèn)題(圖)
  網(wǎng)頁(yè)抓取數據百度百科舉例我要抓取這個(gè)問(wèn)題百度百科的一個(gè)條目,提取“男女”條目中的數據——我覺(jué)得這個(gè)很常見(jiàn)。我先看看百度百科有沒(méi)有搜索就一定能夠查到我要抓取的數據?百度百科明確寫(xiě)明:“搜索結果頁(yè)面中,請點(diǎn)擊一個(gè)鏈接訪(fǎng)問(wèn),并在鏈接處注明檢索詞?!蹦呛?,我要抓取“女女”這個(gè)詞,因為這個(gè)詞已經(jīng)有人提供數據了。
  
  那我點(diǎn)擊鏈接。我心想:“好啊,百度百科搞了一個(gè)站,提供給搜索站爬蟲(chóng)。那我們爬蟲(chóng)爬蟲(chóng)模擬一下他提供數據?!蔽覀儊?lái)提供爬蟲(chóng)。百度百科也是有爬蟲(chóng)的,我們都知道這些爬蟲(chóng)有常見(jiàn)的幾種形式,我們來(lái)看看百度爬蟲(chóng)的爬蟲(chóng)提供到了哪些數據。點(diǎn)擊原諒我手賤,手賤點(diǎn)了一下下面鏈接。我感覺(jué)到了熟悉的味道。好,既然都爬蟲(chóng)提供了數據,我們將這些數據下載。
  
  我準備用scrapy,不能就在這樣的站提供,于是我們嘗試抓取本頁(yè)?!易龅搅?。你?一個(gè)女權癌?那沒(méi)問(wèn)題,我按照協(xié)議請求到了百度爬蟲(chóng),百度爬蟲(chóng)繼續提供數據。//content-type:application/x-www-form-urlencoded//request-response:https:/lolita/school/department/score/{id}&language=english然后一整頁(yè)我們都給他返回結果咯。
  你說(shuō)的抓???我什么都沒(méi)做嘛。順便說(shuō)一下,網(wǎng)頁(yè)版爬蟲(chóng)模擬是要客戶(hù)端來(lái)操作的。那我們怎么樣模擬呢??反正就這樣爬唄,反正已經(jīng)抓到。 查看全部

  干貨教程:網(wǎng)頁(yè)抓取數據百度百科舉例我要抓取這個(gè)問(wèn)題(圖)
  網(wǎng)頁(yè)抓取數據百度百科舉例我要抓取這個(gè)問(wèn)題百度百科的一個(gè)條目,提取“男女”條目中的數據——我覺(jué)得這個(gè)很常見(jiàn)。我先看看百度百科有沒(méi)有搜索就一定能夠查到我要抓取的數據?百度百科明確寫(xiě)明:“搜索結果頁(yè)面中,請點(diǎn)擊一個(gè)鏈接訪(fǎng)問(wèn),并在鏈接處注明檢索詞?!蹦呛?,我要抓取“女女”這個(gè)詞,因為這個(gè)詞已經(jīng)有人提供數據了。
  
  那我點(diǎn)擊鏈接。我心想:“好啊,百度百科搞了一個(gè)站,提供給搜索站爬蟲(chóng)。那我們爬蟲(chóng)爬蟲(chóng)模擬一下他提供數據?!蔽覀儊?lái)提供爬蟲(chóng)。百度百科也是有爬蟲(chóng)的,我們都知道這些爬蟲(chóng)有常見(jiàn)的幾種形式,我們來(lái)看看百度爬蟲(chóng)的爬蟲(chóng)提供到了哪些數據。點(diǎn)擊原諒我手賤,手賤點(diǎn)了一下下面鏈接。我感覺(jué)到了熟悉的味道。好,既然都爬蟲(chóng)提供了數據,我們將這些數據下載。
  
  我準備用scrapy,不能就在這樣的站提供,于是我們嘗試抓取本頁(yè)?!易龅搅?。你?一個(gè)女權癌?那沒(méi)問(wèn)題,我按照協(xié)議請求到了百度爬蟲(chóng),百度爬蟲(chóng)繼續提供數據。//content-type:application/x-www-form-urlencoded//request-response:https:/lolita/school/department/score/{id}&language=english然后一整頁(yè)我們都給他返回結果咯。
  你說(shuō)的抓???我什么都沒(méi)做嘛。順便說(shuō)一下,網(wǎng)頁(yè)版爬蟲(chóng)模擬是要客戶(hù)端來(lái)操作的。那我們怎么樣模擬呢??反正就這樣爬唄,反正已經(jīng)抓到。

全國最大的百科全書(shū)-網(wǎng)頁(yè)抓取數據(圖)

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 101 次瀏覽 ? 2022-09-13 03:01 ? 來(lái)自相關(guān)話(huà)題

  全國最大的百科全書(shū)-網(wǎng)頁(yè)抓取數據(圖)
  網(wǎng)頁(yè)抓取數據百度百科的官方文檔里面有一個(gè)例子,是通過(guò)爬蟲(chóng)程序爬取百度,以及其他搜索引擎頁(yè)面的網(wǎng)頁(yè)數據,獲取海量信息。因為目前百度在競價(jià)排名和關(guān)鍵詞引導廣告方面收取傭金,所以看上去百度百科的數據就很廉價(jià)了。
  
  全國百科全書(shū)-全國最大的百科全書(shū)。你可以看下這個(gè)網(wǎng)站,不過(guò)要翻墻。
  瀉藥。官方會(huì )整理啊。題主要是還不放心,可以給他下載下來(lái)存儲起來(lái)。也可以先將數據抓取出來(lái),再通過(guò)網(wǎng)絡(luò )收集。想收集數據的話(huà)你現在用什么工具都可以。要是必須用python的話(huà),試試pandas,numpy,matplotlib,requests之類(lèi)的。好吧,非程序員,具體參考這個(gè):自然語(yǔ)言處理(nlp)-第三版應該是這本書(shū)的內容吧。
  
  你得保證網(wǎng)絡(luò )暢通然后,抓取幾千萬(wàn)字的資料,
  做網(wǎng)頁(yè)爬蟲(chóng),代碼量不會(huì )小吧,爬蟲(chóng)用python的話(huà)可以試試googlebigquery還可以考慮幾個(gè)小平臺吧。實(shí)在不行就考慮搭個(gè)模擬環(huán)境看看能不能抓取了,以前有博客抓取百度巴士之類(lèi)的,但是不建議啊,第一現在抓取技術(shù)在更新,你用的工具不對能力完全是打折扣的,第二就是價(jià)格,幾百一千五十萬(wàn)你有那能力實(shí)現,但一個(gè)剛開(kāi)始學(xué)抓取的人難道有那能力用一個(gè)網(wǎng)站去拿所有數據么?一個(gè)網(wǎng)站一億只能抓幾十萬(wàn)幾百萬(wàn)能做什么!所以那不是你現在能做的事。 查看全部

  全國最大的百科全書(shū)-網(wǎng)頁(yè)抓取數據(圖)
  網(wǎng)頁(yè)抓取數據百度百科的官方文檔里面有一個(gè)例子,是通過(guò)爬蟲(chóng)程序爬取百度,以及其他搜索引擎頁(yè)面的網(wǎng)頁(yè)數據,獲取海量信息。因為目前百度在競價(jià)排名和關(guān)鍵詞引導廣告方面收取傭金,所以看上去百度百科的數據就很廉價(jià)了。
  
  全國百科全書(shū)-全國最大的百科全書(shū)。你可以看下這個(gè)網(wǎng)站,不過(guò)要翻墻。
  瀉藥。官方會(huì )整理啊。題主要是還不放心,可以給他下載下來(lái)存儲起來(lái)。也可以先將數據抓取出來(lái),再通過(guò)網(wǎng)絡(luò )收集。想收集數據的話(huà)你現在用什么工具都可以。要是必須用python的話(huà),試試pandas,numpy,matplotlib,requests之類(lèi)的。好吧,非程序員,具體參考這個(gè):自然語(yǔ)言處理(nlp)-第三版應該是這本書(shū)的內容吧。
  
  你得保證網(wǎng)絡(luò )暢通然后,抓取幾千萬(wàn)字的資料,
  做網(wǎng)頁(yè)爬蟲(chóng),代碼量不會(huì )小吧,爬蟲(chóng)用python的話(huà)可以試試googlebigquery還可以考慮幾個(gè)小平臺吧。實(shí)在不行就考慮搭個(gè)模擬環(huán)境看看能不能抓取了,以前有博客抓取百度巴士之類(lèi)的,但是不建議啊,第一現在抓取技術(shù)在更新,你用的工具不對能力完全是打折扣的,第二就是價(jià)格,幾百一千五十萬(wàn)你有那能力實(shí)現,但一個(gè)剛開(kāi)始學(xué)抓取的人難道有那能力用一個(gè)網(wǎng)站去拿所有數據么?一個(gè)網(wǎng)站一億只能抓幾十萬(wàn)幾百萬(wàn)能做什么!所以那不是你現在能做的事。

爬蟲(chóng)網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā)總之語(yǔ)言就是java,沒(méi)有之一

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 99 次瀏覽 ? 2022-08-13 11:22 ? 來(lái)自相關(guān)話(huà)題

  爬蟲(chóng)網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā)總之語(yǔ)言就是java,沒(méi)有之一
  網(wǎng)頁(yè)抓取數據百度百科有整理,爬蟲(chóng)軟件-requestsscrapy,要結合python的網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā),python網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā)總之語(yǔ)言就是java,
  我正在開(kāi)發(fā)一個(gè)智能客服,在學(xué)校做,
  
  先說(shuō)結論,
  python3,
  python是個(gè)不錯的選擇,提供不錯的自動(dòng)化運維方案,適合運維人員學(xué)習,資料多,庫廣,
  
  最好是python,易于調試,有豐富的第三方庫和命令行工具。其次是java,
  謝邀。學(xué)習什么語(yǔ)言關(guān)鍵看你需要,你不用擔心一個(gè)語(yǔ)言不好會(huì )找不到工作,畢竟這個(gè)不是個(gè)短期能學(xué)會(huì )的東西。如果你本身并不懂編程,學(xué)語(yǔ)言也不會(huì )是太過(guò)吃力?;蛘吣阌姓Z(yǔ)言的基礎,你想深入了解它。那么你可以試試看看看看手機端的語(yǔ)言,最具操作性的當然是python,最最簡(jiǎn)單易學(xué)的是java,然后就是c++,php,python和java共同特點(diǎn)的是開(kāi)發(fā)快,開(kāi)發(fā)者多,但是同時(shí)程序開(kāi)發(fā)耗時(shí)間長(cháng)。當然可以運用到其他語(yǔ)言上也是不錯的,有很多其他語(yǔ)言開(kāi)發(fā)的跨平臺產(chǎn)品。
  python3,3.5是趨勢。java對于我來(lái)說(shuō)在很多公司不合適,我們公司非上市公司,java已經(jīng)過(guò)時(shí),因為我是做在線(xiàn)教育的,需要做在線(xiàn)考試。我認為最好的語(yǔ)言當然是python,沒(méi)有之一。 查看全部

  爬蟲(chóng)網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā)總之語(yǔ)言就是java,沒(méi)有之一
  網(wǎng)頁(yè)抓取數據百度百科有整理,爬蟲(chóng)軟件-requestsscrapy,要結合python的網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā),python網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā)總之語(yǔ)言就是java,
  我正在開(kāi)發(fā)一個(gè)智能客服,在學(xué)校做,
  
  先說(shuō)結論,
  python3,
  python是個(gè)不錯的選擇,提供不錯的自動(dòng)化運維方案,適合運維人員學(xué)習,資料多,庫廣,
  
  最好是python,易于調試,有豐富的第三方庫和命令行工具。其次是java,
  謝邀。學(xué)習什么語(yǔ)言關(guān)鍵看你需要,你不用擔心一個(gè)語(yǔ)言不好會(huì )找不到工作,畢竟這個(gè)不是個(gè)短期能學(xué)會(huì )的東西。如果你本身并不懂編程,學(xué)語(yǔ)言也不會(huì )是太過(guò)吃力?;蛘吣阌姓Z(yǔ)言的基礎,你想深入了解它。那么你可以試試看看看看手機端的語(yǔ)言,最具操作性的當然是python,最最簡(jiǎn)單易學(xué)的是java,然后就是c++,php,python和java共同特點(diǎn)的是開(kāi)發(fā)快,開(kāi)發(fā)者多,但是同時(shí)程序開(kāi)發(fā)耗時(shí)間長(cháng)。當然可以運用到其他語(yǔ)言上也是不錯的,有很多其他語(yǔ)言開(kāi)發(fā)的跨平臺產(chǎn)品。
  python3,3.5是趨勢。java對于我來(lái)說(shuō)在很多公司不合適,我們公司非上市公司,java已經(jīng)過(guò)時(shí),因為我是做在線(xiàn)教育的,需要做在線(xiàn)考試。我認為最好的語(yǔ)言當然是python,沒(méi)有之一。

手把手教你用Scrapy爬蟲(chóng)框架爬取食品論壇數據并存入數據庫

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 67 次瀏覽 ? 2022-07-08 00:20 ? 來(lái)自相關(guān)話(huà)題

  手把手教你用Scrapy爬蟲(chóng)框架爬取食品論壇數據并存入數據庫
  點(diǎn)擊上方“Python爬蟲(chóng)與數據挖掘”,進(jìn)行關(guān)注
  回復“書(shū)籍”即可獲贈Python從入門(mén)到進(jìn)階共10本電子書(shū)
  今
  日
  雞
  湯
  潮平兩岸闊,風(fēng)正一帆懸。
  大家好,我是杯酒先生,這是我第一次寫(xiě)這種分享項目的文章,可能很水,很不全面,而且肯定存在說(shuō)錯的地方,希望大家可以評論里加以指點(diǎn),不勝感激!
  一、前言
  網(wǎng)絡(luò )爬蟲(chóng)(又稱(chēng)為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò )機器人),是一種按照一定的規則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動(dòng)索引、模擬程序或者蠕蟲(chóng)。------百度百科
  說(shuō)人話(huà)就是,爬蟲(chóng)是用來(lái)海量規則化獲取數據,然后進(jìn)行處理和運用,在大數據、金融、機器學(xué)習等等方面都是必須的支撐條件之一。
  目前在一線(xiàn)城市中,爬蟲(chóng)的崗位薪資待遇都是比較客觀(guān)的,之后提升到中、高級爬蟲(chóng)工程師,數據分析師、大數據開(kāi)發(fā)崗位等,都是很好的過(guò)渡。
  二、項目目標
  本此介紹的項目其實(shí)不用想的太過(guò)復雜,最終要實(shí)現的目標也就是將帖子的每條評論爬取到數據庫中,并且做到可以更新數據,防止重復爬取,反爬等措施。
  三、項目準備
  這部分主要是介紹本文需要用到的工具,涉及的庫,網(wǎng)頁(yè)等信息等
  軟件:PyCharm
  需要的庫:Scrapy, selenium, pymongo, user_agent,datetime
  目標網(wǎng)站:
  http://bbs.foodmate.net
  插件:chromedriver(版本要對)
  四、項目分析1、確定爬取網(wǎng)站的結構
  簡(jiǎn)而言之:確定網(wǎng)站的加載方式,怎樣才能正確的一級一級的進(jìn)入到帖子中抓取數據,使用什么格式保存數據等。
  其次,觀(guān)察網(wǎng)站的層級結構,也就是說(shuō),怎么根據板塊,一點(diǎn)點(diǎn)進(jìn)入到帖子頁(yè)面中,這對本次爬蟲(chóng)任務(wù)非常重要,也是主要編寫(xiě)代碼的部分。
  2、如何選擇合適的方式爬取數據?
  
  目前我知道的爬蟲(chóng)方法大概有如下(不全,但是比較常用):
  1)request框架:運用這個(gè)http庫可以很靈活的爬取需要的數據,簡(jiǎn)單但是過(guò)程稍微繁瑣,并且可以配合抓包工具對數據進(jìn)行獲取。但是需要確定headers頭以及相應的請求參數,否則無(wú)法獲取數據;很多app爬取、圖片視頻爬取隨爬隨停,比較輕量靈活,并且高并發(fā)與分布式部署也非常靈活,對于功能可以更好實(shí)現。
  2)scrapy框架:scrapy框架可以說(shuō)是爬蟲(chóng)最常用,最好用的爬蟲(chóng)框架了,優(yōu)點(diǎn)很多:scrapy 是異步的;采取可讀性更強的 xpath 代替正則;強大的統計和 log 系統;同時(shí)在不同的 url 上爬行;支持 shell 方式,方便獨立調試;支持寫(xiě) middleware方便寫(xiě)一些統一的過(guò)濾器;可以通過(guò)管道的方式存入數據庫等等。這也是本次文章所要介紹的框架(結合selenium庫)。
  五、項目實(shí)現1、第一步:確定網(wǎng)站類(lèi)型
  首先解釋一下是什么意思,看什么網(wǎng)站,首先要看網(wǎng)站的加載方式,是靜態(tài)加載,還是動(dòng)態(tài)加載(js加載),還是別的方式;根據不一樣的加載方式需要不同的辦法應對。然后我們觀(guān)察今天爬取的網(wǎng)站,發(fā)現這是一個(gè)有年代感的論壇,首先猜測是靜態(tài)加載的網(wǎng)站;我們開(kāi)啟組織 js 加載的插件,如下圖所示。
  刷新之后發(fā)現確實(shí)是靜態(tài)網(wǎng)站(如果可以正常加載基本都是靜態(tài)加載的)。
  2、第二步:確定層級關(guān)系
  其次,我們今天要爬取的網(wǎng)站是食品論壇網(wǎng)站,是靜態(tài)加載的網(wǎng)站,在之前分析的時(shí)候已經(jīng)了解了,然后是層級結構:
  大概是上面的流程,總共有三級遞進(jìn)訪(fǎng)問(wèn),之后到達帖子頁(yè)面,如下圖所示。
  部分代碼展示:
  一級界面:
  def parse(self, response): self.logger.info("已進(jìn)入網(wǎng)頁(yè)!") self.logger.info("正在獲取版塊列表!") column_path_list = response.css('#ct > div.mn > div:nth-child(2) > div')[:-1] for column_path in column_path_list: col_paths = column_path.css('div > table > tbody > tr > td > div > a').xpath('@href').extract() for path in col_paths: block_url = response.urljoin(path) yield scrapy.Request( url=block_url, callback=self.get_next_path, )
  二級界面:
  def get_next_path(self, response): self.logger.info("已進(jìn)入版塊!") self.logger.info("正在獲取文章列表!") if response.url == 'http://www.foodmate.net/know/': pass else: try: nums = response.css('#fd_page_bottom > div > label > span::text').extract_first().split(' ')[-2] except: nums = 1 for num in range(1, int(nums) + 1): tbody_list = response.css('#threadlisttableid > tbody') for tbody in tbody_list: if 'normalthread' in str(tbody): item = LunTanItem() item['article_url'] = response.urljoin( tbody.css('* > tr > th > a.s.xst').xpath('@href').extract_first()) item['type'] = response.css( '#ct > div > div.bm.bml.pbn > div.bm_h.cl > h1 > a::text').extract_first() item['title'] = tbody.css('* > tr > th > a.s.xst::text').extract_first() item['spider_type'] = "論壇" item['source'] = "食品論壇" if item['article_url'] != 'http://bbs.foodmate.net/': yield scrapy.Request( url=item['article_url'], callback=self.get_data, meta={'item': item, 'content_info': []} ) try: callback_url = response.css('#fd_page_bottom > div > a.nxt').xpath('@href').extract_first() callback_url = response.urljoin(callback_url) yield scrapy.Request( url=callback_url, callback=self.get_next_path, ) except IndexError: pass
  三級界面:
  def get_data(self, response): self.logger.info("正在爬取論壇數據!") item = response.meta['item'] content_list = [] divs = response.xpath('//*[@id="postlist"]/div') user_name = response.css('div > div.pi > div:nth-child(1) > a::text').extract() publish_time = response.css('div.authi > em::text').extract() floor = divs.css('* strong> a> em::text').extract() s_id = divs.xpath('@id').extract() for i in range(len(divs) - 1): content = '' try:<br /> strong = response.css('#postmessage_' + s_id[i].split('_')[-1] + '').xpath('string(.)').extract() for s in strong: content += s.split(';')[-1].lstrip('\r\n') datas = dict(content=content, # 內容 reply_id=0, # 回復的樓層,默認0 user_name=user_name[i], # ?戶(hù)名 publish_time=publish_time[i].split('于 ')[-1], # %Y-%m-%d %H:%M:%S' id='#' + floor[i], # 樓層 ) content_list.append(datas) except IndexError: pass item['content_info'] = response.meta['content_info'] item['scrawl_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S') item['content_info'] += content_list<br /> data_url = response.css('#ct > div.pgbtn > a').xpath('@href').extract_first() if data_url != None: data_url = response.urljoin(data_url) yield scrapy.Request( url=data_url, callback=self.get_data, meta={'item': item, 'content_info': item['content_info']} ) else: item['scrawl_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S') self.logger.info("正在存儲!") print('儲存成功') yield item
  3、第三步:確定爬取方法
  由于是靜態(tài)網(wǎng)頁(yè),首先決定采用的是scrapy框架直接獲取數據,并且通過(guò)前期測試發(fā)現方法確實(shí)可行,不過(guò)當時(shí)年少輕狂,小看了網(wǎng)站的保護措施,由于耐心有限,沒(méi)有加上定時(shí)器限制爬取速度,導致我被網(wǎng)站加了限制,并且網(wǎng)站由靜態(tài)加載網(wǎng)頁(yè)變?yōu)椋簞?dòng)態(tài)加載網(wǎng)頁(yè)驗證算法之后再進(jìn)入到該網(wǎng)頁(yè),直接訪(fǎng)問(wèn)會(huì )被后臺拒絕。
  但是這種問(wèn)題怎么會(huì )難道我這小聰明,經(jīng)過(guò)我短暫地思考(1天),我將方案改為scrapy框架 + selenium庫的方法,通過(guò)調用chromedriver,模擬訪(fǎng)問(wèn)網(wǎng)站,等網(wǎng)站加載完了再爬取不就完了,后續證明這個(gè)方法確實(shí)可行,并且效率也不錯。
  實(shí)現部分代碼如下:
  def process_request(self, request, spider): chrome_options = Options() chrome_options.add_argument('--headless') # 使用無(wú)頭谷歌瀏覽器模式 chrome_options.add_argument('--disable-gpu') chrome_options.add_argument('--no-sandbox') # 指定谷歌瀏覽器路徑 self.driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='E:/pycharm/workspace/爬蟲(chóng)/scrapy/chromedriver') if request.url != 'http://bbs.foodmate.net/': self.driver.get(request.url) html = self.driver.page_source time.sleep(1) self.driver.quit() return scrapy.http.HtmlResponse(url=request.url, body=html.encode('utf-8'), encoding='utf-8', request=request)
  4、第四步:確定爬取數據的儲存格式
  
  這部分不用多說(shuō),根據自己需求,將需要爬取的數據格式設置在items.py中。在工程中引用該格式保存即可:
  5、第五步:確定保存數據庫
  本次項目選擇保存的數據庫為mongodb,由于是非關(guān)系型數據庫,優(yōu)點(diǎn)顯而易見(jiàn),對格式要求沒(méi)有那么高,可以靈活儲存多維數據,一般是爬蟲(chóng)優(yōu)選數據庫(不要和我說(shuō)redis,會(huì )了我也用,主要是不會(huì ))
  代碼:
  import pymongo<br />class FMPipeline(): def __init__(self): super(FMPipeline, self).__init__() # client = pymongo.MongoClient('139.217.92.75') client = pymongo.MongoClient('localhost') db = client.scrapy_FM self.collection = db.FM<br /> def process_item(self, item, spider): query = { 'article_url': item['article_url'] } self.collection.update_one(query, {"$set": dict(item)}, upsert=True) return item
  這時(shí),有聰明的盆友就會(huì )問(wèn):如果運行兩次爬取到了一樣的數據怎么辦呢?(換句話(huà)說(shuō)就是查重功能)
  這個(gè)問(wèn)題之前我也沒(méi)有考慮,后來(lái)在我詢(xún)問(wèn)大佬的過(guò)程中知道了,在我們存數據的時(shí)候就已經(jīng)做完這件事了,就是這句:
  query = { 'article_url': item['article_url']}self.collection.update_one(query, {"$set": dict(item)}, upsert=True)
  通過(guò)帖子的鏈接確定是否有數據爬取重復,如果重復可以理解為將其覆蓋,這樣也可以做到更新數據。
  6、其他設置
  像多線(xiàn)程、headers頭,管道傳輸順序等問(wèn)題,都在settings.py文件中設置,具體可以參考小編的項目去看,這里不再贅述。
  七、效果展示
  1、點(diǎn)擊運行,結果顯示在控制臺,如下圖所示。
  2、中間會(huì )一直向隊列中堆很多帖子的爬取任務(wù),然后多線(xiàn)程處理,我設置的是16線(xiàn)程,速度還是很可觀(guān)的。
  3、數據庫數據展示:
  content_info中存放著(zhù)每個(gè)帖子的全部留言以及相關(guān)用戶(hù)的公開(kāi)信息。
  八、總結
  1、這篇文章主要給大家介紹了食品網(wǎng)站的數據采集和存儲過(guò)程,詳解了如何分析網(wǎng)頁(yè)結構、爬蟲(chóng)策略、網(wǎng)站類(lèi)型、層級關(guān)系、爬蟲(chóng)方法和數據存儲過(guò)程,最終實(shí)現將帖子的每條評論爬取到數據庫中,并且做到可以更新數據,防止重復爬取,反爬等,干貨滿(mǎn)滿(mǎn)。
  2、本次項目總的來(lái)說(shuō),不是特別難搞,只要思路對了,找到了數據規則,爬起來(lái)可以說(shuō)易如反掌,覺(jué)得難只是之前沒(méi)有完整走過(guò)流程,有了這次比較水的介紹,希望能對你有所幫助,那將是我最大的榮幸。
  3、遇到問(wèn)題首先想的不是問(wèn)同事,朋友,老師,而是去谷歌,百度,看有沒(méi)有相似的情況,看別人的經(jīng)歷,一定要學(xué)會(huì )自己發(fā)現問(wèn)題,思考問(wèn)題,解決問(wèn)題,這對于之后工作有非常大的幫助(我之前就被說(shuō)過(guò)還沒(méi)有脫離學(xué)生時(shí)代,就是我喜歡問(wèn)同事),等網(wǎng)上查詢(xún)了一定資料了,還是沒(méi)有頭緒,再去問(wèn)別人,別人也會(huì )比較愿意幫助你的~
  我是杯酒先生,最后分享我的座右銘給大家:保持獨立思考,不卑不亢不慫。
  最后需要本文項目代碼的小伙伴,請在公眾號后臺回復“食品論壇”關(guān)鍵字進(jìn)行獲取,如果在運行過(guò)程中有遇到任何問(wèn)題,請隨時(shí)留言或者加小編好友,小編看到會(huì )幫助大家解決bug噢! 查看全部

  手把手教你用Scrapy爬蟲(chóng)框架爬取食品論壇數據并存入數據庫
  點(diǎn)擊上方“Python爬蟲(chóng)與數據挖掘”,進(jìn)行關(guān)注
  回復“書(shū)籍”即可獲贈Python從入門(mén)到進(jìn)階共10本電子書(shū)
  今
  日
  雞
  湯
  潮平兩岸闊,風(fēng)正一帆懸。
  大家好,我是杯酒先生,這是我第一次寫(xiě)這種分享項目的文章,可能很水,很不全面,而且肯定存在說(shuō)錯的地方,希望大家可以評論里加以指點(diǎn),不勝感激!
  一、前言
  網(wǎng)絡(luò )爬蟲(chóng)(又稱(chēng)為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò )機器人),是一種按照一定的規則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動(dòng)索引、模擬程序或者蠕蟲(chóng)。------百度百科
  說(shuō)人話(huà)就是,爬蟲(chóng)是用來(lái)海量規則化獲取數據,然后進(jìn)行處理和運用,在大數據、金融、機器學(xué)習等等方面都是必須的支撐條件之一。
  目前在一線(xiàn)城市中,爬蟲(chóng)的崗位薪資待遇都是比較客觀(guān)的,之后提升到中、高級爬蟲(chóng)工程師,數據分析師、大數據開(kāi)發(fā)崗位等,都是很好的過(guò)渡。
  二、項目目標
  本此介紹的項目其實(shí)不用想的太過(guò)復雜,最終要實(shí)現的目標也就是將帖子的每條評論爬取到數據庫中,并且做到可以更新數據,防止重復爬取,反爬等措施。
  三、項目準備
  這部分主要是介紹本文需要用到的工具,涉及的庫,網(wǎng)頁(yè)等信息等
  軟件:PyCharm
  需要的庫:Scrapy, selenium, pymongo, user_agent,datetime
  目標網(wǎng)站:
  http://bbs.foodmate.net
  插件:chromedriver(版本要對)
  四、項目分析1、確定爬取網(wǎng)站的結構
  簡(jiǎn)而言之:確定網(wǎng)站的加載方式,怎樣才能正確的一級一級的進(jìn)入到帖子中抓取數據,使用什么格式保存數據等。
  其次,觀(guān)察網(wǎng)站的層級結構,也就是說(shuō),怎么根據板塊,一點(diǎn)點(diǎn)進(jìn)入到帖子頁(yè)面中,這對本次爬蟲(chóng)任務(wù)非常重要,也是主要編寫(xiě)代碼的部分。
  2、如何選擇合適的方式爬取數據?
  
  目前我知道的爬蟲(chóng)方法大概有如下(不全,但是比較常用):
  1)request框架:運用這個(gè)http庫可以很靈活的爬取需要的數據,簡(jiǎn)單但是過(guò)程稍微繁瑣,并且可以配合抓包工具對數據進(jìn)行獲取。但是需要確定headers頭以及相應的請求參數,否則無(wú)法獲取數據;很多app爬取、圖片視頻爬取隨爬隨停,比較輕量靈活,并且高并發(fā)與分布式部署也非常靈活,對于功能可以更好實(shí)現。
  2)scrapy框架:scrapy框架可以說(shuō)是爬蟲(chóng)最常用,最好用的爬蟲(chóng)框架了,優(yōu)點(diǎn)很多:scrapy 是異步的;采取可讀性更強的 xpath 代替正則;強大的統計和 log 系統;同時(shí)在不同的 url 上爬行;支持 shell 方式,方便獨立調試;支持寫(xiě) middleware方便寫(xiě)一些統一的過(guò)濾器;可以通過(guò)管道的方式存入數據庫等等。這也是本次文章所要介紹的框架(結合selenium庫)。
  五、項目實(shí)現1、第一步:確定網(wǎng)站類(lèi)型
  首先解釋一下是什么意思,看什么網(wǎng)站,首先要看網(wǎng)站的加載方式,是靜態(tài)加載,還是動(dòng)態(tài)加載(js加載),還是別的方式;根據不一樣的加載方式需要不同的辦法應對。然后我們觀(guān)察今天爬取的網(wǎng)站,發(fā)現這是一個(gè)有年代感的論壇,首先猜測是靜態(tài)加載的網(wǎng)站;我們開(kāi)啟組織 js 加載的插件,如下圖所示。
  刷新之后發(fā)現確實(shí)是靜態(tài)網(wǎng)站(如果可以正常加載基本都是靜態(tài)加載的)。
  2、第二步:確定層級關(guān)系
  其次,我們今天要爬取的網(wǎng)站是食品論壇網(wǎng)站,是靜態(tài)加載的網(wǎng)站,在之前分析的時(shí)候已經(jīng)了解了,然后是層級結構:
  大概是上面的流程,總共有三級遞進(jìn)訪(fǎng)問(wèn),之后到達帖子頁(yè)面,如下圖所示。
  部分代碼展示:
  一級界面:
  def parse(self, response): self.logger.info("已進(jìn)入網(wǎng)頁(yè)!") self.logger.info("正在獲取版塊列表!") column_path_list = response.css('#ct > div.mn > div:nth-child(2) > div')[:-1] for column_path in column_path_list: col_paths = column_path.css('div > table > tbody > tr > td > div > a').xpath('@href').extract() for path in col_paths: block_url = response.urljoin(path) yield scrapy.Request( url=block_url, callback=self.get_next_path, )
  二級界面:
  def get_next_path(self, response): self.logger.info("已進(jìn)入版塊!") self.logger.info("正在獲取文章列表!") if response.url == 'http://www.foodmate.net/know/': pass else: try: nums = response.css('#fd_page_bottom > div > label > span::text').extract_first().split(' ')[-2] except: nums = 1 for num in range(1, int(nums) + 1): tbody_list = response.css('#threadlisttableid > tbody') for tbody in tbody_list: if 'normalthread' in str(tbody): item = LunTanItem() item['article_url'] = response.urljoin( tbody.css('* > tr > th > a.s.xst').xpath('@href').extract_first()) item['type'] = response.css( '#ct > div > div.bm.bml.pbn > div.bm_h.cl > h1 > a::text').extract_first() item['title'] = tbody.css('* > tr > th > a.s.xst::text').extract_first() item['spider_type'] = "論壇" item['source'] = "食品論壇" if item['article_url'] != 'http://bbs.foodmate.net/': yield scrapy.Request( url=item['article_url'], callback=self.get_data, meta={'item': item, 'content_info': []} ) try: callback_url = response.css('#fd_page_bottom > div > a.nxt').xpath('@href').extract_first() callback_url = response.urljoin(callback_url) yield scrapy.Request( url=callback_url, callback=self.get_next_path, ) except IndexError: pass
  三級界面:
  def get_data(self, response): self.logger.info("正在爬取論壇數據!") item = response.meta['item'] content_list = [] divs = response.xpath('//*[@id="postlist"]/div') user_name = response.css('div > div.pi > div:nth-child(1) > a::text').extract() publish_time = response.css('div.authi > em::text').extract() floor = divs.css('* strong> a> em::text').extract() s_id = divs.xpath('@id').extract() for i in range(len(divs) - 1): content = '' try:<br /> strong = response.css('#postmessage_' + s_id[i].split('_')[-1] + '').xpath('string(.)').extract() for s in strong: content += s.split(';')[-1].lstrip('\r\n') datas = dict(content=content, # 內容 reply_id=0, # 回復的樓層,默認0 user_name=user_name[i], # ?戶(hù)名 publish_time=publish_time[i].split('于 ')[-1], # %Y-%m-%d %H:%M:%S' id='#' + floor[i], # 樓層 ) content_list.append(datas) except IndexError: pass item['content_info'] = response.meta['content_info'] item['scrawl_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S') item['content_info'] += content_list<br /> data_url = response.css('#ct > div.pgbtn > a').xpath('@href').extract_first() if data_url != None: data_url = response.urljoin(data_url) yield scrapy.Request( url=data_url, callback=self.get_data, meta={'item': item, 'content_info': item['content_info']} ) else: item['scrawl_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S') self.logger.info("正在存儲!") print('儲存成功') yield item
  3、第三步:確定爬取方法
  由于是靜態(tài)網(wǎng)頁(yè),首先決定采用的是scrapy框架直接獲取數據,并且通過(guò)前期測試發(fā)現方法確實(shí)可行,不過(guò)當時(shí)年少輕狂,小看了網(wǎng)站的保護措施,由于耐心有限,沒(méi)有加上定時(shí)器限制爬取速度,導致我被網(wǎng)站加了限制,并且網(wǎng)站由靜態(tài)加載網(wǎng)頁(yè)變?yōu)椋簞?dòng)態(tài)加載網(wǎng)頁(yè)驗證算法之后再進(jìn)入到該網(wǎng)頁(yè),直接訪(fǎng)問(wèn)會(huì )被后臺拒絕。
  但是這種問(wèn)題怎么會(huì )難道我這小聰明,經(jīng)過(guò)我短暫地思考(1天),我將方案改為scrapy框架 + selenium庫的方法,通過(guò)調用chromedriver,模擬訪(fǎng)問(wèn)網(wǎng)站,等網(wǎng)站加載完了再爬取不就完了,后續證明這個(gè)方法確實(shí)可行,并且效率也不錯。
  實(shí)現部分代碼如下:
  def process_request(self, request, spider): chrome_options = Options() chrome_options.add_argument('--headless') # 使用無(wú)頭谷歌瀏覽器模式 chrome_options.add_argument('--disable-gpu') chrome_options.add_argument('--no-sandbox') # 指定谷歌瀏覽器路徑 self.driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='E:/pycharm/workspace/爬蟲(chóng)/scrapy/chromedriver') if request.url != 'http://bbs.foodmate.net/': self.driver.get(request.url) html = self.driver.page_source time.sleep(1) self.driver.quit() return scrapy.http.HtmlResponse(url=request.url, body=html.encode('utf-8'), encoding='utf-8', request=request)
  4、第四步:確定爬取數據的儲存格式
  
  這部分不用多說(shuō),根據自己需求,將需要爬取的數據格式設置在items.py中。在工程中引用該格式保存即可:
  5、第五步:確定保存數據庫
  本次項目選擇保存的數據庫為mongodb,由于是非關(guān)系型數據庫,優(yōu)點(diǎn)顯而易見(jiàn),對格式要求沒(méi)有那么高,可以靈活儲存多維數據,一般是爬蟲(chóng)優(yōu)選數據庫(不要和我說(shuō)redis,會(huì )了我也用,主要是不會(huì ))
  代碼:
  import pymongo<br />class FMPipeline(): def __init__(self): super(FMPipeline, self).__init__() # client = pymongo.MongoClient('139.217.92.75') client = pymongo.MongoClient('localhost') db = client.scrapy_FM self.collection = db.FM<br /> def process_item(self, item, spider): query = { 'article_url': item['article_url'] } self.collection.update_one(query, {"$set": dict(item)}, upsert=True) return item
  這時(shí),有聰明的盆友就會(huì )問(wèn):如果運行兩次爬取到了一樣的數據怎么辦呢?(換句話(huà)說(shuō)就是查重功能)
  這個(gè)問(wèn)題之前我也沒(méi)有考慮,后來(lái)在我詢(xún)問(wèn)大佬的過(guò)程中知道了,在我們存數據的時(shí)候就已經(jīng)做完這件事了,就是這句:
  query = { 'article_url': item['article_url']}self.collection.update_one(query, {"$set": dict(item)}, upsert=True)
  通過(guò)帖子的鏈接確定是否有數據爬取重復,如果重復可以理解為將其覆蓋,這樣也可以做到更新數據。
  6、其他設置
  像多線(xiàn)程、headers頭,管道傳輸順序等問(wèn)題,都在settings.py文件中設置,具體可以參考小編的項目去看,這里不再贅述。
  七、效果展示
  1、點(diǎn)擊運行,結果顯示在控制臺,如下圖所示。
  2、中間會(huì )一直向隊列中堆很多帖子的爬取任務(wù),然后多線(xiàn)程處理,我設置的是16線(xiàn)程,速度還是很可觀(guān)的。
  3、數據庫數據展示:
  content_info中存放著(zhù)每個(gè)帖子的全部留言以及相關(guān)用戶(hù)的公開(kāi)信息。
  八、總結
  1、這篇文章主要給大家介紹了食品網(wǎng)站的數據采集和存儲過(guò)程,詳解了如何分析網(wǎng)頁(yè)結構、爬蟲(chóng)策略、網(wǎng)站類(lèi)型、層級關(guān)系、爬蟲(chóng)方法和數據存儲過(guò)程,最終實(shí)現將帖子的每條評論爬取到數據庫中,并且做到可以更新數據,防止重復爬取,反爬等,干貨滿(mǎn)滿(mǎn)。
  2、本次項目總的來(lái)說(shuō),不是特別難搞,只要思路對了,找到了數據規則,爬起來(lái)可以說(shuō)易如反掌,覺(jué)得難只是之前沒(méi)有完整走過(guò)流程,有了這次比較水的介紹,希望能對你有所幫助,那將是我最大的榮幸。
  3、遇到問(wèn)題首先想的不是問(wèn)同事,朋友,老師,而是去谷歌,百度,看有沒(méi)有相似的情況,看別人的經(jīng)歷,一定要學(xué)會(huì )自己發(fā)現問(wèn)題,思考問(wèn)題,解決問(wèn)題,這對于之后工作有非常大的幫助(我之前就被說(shuō)過(guò)還沒(méi)有脫離學(xué)生時(shí)代,就是我喜歡問(wèn)同事),等網(wǎng)上查詢(xún)了一定資料了,還是沒(méi)有頭緒,再去問(wèn)別人,別人也會(huì )比較愿意幫助你的~
  我是杯酒先生,最后分享我的座右銘給大家:保持獨立思考,不卑不亢不慫。
  最后需要本文項目代碼的小伙伴,請在公眾號后臺回復“食品論壇”關(guān)鍵字進(jìn)行獲取,如果在運行過(guò)程中有遇到任何問(wèn)題,請隨時(shí)留言或者加小編好友,小編看到會(huì )幫助大家解決bug噢!

手機網(wǎng)頁(yè)抓取數據易語(yǔ)言的開(kāi)發(fā)工具有什么作用?

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 131 次瀏覽 ? 2022-07-06 00:03 ? 來(lái)自相關(guān)話(huà)題

  手機網(wǎng)頁(yè)抓取數據易語(yǔ)言的開(kāi)發(fā)工具有什么作用?
  
  網(wǎng)頁(yè)抓取數據百度百科能夠提供常用的詞條基本信息和部分詳細信息,但是其中的特定詞條不是很完整,并且缺少使用者個(gè)人參與,頁(yè)面加載時(shí)間比較長(cháng),不方便使用者閱讀。手機網(wǎng)頁(yè)抓取,在手機上可以實(shí)現基本的頁(yè)面內容抓取,在移動(dòng)端編寫(xiě)腳本實(shí)現復雜的頁(yè)面關(guān)鍵詞和詞條內容等信息抓取,在手機上瀏覽網(wǎng)頁(yè)方便快捷。手機網(wǎng)頁(yè)抓取數據易語(yǔ)言作為一門(mén)開(kāi)發(fā)工具來(lái)說(shuō),可以在語(yǔ)言中實(shí)現更多功能,比如可以同時(shí)開(kāi)發(fā)一個(gè)名字錄入網(wǎng)站,單詞錄入網(wǎng)站等。
  
  數據來(lái)源于,作為一個(gè)復雜詞庫存在的詞庫,數據來(lái)源于。從來(lái)源來(lái)看,實(shí)現了對于同詞庫,同單詞庫詞匯等的復制粘貼,只需把詞匯的詞源進(jìn)行寫(xiě)入便可實(shí)現等功能。操作系統中可選擇用webview和桌面瀏覽器進(jìn)行頁(yè)面抓取。移動(dòng)端手機端采用webview,移動(dòng)端手機端采用桌面瀏覽器,如果沒(méi)有其他特殊需求,一般采用webview進(jìn)行頁(yè)面抓取即可。
  看你具體的功能了。手機網(wǎng)頁(yè),電腦網(wǎng)頁(yè)抓取。另外可以選擇加上下載功能(對于一些想下載其他的,又不想把微信wap頁(yè)面傳過(guò)來(lái)的人,加上下載功能真是不錯)?;蛘吒娔X網(wǎng)頁(yè)一樣,多頁(yè)面進(jìn)行抓取。簡(jiǎn)單有效方法就是先在wap中寫(xiě)入meta標簽提取所需信息,然后直接利用腳本之類(lèi)的來(lái)讀取meta標簽的內容。程序的話(huà),我還在學(xué)習過(guò)程中。最近還是在研究通信,提取信息。工具的話(huà),appium,phonegap這些都有類(lèi)似的功能。 查看全部

  手機網(wǎng)頁(yè)抓取數據易語(yǔ)言的開(kāi)發(fā)工具有什么作用?
  
  網(wǎng)頁(yè)抓取數據百度百科能夠提供常用的詞條基本信息和部分詳細信息,但是其中的特定詞條不是很完整,并且缺少使用者個(gè)人參與,頁(yè)面加載時(shí)間比較長(cháng),不方便使用者閱讀。手機網(wǎng)頁(yè)抓取,在手機上可以實(shí)現基本的頁(yè)面內容抓取,在移動(dòng)端編寫(xiě)腳本實(shí)現復雜的頁(yè)面關(guān)鍵詞和詞條內容等信息抓取,在手機上瀏覽網(wǎng)頁(yè)方便快捷。手機網(wǎng)頁(yè)抓取數據易語(yǔ)言作為一門(mén)開(kāi)發(fā)工具來(lái)說(shuō),可以在語(yǔ)言中實(shí)現更多功能,比如可以同時(shí)開(kāi)發(fā)一個(gè)名字錄入網(wǎng)站,單詞錄入網(wǎng)站等。
  
  數據來(lái)源于,作為一個(gè)復雜詞庫存在的詞庫,數據來(lái)源于。從來(lái)源來(lái)看,實(shí)現了對于同詞庫,同單詞庫詞匯等的復制粘貼,只需把詞匯的詞源進(jìn)行寫(xiě)入便可實(shí)現等功能。操作系統中可選擇用webview和桌面瀏覽器進(jìn)行頁(yè)面抓取。移動(dòng)端手機端采用webview,移動(dòng)端手機端采用桌面瀏覽器,如果沒(méi)有其他特殊需求,一般采用webview進(jìn)行頁(yè)面抓取即可。
  看你具體的功能了。手機網(wǎng)頁(yè),電腦網(wǎng)頁(yè)抓取。另外可以選擇加上下載功能(對于一些想下載其他的,又不想把微信wap頁(yè)面傳過(guò)來(lái)的人,加上下載功能真是不錯)?;蛘吒娔X網(wǎng)頁(yè)一樣,多頁(yè)面進(jìn)行抓取。簡(jiǎn)單有效方法就是先在wap中寫(xiě)入meta標簽提取所需信息,然后直接利用腳本之類(lèi)的來(lái)讀取meta標簽的內容。程序的話(huà),我還在學(xué)習過(guò)程中。最近還是在研究通信,提取信息。工具的話(huà),appium,phonegap這些都有類(lèi)似的功能。

【干貨】盤(pán)點(diǎn)歷年百度算法總結,你“中雷”了嗎?

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 102 次瀏覽 ? 2022-07-05 16:28 ? 來(lái)自相關(guān)話(huà)題

  【干貨】盤(pán)點(diǎn)歷年百度算法總結,你“中雷”了嗎?
  2017年還有2天就結束了
  2017年還有2天就結束了
  2017年還有2天就結束了
  重要的事情三遍
  講個(gè)站長(cháng)們都怕聽(tīng)到的事:
 ?。╤aha……騙你的)
  百度算法又稱(chēng)百度搜索引擎排名算法,做SEO的不可避免和百度打交道,百度算法可以算是幾乎每隔一段時(shí)間都會(huì )對SEOER進(jìn)行檢驗,說(shuō)到排名算法百度算法網(wǎng)站內容,圖片,網(wǎng)站標簽,頁(yè)面代碼均可對算法造成影響。要做好優(yōu)化需對算法做出調整,不可盲目?jì)?yōu)化。今天小編就來(lái)給盤(pán)點(diǎn)一下百度歷年算法,大家一定要收藏哦??!
  文本算法
  上線(xiàn)時(shí)間:不詳
  文本算法:針對網(wǎng)站文本內容為了與關(guān)鍵詞對應而進(jìn)行的內容惡意堆砌(應該算是百度打擊關(guān)鍵詞堆砌的雛形)。
  超鏈算法
  上線(xiàn)時(shí)間:2012年
  超鏈算法:在當時(shí)如果一個(gè)網(wǎng)站被多個(gè)網(wǎng)站引用,那么搜素引擎就會(huì )認為這個(gè)網(wǎng)站就是符合要求的網(wǎng)站,是好的網(wǎng)站?!皟热轂橥?,外鏈為皇”這句話(huà)現在還在廣為流傳。(參考SEO百度百科定在了2012年,且在那一年,算是百度認真對SEO進(jìn)行調整的開(kāi)始,也算是綠蘿的雛形)。
  百度綠籮算法
  上線(xiàn)時(shí)間:2013年2月19號
  百度綠蘿算法:買(mǎi)賣(mài)鏈接的行為,3種類(lèi)型的網(wǎng)站會(huì )受到干擾:超鏈中介、出賣(mài)鏈接的網(wǎng)站、購買(mǎi)鏈接的網(wǎng)站。據說(shuō)設計這個(gè)策略的是位小姑娘,所以命名的權利也給了這位小姑娘,她選擇了綠蘿這個(gè)名稱(chēng),暗合反作弊的凈化之意。綠籮算法影響了10W+低質(zhì)站點(diǎn)。
  百度石榴算法
  上線(xiàn)時(shí)間:2013年5月17號
  百度石榴算法:針對大量妨礙用戶(hù)正常瀏覽的惡劣廣告的頁(yè)面、低質(zhì)量?jì)热蓓?yè)面。石榴算法針對的尤其以彈出大量低質(zhì)彈窗廣告、混淆頁(yè)面主體內容的垃圾廣告頁(yè)面為代表。
  綠籮算法2.0
  上線(xiàn)時(shí)間:2013年7月1號
  
  綠籮算法2.0:軟文中的外鏈及懲罰發(fā)軟文的站點(diǎn)。
  3種類(lèi)型的網(wǎng)站會(huì )受到影響:軟文交易平臺、軟文發(fā)布站、軟文收益站。
  星火計劃(起源算法)
  上線(xiàn)時(shí)間:2013年10月23號
  星火計劃(起源算法):解決原創(chuàng )內容的搜索排名問(wèn)題。設計一套較完善的原創(chuàng )識別算法,建設原創(chuàng )聯(lián)盟,給予原創(chuàng )、優(yōu)質(zhì)站點(diǎn)更高的發(fā)展空間。
  百度搜索引擎網(wǎng)頁(yè)質(zhì)量白皮書(shū)
  上線(xiàn)時(shí)間:2014年8月7號
  百度搜索引擎網(wǎng)頁(yè)質(zhì)量白皮書(shū):簡(jiǎn)單地從內容質(zhì)量、網(wǎng)頁(yè)瀏覽體驗和可訪(fǎng)問(wèn)性三個(gè)角度闡述了百度對網(wǎng)頁(yè)質(zhì)量的評判標準。
  百度冰桶算法1.0
  上線(xiàn)時(shí)間:2014年8月22號
  百度冰桶算法1.0:移動(dòng)端影響用戶(hù)體驗的落地頁(yè)。
  冰桶1.0主要打擊對象包括強行彈窗app下載、用戶(hù)登錄、大面積廣告等影響用戶(hù)正常瀏覽體驗的頁(yè)面,尤其以必須下載app才能正常使用的站點(diǎn)為代表。
  冰桶算法2.0
  上線(xiàn)時(shí)間:2014年11月18日
  冰桶算法2.0:全屏下載、在狹小的手機頁(yè)面布設大面積廣告遮擋主體內容、強制用戶(hù)登錄才可以使用等。
  白楊算法
  上線(xiàn)時(shí)間:2014年12月04日
  白楊算法:旨在實(shí)現網(wǎng)站移動(dòng)化,為更好滿(mǎn)足用戶(hù)地域化需求,也更好扶持各種地方特色類(lèi)站點(diǎn)。
  效果:(1) 排序優(yōu)化:本地信息靠前;(2) 地域明確化: 城市信息前置。
  瑞麗算法
  上線(xiàn)時(shí)間:2015年1月1號
  瑞麗算法:應該是一種誤傳,且百度官方發(fā)出了以下申明:由于網(wǎng)頁(yè)搜索元旦期間出現相關(guān)系統故障,導致部分網(wǎng)站在百度搜索結果中的排序受到影響而出現相關(guān)波動(dòng)情況,今日在加緊修復中,預計今日晚些會(huì )修復完成,請大家密切關(guān)注平臺信息,不要到處傳播及揣測相關(guān)信息,百度沒(méi)有對.cn及.cc域名歧視,請這部分站點(diǎn)不要聽(tīng)信謠言。
  冰桶算法3.0
  上線(xiàn)時(shí)間:2016年7月7號公布,7月15號上線(xiàn)
  冰桶算法3.0:打斷用戶(hù)完整搜索路徑的行為。
  所謂打斷用戶(hù)完整搜索路徑,主要指的是用戶(hù)訪(fǎng)問(wèn)移動(dòng)頁(yè)面時(shí),被強迫打開(kāi)、下載該網(wǎng)站的APP才能繼續瀏覽或使用,但這些APP又不一定是必要或者常用的,簡(jiǎn)單獲取信息的行為被強行變成復雜或高成本的下載行為。百度移動(dòng)搜索會(huì )大幅降低這類(lèi)頁(yè)面在移動(dòng)搜索中的評價(jià)。
  
  百度天網(wǎng)算法
  上線(xiàn)時(shí)間:2016年8月10號公布
  百度天網(wǎng)算法:盜取用戶(hù)隱私的網(wǎng)站。
  盜取用戶(hù)隱私主要表現為網(wǎng)頁(yè)嵌惡意代碼,用于盜取網(wǎng)民的QQ號、手機號等。被檢測處罰的網(wǎng)站經(jīng)過(guò)整改,達到標準,會(huì )解除處罰。
  冰桶算法4.0
  上線(xiàn)時(shí)間:2016年9月27號公布
  冰桶算法4.0:廣告過(guò)多、影響用戶(hù)體驗的移動(dòng)頁(yè)面。
  SEO需要優(yōu)化頁(yè)面廣告布局,控制每屏廣告的比例,保障用戶(hù)瀏覽體驗,以免被算法策略命中,影響網(wǎng)站排名和流量。
  冰桶算法4.5
  上線(xiàn)時(shí)間:2016年10月26號公布
  冰桶算法4.5:發(fā)布惡劣誘導類(lèi)廣告的頁(yè)面。
  所謂惡劣誘導類(lèi)廣告,指的是通過(guò)色情動(dòng)圖、色情導航、露骨文本、賭博等等吸引眼球的形態(tài)誘導用戶(hù)點(diǎn)擊非法廣告。
  就我所見(jiàn),目前這種頁(yè)面依然很多,但排名能保持的很少。
  百度優(yōu)采云算法
  上線(xiàn)時(shí)間:2016年11月21號公布
  百度優(yōu)采云算法:打擊新聞源售賣(mài)軟文、目錄行為。
  觸發(fā)“優(yōu)采云算法”問(wèn)題網(wǎng)站將被清理出新聞源,同時(shí)降低其在百度搜索系統中的評價(jià)。
  百度烽火計劃
  上線(xiàn)時(shí)間:2017年2月23號公布
  百度烽火計劃:百度移動(dòng)搜索頁(yè)面劫持。
  所謂移動(dòng)搜索頁(yè)面劫持,在瀏覽完落地頁(yè)返回搜索結果頁(yè)時(shí),會(huì )進(jìn)入到虛假的百度移動(dòng)搜索結果頁(yè),該頁(yè)面模擬了百度搜索結果首頁(yè),但實(shí)際上是一個(gè)虛假的風(fēng)險站點(diǎn),用戶(hù)訪(fǎng)問(wèn)存在極大的安全隱患,嚴重影響了用戶(hù)的搜索體驗。
  百度沒(méi)有具體說(shuō)明這種劫持是怎樣實(shí)現的。我猜想的一個(gè)可能方式是連續跳轉加上檢測瀏覽器referrer(看懂就看懂,看不懂不解釋?zhuān)?,以前在唯一的一次網(wǎng)上SEO培訓中提到過(guò)這種方法在搜索廣告中的使用,不知道是不是有心人受到了啟發(fā)?
  百度颶風(fēng)算法
  上線(xiàn)時(shí)間:2017年7月4號公布
  百度颶風(fēng)算法:嚴厲打擊以惡劣采集站點(diǎn)(站群、蜘蛛池、寄生蟲(chóng)、bc、劫持)為內容主要來(lái)源的網(wǎng)站,主要是判斷網(wǎng)站的新聞源是否有采集。
  如果發(fā)現存在惡意采集內容,將會(huì )把關(guān)鍵詞降低排名,同時(shí)還會(huì )清除惡意采集鏈接的行為,給認真做內容的網(wǎng)站更多上升排名的機會(huì ),凈化搜索網(wǎng)絡(luò )的環(huán)境。 查看全部

  【干貨】盤(pán)點(diǎn)歷年百度算法總結,你“中雷”了嗎?
  2017年還有2天就結束了
  2017年還有2天就結束了
  2017年還有2天就結束了
  重要的事情三遍
  講個(gè)站長(cháng)們都怕聽(tīng)到的事:
 ?。╤aha……騙你的)
  百度算法又稱(chēng)百度搜索引擎排名算法,做SEO的不可避免和百度打交道,百度算法可以算是幾乎每隔一段時(shí)間都會(huì )對SEOER進(jìn)行檢驗,說(shuō)到排名算法百度算法網(wǎng)站內容,圖片,網(wǎng)站標簽,頁(yè)面代碼均可對算法造成影響。要做好優(yōu)化需對算法做出調整,不可盲目?jì)?yōu)化。今天小編就來(lái)給盤(pán)點(diǎn)一下百度歷年算法,大家一定要收藏哦??!
  文本算法
  上線(xiàn)時(shí)間:不詳
  文本算法:針對網(wǎng)站文本內容為了與關(guān)鍵詞對應而進(jìn)行的內容惡意堆砌(應該算是百度打擊關(guān)鍵詞堆砌的雛形)。
  超鏈算法
  上線(xiàn)時(shí)間:2012年
  超鏈算法:在當時(shí)如果一個(gè)網(wǎng)站被多個(gè)網(wǎng)站引用,那么搜素引擎就會(huì )認為這個(gè)網(wǎng)站就是符合要求的網(wǎng)站,是好的網(wǎng)站?!皟热轂橥?,外鏈為皇”這句話(huà)現在還在廣為流傳。(參考SEO百度百科定在了2012年,且在那一年,算是百度認真對SEO進(jìn)行調整的開(kāi)始,也算是綠蘿的雛形)。
  百度綠籮算法
  上線(xiàn)時(shí)間:2013年2月19號
  百度綠蘿算法:買(mǎi)賣(mài)鏈接的行為,3種類(lèi)型的網(wǎng)站會(huì )受到干擾:超鏈中介、出賣(mài)鏈接的網(wǎng)站、購買(mǎi)鏈接的網(wǎng)站。據說(shuō)設計這個(gè)策略的是位小姑娘,所以命名的權利也給了這位小姑娘,她選擇了綠蘿這個(gè)名稱(chēng),暗合反作弊的凈化之意。綠籮算法影響了10W+低質(zhì)站點(diǎn)。
  百度石榴算法
  上線(xiàn)時(shí)間:2013年5月17號
  百度石榴算法:針對大量妨礙用戶(hù)正常瀏覽的惡劣廣告的頁(yè)面、低質(zhì)量?jì)热蓓?yè)面。石榴算法針對的尤其以彈出大量低質(zhì)彈窗廣告、混淆頁(yè)面主體內容的垃圾廣告頁(yè)面為代表。
  綠籮算法2.0
  上線(xiàn)時(shí)間:2013年7月1號
  
  綠籮算法2.0:軟文中的外鏈及懲罰發(fā)軟文的站點(diǎn)。
  3種類(lèi)型的網(wǎng)站會(huì )受到影響:軟文交易平臺、軟文發(fā)布站、軟文收益站。
  星火計劃(起源算法)
  上線(xiàn)時(shí)間:2013年10月23號
  星火計劃(起源算法):解決原創(chuàng )內容的搜索排名問(wèn)題。設計一套較完善的原創(chuàng )識別算法,建設原創(chuàng )聯(lián)盟,給予原創(chuàng )、優(yōu)質(zhì)站點(diǎn)更高的發(fā)展空間。
  百度搜索引擎網(wǎng)頁(yè)質(zhì)量白皮書(shū)
  上線(xiàn)時(shí)間:2014年8月7號
  百度搜索引擎網(wǎng)頁(yè)質(zhì)量白皮書(shū):簡(jiǎn)單地從內容質(zhì)量、網(wǎng)頁(yè)瀏覽體驗和可訪(fǎng)問(wèn)性三個(gè)角度闡述了百度對網(wǎng)頁(yè)質(zhì)量的評判標準。
  百度冰桶算法1.0
  上線(xiàn)時(shí)間:2014年8月22號
  百度冰桶算法1.0:移動(dòng)端影響用戶(hù)體驗的落地頁(yè)。
  冰桶1.0主要打擊對象包括強行彈窗app下載、用戶(hù)登錄、大面積廣告等影響用戶(hù)正常瀏覽體驗的頁(yè)面,尤其以必須下載app才能正常使用的站點(diǎn)為代表。
  冰桶算法2.0
  上線(xiàn)時(shí)間:2014年11月18日
  冰桶算法2.0:全屏下載、在狹小的手機頁(yè)面布設大面積廣告遮擋主體內容、強制用戶(hù)登錄才可以使用等。
  白楊算法
  上線(xiàn)時(shí)間:2014年12月04日
  白楊算法:旨在實(shí)現網(wǎng)站移動(dòng)化,為更好滿(mǎn)足用戶(hù)地域化需求,也更好扶持各種地方特色類(lèi)站點(diǎn)。
  效果:(1) 排序優(yōu)化:本地信息靠前;(2) 地域明確化: 城市信息前置。
  瑞麗算法
  上線(xiàn)時(shí)間:2015年1月1號
  瑞麗算法:應該是一種誤傳,且百度官方發(fā)出了以下申明:由于網(wǎng)頁(yè)搜索元旦期間出現相關(guān)系統故障,導致部分網(wǎng)站在百度搜索結果中的排序受到影響而出現相關(guān)波動(dòng)情況,今日在加緊修復中,預計今日晚些會(huì )修復完成,請大家密切關(guān)注平臺信息,不要到處傳播及揣測相關(guān)信息,百度沒(méi)有對.cn及.cc域名歧視,請這部分站點(diǎn)不要聽(tīng)信謠言。
  冰桶算法3.0
  上線(xiàn)時(shí)間:2016年7月7號公布,7月15號上線(xiàn)
  冰桶算法3.0:打斷用戶(hù)完整搜索路徑的行為。
  所謂打斷用戶(hù)完整搜索路徑,主要指的是用戶(hù)訪(fǎng)問(wèn)移動(dòng)頁(yè)面時(shí),被強迫打開(kāi)、下載該網(wǎng)站的APP才能繼續瀏覽或使用,但這些APP又不一定是必要或者常用的,簡(jiǎn)單獲取信息的行為被強行變成復雜或高成本的下載行為。百度移動(dòng)搜索會(huì )大幅降低這類(lèi)頁(yè)面在移動(dòng)搜索中的評價(jià)。
  
  百度天網(wǎng)算法
  上線(xiàn)時(shí)間:2016年8月10號公布
  百度天網(wǎng)算法:盜取用戶(hù)隱私的網(wǎng)站。
  盜取用戶(hù)隱私主要表現為網(wǎng)頁(yè)嵌惡意代碼,用于盜取網(wǎng)民的QQ號、手機號等。被檢測處罰的網(wǎng)站經(jīng)過(guò)整改,達到標準,會(huì )解除處罰。
  冰桶算法4.0
  上線(xiàn)時(shí)間:2016年9月27號公布
  冰桶算法4.0:廣告過(guò)多、影響用戶(hù)體驗的移動(dòng)頁(yè)面。
  SEO需要優(yōu)化頁(yè)面廣告布局,控制每屏廣告的比例,保障用戶(hù)瀏覽體驗,以免被算法策略命中,影響網(wǎng)站排名和流量。
  冰桶算法4.5
  上線(xiàn)時(shí)間:2016年10月26號公布
  冰桶算法4.5:發(fā)布惡劣誘導類(lèi)廣告的頁(yè)面。
  所謂惡劣誘導類(lèi)廣告,指的是通過(guò)色情動(dòng)圖、色情導航、露骨文本、賭博等等吸引眼球的形態(tài)誘導用戶(hù)點(diǎn)擊非法廣告。
  就我所見(jiàn),目前這種頁(yè)面依然很多,但排名能保持的很少。
  百度優(yōu)采云算法
  上線(xiàn)時(shí)間:2016年11月21號公布
  百度優(yōu)采云算法:打擊新聞源售賣(mài)軟文、目錄行為。
  觸發(fā)“優(yōu)采云算法”問(wèn)題網(wǎng)站將被清理出新聞源,同時(shí)降低其在百度搜索系統中的評價(jià)。
  百度烽火計劃
  上線(xiàn)時(shí)間:2017年2月23號公布
  百度烽火計劃:百度移動(dòng)搜索頁(yè)面劫持。
  所謂移動(dòng)搜索頁(yè)面劫持,在瀏覽完落地頁(yè)返回搜索結果頁(yè)時(shí),會(huì )進(jìn)入到虛假的百度移動(dòng)搜索結果頁(yè),該頁(yè)面模擬了百度搜索結果首頁(yè),但實(shí)際上是一個(gè)虛假的風(fēng)險站點(diǎn),用戶(hù)訪(fǎng)問(wèn)存在極大的安全隱患,嚴重影響了用戶(hù)的搜索體驗。
  百度沒(méi)有具體說(shuō)明這種劫持是怎樣實(shí)現的。我猜想的一個(gè)可能方式是連續跳轉加上檢測瀏覽器referrer(看懂就看懂,看不懂不解釋?zhuān)?,以前在唯一的一次網(wǎng)上SEO培訓中提到過(guò)這種方法在搜索廣告中的使用,不知道是不是有心人受到了啟發(fā)?
  百度颶風(fēng)算法
  上線(xiàn)時(shí)間:2017年7月4號公布
  百度颶風(fēng)算法:嚴厲打擊以惡劣采集站點(diǎn)(站群、蜘蛛池、寄生蟲(chóng)、bc、劫持)為內容主要來(lái)源的網(wǎng)站,主要是判斷網(wǎng)站的新聞源是否有采集。
  如果發(fā)現存在惡意采集內容,將會(huì )把關(guān)鍵詞降低排名,同時(shí)還會(huì )清除惡意采集鏈接的行為,給認真做內容的網(wǎng)站更多上升排名的機會(huì ),凈化搜索網(wǎng)絡(luò )的環(huán)境。

百度搜索欄的關(guān)鍵詞是什么?如何判斷?(圖)

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 101 次瀏覽 ? 2022-07-01 01:00 ? 來(lái)自相關(guān)話(huà)題

  百度搜索欄的關(guān)鍵詞是什么?如何判斷?(圖)
  網(wǎng)頁(yè)抓取數據百度百科所謂從哪里獲取更多的信息,獲取的信息本身就是相關(guān)的(關(guān)鍵詞,網(wǎng)站,展示頁(yè))搜索無(wú)外乎就是檢索和分詞了,本身都是分詞的結果,這個(gè)是有一個(gè)平臺用戶(hù)免費提供的。這個(gè)平臺對前期一段時(shí)間展示給用戶(hù)的結果都是毫無(wú)意義的,甚至直接忽略。所以如果沒(méi)有用戶(hù)創(chuàng )造詞匯,可能整個(gè)網(wǎng)站都不會(huì )有太多的詞匯。因為本身存在轉換機制,出現這個(gè)詞匯,和出現那個(gè)詞匯都是前期與搜索引擎有關(guān)的一些關(guān)鍵詞,一旦出現,即使免費創(chuàng )造。
  
  然后又有一些結果展示給用戶(hù)去選擇,這些詞匯不會(huì )有太多的價(jià)值。所以整個(gè)網(wǎng)站也不會(huì )有很多關(guān)鍵詞。大概的機制就是這樣。
  一般來(lái)說(shuō),百度搜索引擎是根據關(guān)鍵詞來(lái)檢索頁(yè)面內容的,那么可以根據下面的一些特征來(lái)檢索一些關(guān)鍵詞:用戶(hù)上傳一個(gè)url時(shí),是否上傳到原生搜索欄,如果上傳原生搜索欄,必須要獲取該url所有權,才能檢索搜索結果。如果沒(méi)有獲取原生搜索欄,那么就沒(méi)有辦法訪(fǎng)問(wèn)原生搜索欄的關(guān)鍵詞。如果上傳原生搜索欄,還上傳了詳細的api,可以獲取頁(yè)面的關(guān)鍵詞。
  
  推薦個(gè)simon_yang系列的博客:/
  用戶(hù)上傳的一個(gè)url,可以抓取每個(gè)獨立鏈接一小段內容,這些特征用戶(hù)可以利用爬蟲(chóng)使用正則匹配去尋找,或者根據url中是否包含關(guān)鍵詞來(lái)判斷。其他的方法應該是類(lèi)似于關(guān)鍵詞的組合(比如按組合來(lái)命名一篇帖子), 查看全部

  百度搜索欄的關(guān)鍵詞是什么?如何判斷?(圖)
  網(wǎng)頁(yè)抓取數據百度百科所謂從哪里獲取更多的信息,獲取的信息本身就是相關(guān)的(關(guān)鍵詞,網(wǎng)站,展示頁(yè))搜索無(wú)外乎就是檢索和分詞了,本身都是分詞的結果,這個(gè)是有一個(gè)平臺用戶(hù)免費提供的。這個(gè)平臺對前期一段時(shí)間展示給用戶(hù)的結果都是毫無(wú)意義的,甚至直接忽略。所以如果沒(méi)有用戶(hù)創(chuàng )造詞匯,可能整個(gè)網(wǎng)站都不會(huì )有太多的詞匯。因為本身存在轉換機制,出現這個(gè)詞匯,和出現那個(gè)詞匯都是前期與搜索引擎有關(guān)的一些關(guān)鍵詞,一旦出現,即使免費創(chuàng )造。
  
  然后又有一些結果展示給用戶(hù)去選擇,這些詞匯不會(huì )有太多的價(jià)值。所以整個(gè)網(wǎng)站也不會(huì )有很多關(guān)鍵詞。大概的機制就是這樣。
  一般來(lái)說(shuō),百度搜索引擎是根據關(guān)鍵詞來(lái)檢索頁(yè)面內容的,那么可以根據下面的一些特征來(lái)檢索一些關(guān)鍵詞:用戶(hù)上傳一個(gè)url時(shí),是否上傳到原生搜索欄,如果上傳原生搜索欄,必須要獲取該url所有權,才能檢索搜索結果。如果沒(méi)有獲取原生搜索欄,那么就沒(méi)有辦法訪(fǎng)問(wèn)原生搜索欄的關(guān)鍵詞。如果上傳原生搜索欄,還上傳了詳細的api,可以獲取頁(yè)面的關(guān)鍵詞。
  
  推薦個(gè)simon_yang系列的博客:/
  用戶(hù)上傳的一個(gè)url,可以抓取每個(gè)獨立鏈接一小段內容,這些特征用戶(hù)可以利用爬蟲(chóng)使用正則匹配去尋找,或者根據url中是否包含關(guān)鍵詞來(lái)判斷。其他的方法應該是類(lèi)似于關(guān)鍵詞的組合(比如按組合來(lái)命名一篇帖子),

把一些好的故事放在機器人小八知識(圖)

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 79 次瀏覽 ? 2022-06-30 10:09 ? 來(lái)自相關(guān)話(huà)題

  把一些好的故事放在機器人小八知識(圖)
  網(wǎng)頁(yè)抓取數據百度百科說(shuō)的是,手機里安裝有搜狗瀏覽器,搜狗瀏覽器的search標簽直接顯示了這個(gè)頁(yè)面的內容,是可以通過(guò)瀏覽器抓取的。通過(guò)機器學(xué)習和深度學(xué)習,通過(guò)每日特征加權和特征提取來(lái)反向,適應搜索用戶(hù)的詞匯偏好和產(chǎn)品偏好的,來(lái)盡可能提高搜索質(zhì)量。
  嘗試了用人工智能來(lái)學(xué)習百度百科的一些方法,結果發(fā)現基本不可行,因為通過(guò)用機器學(xué)習模型去搜索百科詞條是很難積累起對話(huà)系統的,因為搜索即對話(huà),對話(huà)系統不需要產(chǎn)生話(huà)題的。比如用一個(gè)程序員搜索女生,這個(gè)程序員對一個(gè)模糊的美女,清華女孩,北大女孩這三個(gè)詞條都是有自己特定偏好的,如果學(xué)習通過(guò)機器學(xué)習模型來(lái)搜索,即使簡(jiǎn)單來(lái)說(shuō)就是按目標詞條搜索,實(shí)際也可能查出來(lái)一堆。
  那么可能的方法是,需要對話(huà)系統對某一領(lǐng)域進(jìn)行過(guò)一次精確匹配,就像一個(gè)程序員,對清華女孩進(jìn)行一次精確匹配就可以搜索出一堆美女。這個(gè)事情還在研究中。
  
  搜狗百科其實(shí)自己有個(gè)機器人小八呀。把一些好的詞句和故事放在機器人小八知識庫里,小八可以通過(guò)這些文章去查找更多這個(gè)領(lǐng)域的相關(guān)信息。程序員拿到小八信息以后,定向抓取。最開(kāi)始,需要是對應的程序員在搜狗搜索框里輸入關(guān)鍵詞、名字,如果輸入了,搜狗搜索框就會(huì )列出相關(guān)詞條,小八會(huì )過(guò)濾出這些詞條,同時(shí)給出接下來(lái)的文章相關(guān)信息。
  抓取到以后,小八要更新相關(guān)詞條信息。程序員輸入機器人自己的名字,搜狗搜索框自動(dòng)從已經(jīng)產(chǎn)生的文章中找出相關(guān)的詞條列表,其中就包括你對應的詞條。程序員拿到詞條信息以后,要把自己的單獨放在一個(gè)文件夾,通過(guò)搜狗輸入法進(jìn)行搜索。和新聞看新聞一樣,將對應的詞條名放在相應文件夾,搜狗輸入法或者搜狗瀏覽器搜索,相關(guān)的詞條會(huì )返回。機器人小八也是這樣的機制。搜狗用戶(hù):。
  1、百度用戶(hù):
  1、
  
  2、
  3、
  5、
  7、
  8、 查看全部

  把一些好的故事放在機器人小八知識(圖)
  網(wǎng)頁(yè)抓取數據百度百科說(shuō)的是,手機里安裝有搜狗瀏覽器,搜狗瀏覽器的search標簽直接顯示了這個(gè)頁(yè)面的內容,是可以通過(guò)瀏覽器抓取的。通過(guò)機器學(xué)習和深度學(xué)習,通過(guò)每日特征加權和特征提取來(lái)反向,適應搜索用戶(hù)的詞匯偏好和產(chǎn)品偏好的,來(lái)盡可能提高搜索質(zhì)量。
  嘗試了用人工智能來(lái)學(xué)習百度百科的一些方法,結果發(fā)現基本不可行,因為通過(guò)用機器學(xué)習模型去搜索百科詞條是很難積累起對話(huà)系統的,因為搜索即對話(huà),對話(huà)系統不需要產(chǎn)生話(huà)題的。比如用一個(gè)程序員搜索女生,這個(gè)程序員對一個(gè)模糊的美女,清華女孩,北大女孩這三個(gè)詞條都是有自己特定偏好的,如果學(xué)習通過(guò)機器學(xué)習模型來(lái)搜索,即使簡(jiǎn)單來(lái)說(shuō)就是按目標詞條搜索,實(shí)際也可能查出來(lái)一堆。
  那么可能的方法是,需要對話(huà)系統對某一領(lǐng)域進(jìn)行過(guò)一次精確匹配,就像一個(gè)程序員,對清華女孩進(jìn)行一次精確匹配就可以搜索出一堆美女。這個(gè)事情還在研究中。
  
  搜狗百科其實(shí)自己有個(gè)機器人小八呀。把一些好的詞句和故事放在機器人小八知識庫里,小八可以通過(guò)這些文章去查找更多這個(gè)領(lǐng)域的相關(guān)信息。程序員拿到小八信息以后,定向抓取。最開(kāi)始,需要是對應的程序員在搜狗搜索框里輸入關(guān)鍵詞、名字,如果輸入了,搜狗搜索框就會(huì )列出相關(guān)詞條,小八會(huì )過(guò)濾出這些詞條,同時(shí)給出接下來(lái)的文章相關(guān)信息。
  抓取到以后,小八要更新相關(guān)詞條信息。程序員輸入機器人自己的名字,搜狗搜索框自動(dòng)從已經(jīng)產(chǎn)生的文章中找出相關(guān)的詞條列表,其中就包括你對應的詞條。程序員拿到詞條信息以后,要把自己的單獨放在一個(gè)文件夾,通過(guò)搜狗輸入法進(jìn)行搜索。和新聞看新聞一樣,將對應的詞條名放在相應文件夾,搜狗輸入法或者搜狗瀏覽器搜索,相關(guān)的詞條會(huì )返回。機器人小八也是這樣的機制。搜狗用戶(hù):。
  1、百度用戶(hù):
  1、
  
  2、
  3、
  5、
  7、
  8、

網(wǎng)頁(yè)抓取數據百度百科的話(huà),一般這個(gè)詞條名是那些算法

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 64 次瀏覽 ? 2022-06-20 11:01 ? 來(lái)自相關(guān)話(huà)題

  網(wǎng)頁(yè)抓取數據百度百科的話(huà),一般這個(gè)詞條名是那些算法
  網(wǎng)頁(yè)抓取數據百度百科詞條的話(huà),一般這個(gè)詞條名是那些算法根據你上傳的關(guān)鍵詞給你匹配的。例如你要抓取2014年6月14日到6月22日之間購房的人的購房意向,首先從csv里面讀取出來(lái)表明購房意向的記錄,然后把這些購房意向放在一個(gè)excel表里面就可以了。如果是建站的話(huà)有的頁(yè)面會(huì )帶上重定向和反向鏈接,爬蟲(chóng)會(huì )自動(dòng)分析下反向鏈接返回的關(guān)鍵詞。
  javascript的jquery技術(shù)實(shí)現的scrapy框架。原理是基于javascript的簡(jiǎn)單異步方法。
  需要些前端知識,用javascript解析text??梢韵扰廊》慨a(chǎn)網(wǎng)站上的銷(xiāo)售二手房時(shí)可能采用的服務(wù),大致形成你所需要的類(lèi)似頁(yè)面。
  首先你得要有能力。
  別說(shuō)會(huì )javascript了,你就是會(huì )扒字典也能做到。
  看你所需要爬取的意向大小咯,要是熱門(mén)詞,銷(xiāo)售字典可能抓取成本就很高,這東西也就是事后分析手段之一。然后你要有時(shí)間咯,爬蟲(chóng)從事業(yè)單位的話(huà)時(shí)間付出巨大的,如果是建站,一定要找好自己后臺的內容庫,一條條從你爬取的關(guān)鍵詞字典里尋找匹配的字符串,然后做詞性分析,合理轉義、排除惡意詞對等等。當然你也可以專(zhuān)門(mén)做特殊字符,這樣更專(zhuān)業(yè)一些。
  瀏覽器里的javascript代碼吧
  就要看你所抓取的網(wǎng)站了如果是房地產(chǎn)話(huà)基本都是按銷(xiāo)售字典來(lái)抓取要想找熱門(mén)詞字典或者手工爬取也可以如果是汽車(chē)廣告站抓取汽車(chē)的詞根來(lái)爬取 查看全部

  網(wǎng)頁(yè)抓取數據百度百科的話(huà),一般這個(gè)詞條名是那些算法
  網(wǎng)頁(yè)抓取數據百度百科詞條的話(huà),一般這個(gè)詞條名是那些算法根據你上傳的關(guān)鍵詞給你匹配的。例如你要抓取2014年6月14日到6月22日之間購房的人的購房意向,首先從csv里面讀取出來(lái)表明購房意向的記錄,然后把這些購房意向放在一個(gè)excel表里面就可以了。如果是建站的話(huà)有的頁(yè)面會(huì )帶上重定向和反向鏈接,爬蟲(chóng)會(huì )自動(dòng)分析下反向鏈接返回的關(guān)鍵詞。
  javascript的jquery技術(shù)實(shí)現的scrapy框架。原理是基于javascript的簡(jiǎn)單異步方法。
  需要些前端知識,用javascript解析text??梢韵扰廊》慨a(chǎn)網(wǎng)站上的銷(xiāo)售二手房時(shí)可能采用的服務(wù),大致形成你所需要的類(lèi)似頁(yè)面。
  首先你得要有能力。
  別說(shuō)會(huì )javascript了,你就是會(huì )扒字典也能做到。
  看你所需要爬取的意向大小咯,要是熱門(mén)詞,銷(xiāo)售字典可能抓取成本就很高,這東西也就是事后分析手段之一。然后你要有時(shí)間咯,爬蟲(chóng)從事業(yè)單位的話(huà)時(shí)間付出巨大的,如果是建站,一定要找好自己后臺的內容庫,一條條從你爬取的關(guān)鍵詞字典里尋找匹配的字符串,然后做詞性分析,合理轉義、排除惡意詞對等等。當然你也可以專(zhuān)門(mén)做特殊字符,這樣更專(zhuān)業(yè)一些。
  瀏覽器里的javascript代碼吧
  就要看你所抓取的網(wǎng)站了如果是房地產(chǎn)話(huà)基本都是按銷(xiāo)售字典來(lái)抓取要想找熱門(mén)詞字典或者手工爬取也可以如果是汽車(chē)廣告站抓取汽車(chē)的詞根來(lái)爬取

多圖預警?。?!圖解百度背后的搜索引擎

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 108 次瀏覽 ? 2022-06-17 16:46 ? 來(lái)自相關(guān)話(huà)題

  多圖預警?。?!圖解百度背后的搜索引擎
  # 寫(xiě)在前面
  今天準備和盆友們一起學(xué)習下關(guān)于通用搜索引擎的一些技術(shù)點(diǎn)。
  鑒于搜索引擎內容非常多,每一部分都夠寫(xiě)好幾篇文章的所以本文只是拋磚引玉,深入挖掘還得老鐵們親力親為。
  通過(guò)本文你將對通用搜索引擎的基本原理和組成有一個(gè)較為清晰的認識,用心讀完,肯定有所收獲!
  廢話(huà)不說(shuō),各位抓緊上車(chē),沖鴨!
  
  # 初識搜索引擎
  1 搜索引擎分類(lèi)
  搜索引擎根據其使用場(chǎng)景和規模,可以簡(jiǎn)單分為兩大類(lèi):
  通用搜索又稱(chēng)為大搜,諸如谷歌、百度、搜狗、神馬等等都屬于這一類(lèi)。
  
  垂直搜索又稱(chēng)為垂搜,是特定領(lǐng)域的搜索,比如用QQ音樂(lè )搜周杰倫的歌等。
  
  兩類(lèi)搜索引擎雖然數據規模和數據特征不一樣,但都是為了填平用戶(hù)和海量信息之間的鴻溝。
  
  2 搜索和推薦
  搜索和推薦經(jīng)常被相提并論,但是二者存在一些區別和聯(lián)系。
  
  3 搜索引擎評價(jià)標準
  我們每天都和搜索引擎打交道,評價(jià)一個(gè)搜索引擎的好壞可簡(jiǎn)單概括為:精準性、時(shí)效性、響應速度、權威性等。
  換句話(huà)說(shuō),搜索引擎懂得用戶(hù)真正想要找什么,可以快速準確地展示出來(lái),對于一些熱點(diǎn)突發(fā)信息也可以及時(shí)收錄展示,就能很好地博得用戶(hù)。
  這個(gè)目標需要搜索引擎多個(gè)模塊協(xié)作處理,是個(gè)復雜的系統工程,并非易事。
  # 通用搜索引擎的整體概覽
  1 搜索引擎的基本流程
  大白嘗試用樸實(shí)的語(yǔ)言來(lái)整體表達下,通用搜索引擎大致是怎么工作的:
  1. 網(wǎng)絡(luò )蜘蛛爬蟲(chóng)每天不辭辛苦地收錄網(wǎng)頁(yè),然后存儲起來(lái),這樣各個(gè)站點(diǎn)的頁(yè)面就有了一份份鏡像,這個(gè)規模是百億/千億級的。
  
  2. 單純地鏡像也不能直接用,需要加工處理,把一個(gè)個(gè)網(wǎng)頁(yè)進(jìn)行分詞,建立搜索詞和網(wǎng)頁(yè)的對應關(guān)系,這樣用戶(hù)搜索某個(gè)東西時(shí),才會(huì )拿到很多相關(guān)的網(wǎng)頁(yè)。
  
  3. 比如"搜索隱秘的角落"可能會(huì )有100個(gè)相關(guān)網(wǎng)頁(yè)被找到,但是網(wǎng)頁(yè)和檢索詞的關(guān)聯(lián)性肯定有強有弱,因此還需要進(jìn)行網(wǎng)頁(yè)的排序,排序策略有很多,最終把優(yōu)質(zhì)的網(wǎng)頁(yè)排在前面展示給用戶(hù)。
  用戶(hù)看到相關(guān)結果之后,進(jìn)行點(diǎn)擊或者跳過(guò),搜索引擎根據用戶(hù)的相關(guān)動(dòng)作進(jìn)行調整,實(shí)現整個(gè)閉環(huán)過(guò)程。
  4. 為了能更好地理解用戶(hù)的真實(shí)用途,需要進(jìn)行檢索詞的意圖理解、詞條切分、同義詞替換、語(yǔ)法糾錯等處理,再根據這些檢索詞去獲取數據,為用戶(hù)找到心中所想的網(wǎng)頁(yè)。
  比如檢索詞為"老鷹",可能是自然界的老鷹,也可能是NBA的一只球隊:
  2 搜索引擎的基本組成
  我們從整體簡(jiǎn)單看下基本組成以及各個(gè)模塊的主要功能:
  
  接下來(lái),我們將粗淺地介紹幾個(gè)模塊的基本內容和技術(shù)點(diǎn)。
  # 網(wǎng)絡(luò )爬蟲(chóng)模塊簡(jiǎn)介
  網(wǎng)絡(luò )爬蟲(chóng)模塊是通用搜索引擎非常的基礎組件,一般都會(huì )采用分布式爬蟲(chóng)來(lái)實(shí)現,我們來(lái)看看這個(gè)搬運工是如何實(shí)現海量網(wǎng)頁(yè)發(fā)掘的:
  
  網(wǎng)絡(luò )爬蟲(chóng)的基本流程:
  在抓取過(guò)程中會(huì )有多種遍歷策略:深度優(yōu)先遍歷DFS、廣度優(yōu)先遍歷BFS、部分PageRank策略、OPIC在線(xiàn)頁(yè)面重要性計算策略、大站優(yōu)先策略等。
  
  在工程實(shí)踐中需要根據自身情況和搜索引擎特點(diǎn)進(jìn)行選擇某種策略或者多種策略組合。
  網(wǎng)絡(luò )爬蟲(chóng)需要遵循Robots協(xié)議(網(wǎng)絡(luò )爬蟲(chóng)排除標準),這是網(wǎng)絡(luò )爬蟲(chóng)和站點(diǎn)之間的君子協(xié)定,站點(diǎn)通過(guò)協(xié)議告訴網(wǎng)絡(luò )爬蟲(chóng)哪些可以抓哪些不可以。
  網(wǎng)絡(luò )爬蟲(chóng)同時(shí)需要考慮抓取頻率,防止給站點(diǎn)造成過(guò)重負擔,總之,搜索引擎的網(wǎng)絡(luò )爬蟲(chóng)需要是個(gè)謙謙君子。
  # 網(wǎng)頁(yè)內容處理模塊
  爬蟲(chóng)模塊將網(wǎng)頁(yè)內容存儲之后,網(wǎng)頁(yè)內存處理模塊開(kāi)始解析網(wǎng)頁(yè)內容,主要工作包括:數據清洗、網(wǎng)頁(yè)內容分詞、建立正排索引、建立倒排索引等。
  
  數據清洗
  一般來(lái)說(shuō),網(wǎng)頁(yè)中除了具體內容還會(huì )有很多無(wú)關(guān)的東西,比如html標簽、推廣等,這些在實(shí)際搜索引擎中都是無(wú)用的。
  內容處理模塊會(huì )將無(wú)用數據、標簽清洗掉,為后續的分詞做準備。
  2中文分詞
  將清洗完成的內容進(jìn)行分詞提取關(guān)鍵詞,比如一個(gè)網(wǎng)頁(yè)內容有1000字,分詞之后大約有50個(gè)詞,相當于提取了網(wǎng)頁(yè)的主干,并且會(huì )對標題、摘要、正文等不同部分的內容做不同權重處理。
  分詞過(guò)程中會(huì )剔除停用詞、虛詞等,比如"的、得、地"等,從而極力還原網(wǎng)頁(yè)的主干內容。
  我們用在線(xiàn)網(wǎng)頁(yè)分詞工具和真實(shí)網(wǎng)頁(yè)來(lái)模擬下這個(gè)過(guò)程:
  網(wǎng)頁(yè)分詞在線(xiàn)工具:
  抓取網(wǎng)頁(yè):
  可以看到分詞后可以標注詞頻,這些都是后續作為網(wǎng)頁(yè)排序的重要來(lái)源,但是中文是很復雜的,因此分詞算法會(huì )有很多種,常見(jiàn)的包括:
  
  3 正排索引
  假定我們將每個(gè)網(wǎng)頁(yè)進(jìn)行唯一編號docid,經(jīng)過(guò)前面的分詞一個(gè)網(wǎng)頁(yè)將被分成不同權重的多個(gè)實(shí)體詞。
  所謂正排就是根據docid可以拿到屬于該網(wǎng)頁(yè)的所有內容,是一個(gè)符合我們思維的正向過(guò)程,相對而言會(huì )有倒排索引。
  我們以一篇《隱秘的角落》劇情簡(jiǎn)介的頁(yè)面為例,模擬分詞情況,大致如下(本分詞結果純屬腦補,以實(shí)際為準):
  
  4 倒排索引
  假如我們對10000個(gè)網(wǎng)頁(yè)進(jìn)行了分詞,其中包含了一些公共檢索詞:微山湖、智取威虎山、三十而立、隱秘的角落等,因此我們匯總之后將建立檢索詞->網(wǎng)頁(yè)的映射關(guān)系。
  
  那么對于檢索詞"隱秘的角落"出現很多個(gè)網(wǎng)頁(yè),倒排索引就相當于從一個(gè)詞能拉取到多少文章的過(guò)程。
  
  就如同我們提到美食就想到:火鍋、燒烤、烤鴨、炒菜等等,是一個(gè)從點(diǎn)到面的過(guò)程,這種逆向過(guò)程在搜索引擎中非常重要。
  
  5 本章小結
  內容處理模塊將抓取到的網(wǎng)頁(yè)進(jìn)行清洗、提前新URL給爬蟲(chóng)模塊、內容分詞、建立正排索引和倒排索引,是個(gè)承上啟下的中間環(huán)節。
  特別地,提一下正排索引和倒排索引,字面上并不直觀(guān),其實(shí)道理并不難理解:
  正排索引:具體到一篇網(wǎng)頁(yè)有多少關(guān)鍵詞,特指屬于該網(wǎng)頁(yè)本身的內容集合,是一個(gè)網(wǎng)頁(yè)。
  倒排索引:一個(gè)檢索關(guān)鍵詞對應多少相關(guān)聯(lián)的網(wǎng)頁(yè),也就是可備選網(wǎng)頁(yè)集合,是一類(lèi)網(wǎng)頁(yè)。
  # 網(wǎng)頁(yè)排序和用戶(hù)模塊
  1 網(wǎng)頁(yè)排序的必要性
  由于存儲的網(wǎng)頁(yè)是百千億級的,那么一個(gè)檢索詞可能對于幾萬(wàn)、幾十萬(wàn)甚至更多相關(guān)的網(wǎng)頁(yè)。
  網(wǎng)頁(yè)排序需要綜合考慮:相關(guān)性、權威性、時(shí)效性、豐富度等多個(gè)方面。
  搜索引擎要展示優(yōu)質(zhì)的強關(guān)聯(lián)網(wǎng)頁(yè)給用戶(hù),并且放在靠前的位置,否則搜索效果將會(huì )很差,用戶(hù)并不買(mǎi)賬。
  事實(shí)上也是如此,比如搜索引擎返回了10頁(yè)結果,每頁(yè)10條,總結100條,一般用戶(hù)點(diǎn)擊到1-3頁(yè)之后的網(wǎng)頁(yè)大概率就不再點(diǎn)擊了,因此排序的頭部?jì)热輰τ谒阉鹘Y果至關(guān)重要。
  我們仍然以檢索"隱秘的角落"為例,百度共計返回了10頁(yè),其中1-2頁(yè)的內容是強關(guān)聯(lián)的,是個(gè)比較不錯的檢索結果了:
  2 網(wǎng)頁(yè)排序的常見(jiàn)策略
  網(wǎng)頁(yè)排序策略是個(gè)不斷優(yōu)化和提升的演進(jìn)過(guò)程,我們來(lái)一起看下都有哪些排序策略:
  這是早期搜索引擎常采取的方法,相對簡(jiǎn)單但是效果還不錯。
  簡(jiǎn)單來(lái)說(shuō)就是根據網(wǎng)頁(yè)中關(guān)鍵詞的出現頻率以及出現位置作為排序依據,因為普遍認為:檢索詞出現次數越多、位置越重要,網(wǎng)頁(yè)的關(guān)聯(lián)性越好,排名越靠前。
  詞頻并不是單純的統計次數,需要有全局觀(guān)念來(lái)判斷關(guān)鍵詞的相對次數,這就是我們要說(shuō)的TF-IDF逆文檔頻率,來(lái)看下百度百科的解釋?zhuān)?br />   TF-IDF (term frequency–inverse document frequency)是一種用于信息檢索與數據挖掘的常用加權技術(shù)。
  TF是詞頻(Term Frequency),IDF是逆文本頻率指數(Inverse Document Frequency)。
  TF-IDF是一種統計方法,用以評估一字詞對于一個(gè)文件集或一個(gè)語(yǔ)料庫中的其中一份文件的重要程度。
  字詞的重要性隨著(zhù)它在文件中出現的次數成正比增加,但同時(shí)會(huì )隨著(zhù)它在語(yǔ)料庫中出現的頻率成反比下降。
  舉個(gè)栗子:
  網(wǎng)頁(yè)中"吃飯"這個(gè)詞出現了10次,雖然次數很多,但是"吃飯"這個(gè)詞過(guò)于普通,因為在很多其他網(wǎng)頁(yè)都出現了,因此"吃飯"這個(gè)檢索詞的重要性就相對下降了。
  鏈接分析排序認為:網(wǎng)頁(yè)被別的網(wǎng)頁(yè)引用的次數越多或者越權威的網(wǎng)頁(yè)引用,說(shuō)明該網(wǎng)頁(yè)質(zhì)量越高。
  
  基于鏈接分析的排序算法有很多種,其中最有名的PageRank算法被谷歌廣泛采用,是其核心排序算法。
  來(lái)看下PageRank算法的基本思想:
  網(wǎng)頁(yè)的重要程度用PageRank值來(lái)衡量,網(wǎng)頁(yè)的PageRank值體現在兩個(gè)方面:引用該網(wǎng)頁(yè)其他網(wǎng)頁(yè)個(gè)數和引用該頁(yè)面的其他頁(yè)面的重要程度。
  假定一個(gè)網(wǎng)頁(yè)A被另一個(gè)網(wǎng)頁(yè)B引用,網(wǎng)頁(yè)B就將PageRank值分配給網(wǎng)頁(yè)B所引用的網(wǎng)頁(yè),所以越多引用網(wǎng)頁(yè)A則其PageRank值也就越高。
  另外網(wǎng)頁(yè)B越重要,它所引用的頁(yè)面能分配到的PageRank值就越多,網(wǎng)頁(yè)A的PageRank值也就越高越重要。
  其實(shí)這個(gè)算法說(shuō)起來(lái)非常簡(jiǎn)單:比如寫(xiě)公眾號,有大V轉載就相當于引用了,越多其他公眾號轉載,說(shuō)明你的公眾號內容質(zhì)量越高。
  
  PageRank算法也存在一定的問(wèn)題,比如對新頁(yè)面不友好,新頁(yè)面暫時(shí)沒(méi)有被大量引用,因此PageRank值很低,并且PageRank算法強調網(wǎng)頁(yè)之間的引用關(guān)系,對網(wǎng)頁(yè)本身的主題內容可能重視程度不夠,也就是所謂的主題漂流問(wèn)題。
  與PageRank算法類(lèi)似于的還有一些其他算法來(lái)彌補主題關(guān)聯(lián)問(wèn)題,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,本文就不再展開(kāi)了。
  3 網(wǎng)頁(yè)反作弊和SEO
  搜索引擎也存在二八原則,頭部的網(wǎng)頁(yè)占據了大量的點(diǎn)擊流量,也意味著(zhù)巨大的商業(yè)價(jià)值。
  這里就要提到SEO,先看下百度百科對SEO的定義:
  搜索引擎優(yōu)化又稱(chēng)為SEO,即Search Engine Optimization,它是一種通過(guò)分析搜索引擎的排名規律,了解各種搜索引擎怎樣進(jìn)行搜索、怎樣抓取互聯(lián)網(wǎng)頁(yè)面、怎樣確定特定關(guān)鍵詞的搜索結果排名的技術(shù)。
  搜索引擎采用易于被搜索引用的手段,對網(wǎng)站進(jìn)行有針對性的優(yōu)化,提高網(wǎng)站在搜索引擎中的自然排名,吸引更多的用戶(hù)訪(fǎng)問(wèn)網(wǎng)站,提高網(wǎng)站的訪(fǎng)問(wèn)量,提高網(wǎng)站的銷(xiāo)售能力和宣傳能力,從而提升網(wǎng)站的品牌效應。
  道高一尺魔高一丈,只有魔法可以打敗魔法。
  
  網(wǎng)頁(yè)反作弊是搜索引擎需要解決的重要問(wèn)題,常見(jiàn)的有內容反作弊、鏈接分析反作弊等。
  
  比如在網(wǎng)頁(yè)內容中增加大量重復熱詞、在標題/摘要等重要位置增加熱度詞、html標簽作弊等等,比如在一篇主題無(wú)聯(lián)系的網(wǎng)頁(yè)中增加大量"隱秘的角落"熱度詞、增加 等強調性html標簽。
  構建大量相互引用的頁(yè)面集合、購買(mǎi)高排名友鏈等等,就是搞很多可以指向自己網(wǎng)頁(yè)的其他網(wǎng)頁(yè),從而構成一個(gè)作弊引用鏈條。
  4 用戶(hù)搜索意圖理解
  用戶(hù)模塊直接和用戶(hù)交互,接收用戶(hù)的搜索詞,準確理解用戶(hù)的搜索意圖非常重要。
  實(shí)際上用戶(hù)的輸入是五花八門(mén)的,偏口語(yǔ)化,甚至有拼寫(xiě)錯誤、并且不同背景的用戶(hù)對同一個(gè)檢索詞的需求不一樣、無(wú)爭議檢索詞的使用目的也不一樣。
  
  這個(gè)檢索詞算是比較優(yōu)質(zhì)了,但是仍然不明確是想找飯店去吃宮保雞???還是想找宮保雞丁的菜譜?還是想查宮保雞丁的歷史起源?還是宮保雞丁的相關(guān)評價(jià)?所以會(huì )出現很多情況。
  口語(yǔ)化檢索詞并且存在錯別字,其中可能涉及詞語(yǔ)糾錯、同義詞轉換等等,才能找到準確的檢索詞,進(jìn)而明確檢索意圖,召回網(wǎng)頁(yè)。
  # 全文總結
  搜索引擎是個(gè)非常復雜的系統工程,涉及非常多的算法和工程實(shí)現,本文旨在和大家一起簡(jiǎn)單梳理搜索引擎的基本組成和運行原理,算是科普文章了。
  搜索引擎中每一個(gè)模塊做好都不容易,也是互聯(lián)網(wǎng)產(chǎn)品中技術(shù)含金量的典型代表,深挖一個(gè)模塊都受益匪淺。
  <p>?往期推薦?
  <br mpa-from-tpl="t" />握草!查詢(xún)提升200倍,它難道想干掉傳統數據庫?公司多扣了員工15元,倒賠了3萬(wàn)!<br />jar包又沖突了?如何快速確定與哪個(gè)jar包沖突?<br />?
  點(diǎn)擊閱讀原文,獲得編程視頻資料!?</p> 查看全部

  多圖預警?。?!圖解百度背后的搜索引擎
  # 寫(xiě)在前面
  今天準備和盆友們一起學(xué)習下關(guān)于通用搜索引擎的一些技術(shù)點(diǎn)。
  鑒于搜索引擎內容非常多,每一部分都夠寫(xiě)好幾篇文章的所以本文只是拋磚引玉,深入挖掘還得老鐵們親力親為。
  通過(guò)本文你將對通用搜索引擎的基本原理和組成有一個(gè)較為清晰的認識,用心讀完,肯定有所收獲!
  廢話(huà)不說(shuō),各位抓緊上車(chē),沖鴨!
  
  # 初識搜索引擎
  1 搜索引擎分類(lèi)
  搜索引擎根據其使用場(chǎng)景和規模,可以簡(jiǎn)單分為兩大類(lèi):
  通用搜索又稱(chēng)為大搜,諸如谷歌、百度、搜狗、神馬等等都屬于這一類(lèi)。
  
  垂直搜索又稱(chēng)為垂搜,是特定領(lǐng)域的搜索,比如用QQ音樂(lè )搜周杰倫的歌等。
  
  兩類(lèi)搜索引擎雖然數據規模和數據特征不一樣,但都是為了填平用戶(hù)和海量信息之間的鴻溝。
  
  2 搜索和推薦
  搜索和推薦經(jīng)常被相提并論,但是二者存在一些區別和聯(lián)系。
  
  3 搜索引擎評價(jià)標準
  我們每天都和搜索引擎打交道,評價(jià)一個(gè)搜索引擎的好壞可簡(jiǎn)單概括為:精準性、時(shí)效性、響應速度、權威性等。
  換句話(huà)說(shuō),搜索引擎懂得用戶(hù)真正想要找什么,可以快速準確地展示出來(lái),對于一些熱點(diǎn)突發(fā)信息也可以及時(shí)收錄展示,就能很好地博得用戶(hù)。
  這個(gè)目標需要搜索引擎多個(gè)模塊協(xié)作處理,是個(gè)復雜的系統工程,并非易事。
  # 通用搜索引擎的整體概覽
  1 搜索引擎的基本流程
  大白嘗試用樸實(shí)的語(yǔ)言來(lái)整體表達下,通用搜索引擎大致是怎么工作的:
  1. 網(wǎng)絡(luò )蜘蛛爬蟲(chóng)每天不辭辛苦地收錄網(wǎng)頁(yè),然后存儲起來(lái),這樣各個(gè)站點(diǎn)的頁(yè)面就有了一份份鏡像,這個(gè)規模是百億/千億級的。
  
  2. 單純地鏡像也不能直接用,需要加工處理,把一個(gè)個(gè)網(wǎng)頁(yè)進(jìn)行分詞,建立搜索詞和網(wǎng)頁(yè)的對應關(guān)系,這樣用戶(hù)搜索某個(gè)東西時(shí),才會(huì )拿到很多相關(guān)的網(wǎng)頁(yè)。
  
  3. 比如"搜索隱秘的角落"可能會(huì )有100個(gè)相關(guān)網(wǎng)頁(yè)被找到,但是網(wǎng)頁(yè)和檢索詞的關(guān)聯(lián)性肯定有強有弱,因此還需要進(jìn)行網(wǎng)頁(yè)的排序,排序策略有很多,最終把優(yōu)質(zhì)的網(wǎng)頁(yè)排在前面展示給用戶(hù)。
  用戶(hù)看到相關(guān)結果之后,進(jìn)行點(diǎn)擊或者跳過(guò),搜索引擎根據用戶(hù)的相關(guān)動(dòng)作進(jìn)行調整,實(shí)現整個(gè)閉環(huán)過(guò)程。
  4. 為了能更好地理解用戶(hù)的真實(shí)用途,需要進(jìn)行檢索詞的意圖理解、詞條切分、同義詞替換、語(yǔ)法糾錯等處理,再根據這些檢索詞去獲取數據,為用戶(hù)找到心中所想的網(wǎng)頁(yè)。
  比如檢索詞為"老鷹",可能是自然界的老鷹,也可能是NBA的一只球隊:
  2 搜索引擎的基本組成
  我們從整體簡(jiǎn)單看下基本組成以及各個(gè)模塊的主要功能:
  
  接下來(lái),我們將粗淺地介紹幾個(gè)模塊的基本內容和技術(shù)點(diǎn)。
  # 網(wǎng)絡(luò )爬蟲(chóng)模塊簡(jiǎn)介
  網(wǎng)絡(luò )爬蟲(chóng)模塊是通用搜索引擎非常的基礎組件,一般都會(huì )采用分布式爬蟲(chóng)來(lái)實(shí)現,我們來(lái)看看這個(gè)搬運工是如何實(shí)現海量網(wǎng)頁(yè)發(fā)掘的:
  
  網(wǎng)絡(luò )爬蟲(chóng)的基本流程:
  在抓取過(guò)程中會(huì )有多種遍歷策略:深度優(yōu)先遍歷DFS、廣度優(yōu)先遍歷BFS、部分PageRank策略、OPIC在線(xiàn)頁(yè)面重要性計算策略、大站優(yōu)先策略等。
  
  在工程實(shí)踐中需要根據自身情況和搜索引擎特點(diǎn)進(jìn)行選擇某種策略或者多種策略組合。
  網(wǎng)絡(luò )爬蟲(chóng)需要遵循Robots協(xié)議(網(wǎng)絡(luò )爬蟲(chóng)排除標準),這是網(wǎng)絡(luò )爬蟲(chóng)和站點(diǎn)之間的君子協(xié)定,站點(diǎn)通過(guò)協(xié)議告訴網(wǎng)絡(luò )爬蟲(chóng)哪些可以抓哪些不可以。
  網(wǎng)絡(luò )爬蟲(chóng)同時(shí)需要考慮抓取頻率,防止給站點(diǎn)造成過(guò)重負擔,總之,搜索引擎的網(wǎng)絡(luò )爬蟲(chóng)需要是個(gè)謙謙君子。
  # 網(wǎng)頁(yè)內容處理模塊
  爬蟲(chóng)模塊將網(wǎng)頁(yè)內容存儲之后,網(wǎng)頁(yè)內存處理模塊開(kāi)始解析網(wǎng)頁(yè)內容,主要工作包括:數據清洗、網(wǎng)頁(yè)內容分詞、建立正排索引、建立倒排索引等。
  
  數據清洗
  一般來(lái)說(shuō),網(wǎng)頁(yè)中除了具體內容還會(huì )有很多無(wú)關(guān)的東西,比如html標簽、推廣等,這些在實(shí)際搜索引擎中都是無(wú)用的。
  內容處理模塊會(huì )將無(wú)用數據、標簽清洗掉,為后續的分詞做準備。
  2中文分詞
  將清洗完成的內容進(jìn)行分詞提取關(guān)鍵詞,比如一個(gè)網(wǎng)頁(yè)內容有1000字,分詞之后大約有50個(gè)詞,相當于提取了網(wǎng)頁(yè)的主干,并且會(huì )對標題、摘要、正文等不同部分的內容做不同權重處理。
  分詞過(guò)程中會(huì )剔除停用詞、虛詞等,比如"的、得、地"等,從而極力還原網(wǎng)頁(yè)的主干內容。
  我們用在線(xiàn)網(wǎng)頁(yè)分詞工具和真實(shí)網(wǎng)頁(yè)來(lái)模擬下這個(gè)過(guò)程:
  網(wǎng)頁(yè)分詞在線(xiàn)工具:
  抓取網(wǎng)頁(yè):
  可以看到分詞后可以標注詞頻,這些都是后續作為網(wǎng)頁(yè)排序的重要來(lái)源,但是中文是很復雜的,因此分詞算法會(huì )有很多種,常見(jiàn)的包括:
  
  3 正排索引
  假定我們將每個(gè)網(wǎng)頁(yè)進(jìn)行唯一編號docid,經(jīng)過(guò)前面的分詞一個(gè)網(wǎng)頁(yè)將被分成不同權重的多個(gè)實(shí)體詞。
  所謂正排就是根據docid可以拿到屬于該網(wǎng)頁(yè)的所有內容,是一個(gè)符合我們思維的正向過(guò)程,相對而言會(huì )有倒排索引。
  我們以一篇《隱秘的角落》劇情簡(jiǎn)介的頁(yè)面為例,模擬分詞情況,大致如下(本分詞結果純屬腦補,以實(shí)際為準):
  
  4 倒排索引
  假如我們對10000個(gè)網(wǎng)頁(yè)進(jìn)行了分詞,其中包含了一些公共檢索詞:微山湖、智取威虎山、三十而立、隱秘的角落等,因此我們匯總之后將建立檢索詞->網(wǎng)頁(yè)的映射關(guān)系。
  
  那么對于檢索詞"隱秘的角落"出現很多個(gè)網(wǎng)頁(yè),倒排索引就相當于從一個(gè)詞能拉取到多少文章的過(guò)程。
  
  就如同我們提到美食就想到:火鍋、燒烤、烤鴨、炒菜等等,是一個(gè)從點(diǎn)到面的過(guò)程,這種逆向過(guò)程在搜索引擎中非常重要。
  
  5 本章小結
  內容處理模塊將抓取到的網(wǎng)頁(yè)進(jìn)行清洗、提前新URL給爬蟲(chóng)模塊、內容分詞、建立正排索引和倒排索引,是個(gè)承上啟下的中間環(huán)節。
  特別地,提一下正排索引和倒排索引,字面上并不直觀(guān),其實(shí)道理并不難理解:
  正排索引:具體到一篇網(wǎng)頁(yè)有多少關(guān)鍵詞,特指屬于該網(wǎng)頁(yè)本身的內容集合,是一個(gè)網(wǎng)頁(yè)。
  倒排索引:一個(gè)檢索關(guān)鍵詞對應多少相關(guān)聯(lián)的網(wǎng)頁(yè),也就是可備選網(wǎng)頁(yè)集合,是一類(lèi)網(wǎng)頁(yè)。
  # 網(wǎng)頁(yè)排序和用戶(hù)模塊
  1 網(wǎng)頁(yè)排序的必要性
  由于存儲的網(wǎng)頁(yè)是百千億級的,那么一個(gè)檢索詞可能對于幾萬(wàn)、幾十萬(wàn)甚至更多相關(guān)的網(wǎng)頁(yè)。
  網(wǎng)頁(yè)排序需要綜合考慮:相關(guān)性、權威性、時(shí)效性、豐富度等多個(gè)方面。
  搜索引擎要展示優(yōu)質(zhì)的強關(guān)聯(lián)網(wǎng)頁(yè)給用戶(hù),并且放在靠前的位置,否則搜索效果將會(huì )很差,用戶(hù)并不買(mǎi)賬。
  事實(shí)上也是如此,比如搜索引擎返回了10頁(yè)結果,每頁(yè)10條,總結100條,一般用戶(hù)點(diǎn)擊到1-3頁(yè)之后的網(wǎng)頁(yè)大概率就不再點(diǎn)擊了,因此排序的頭部?jì)热輰τ谒阉鹘Y果至關(guān)重要。
  我們仍然以檢索"隱秘的角落"為例,百度共計返回了10頁(yè),其中1-2頁(yè)的內容是強關(guān)聯(lián)的,是個(gè)比較不錯的檢索結果了:
  2 網(wǎng)頁(yè)排序的常見(jiàn)策略
  網(wǎng)頁(yè)排序策略是個(gè)不斷優(yōu)化和提升的演進(jìn)過(guò)程,我們來(lái)一起看下都有哪些排序策略:
  這是早期搜索引擎常采取的方法,相對簡(jiǎn)單但是效果還不錯。
  簡(jiǎn)單來(lái)說(shuō)就是根據網(wǎng)頁(yè)中關(guān)鍵詞的出現頻率以及出現位置作為排序依據,因為普遍認為:檢索詞出現次數越多、位置越重要,網(wǎng)頁(yè)的關(guān)聯(lián)性越好,排名越靠前。
  詞頻并不是單純的統計次數,需要有全局觀(guān)念來(lái)判斷關(guān)鍵詞的相對次數,這就是我們要說(shuō)的TF-IDF逆文檔頻率,來(lái)看下百度百科的解釋?zhuān)?br />   TF-IDF (term frequency–inverse document frequency)是一種用于信息檢索與數據挖掘的常用加權技術(shù)。
  TF是詞頻(Term Frequency),IDF是逆文本頻率指數(Inverse Document Frequency)。
  TF-IDF是一種統計方法,用以評估一字詞對于一個(gè)文件集或一個(gè)語(yǔ)料庫中的其中一份文件的重要程度。
  字詞的重要性隨著(zhù)它在文件中出現的次數成正比增加,但同時(shí)會(huì )隨著(zhù)它在語(yǔ)料庫中出現的頻率成反比下降。
  舉個(gè)栗子:
  網(wǎng)頁(yè)中"吃飯"這個(gè)詞出現了10次,雖然次數很多,但是"吃飯"這個(gè)詞過(guò)于普通,因為在很多其他網(wǎng)頁(yè)都出現了,因此"吃飯"這個(gè)檢索詞的重要性就相對下降了。
  鏈接分析排序認為:網(wǎng)頁(yè)被別的網(wǎng)頁(yè)引用的次數越多或者越權威的網(wǎng)頁(yè)引用,說(shuō)明該網(wǎng)頁(yè)質(zhì)量越高。
  
  基于鏈接分析的排序算法有很多種,其中最有名的PageRank算法被谷歌廣泛采用,是其核心排序算法。
  來(lái)看下PageRank算法的基本思想:
  網(wǎng)頁(yè)的重要程度用PageRank值來(lái)衡量,網(wǎng)頁(yè)的PageRank值體現在兩個(gè)方面:引用該網(wǎng)頁(yè)其他網(wǎng)頁(yè)個(gè)數和引用該頁(yè)面的其他頁(yè)面的重要程度。
  假定一個(gè)網(wǎng)頁(yè)A被另一個(gè)網(wǎng)頁(yè)B引用,網(wǎng)頁(yè)B就將PageRank值分配給網(wǎng)頁(yè)B所引用的網(wǎng)頁(yè),所以越多引用網(wǎng)頁(yè)A則其PageRank值也就越高。
  另外網(wǎng)頁(yè)B越重要,它所引用的頁(yè)面能分配到的PageRank值就越多,網(wǎng)頁(yè)A的PageRank值也就越高越重要。
  其實(shí)這個(gè)算法說(shuō)起來(lái)非常簡(jiǎn)單:比如寫(xiě)公眾號,有大V轉載就相當于引用了,越多其他公眾號轉載,說(shuō)明你的公眾號內容質(zhì)量越高。
  
  PageRank算法也存在一定的問(wèn)題,比如對新頁(yè)面不友好,新頁(yè)面暫時(shí)沒(méi)有被大量引用,因此PageRank值很低,并且PageRank算法強調網(wǎng)頁(yè)之間的引用關(guān)系,對網(wǎng)頁(yè)本身的主題內容可能重視程度不夠,也就是所謂的主題漂流問(wèn)題。
  與PageRank算法類(lèi)似于的還有一些其他算法來(lái)彌補主題關(guān)聯(lián)問(wèn)題,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,本文就不再展開(kāi)了。
  3 網(wǎng)頁(yè)反作弊和SEO
  搜索引擎也存在二八原則,頭部的網(wǎng)頁(yè)占據了大量的點(diǎn)擊流量,也意味著(zhù)巨大的商業(yè)價(jià)值。
  這里就要提到SEO,先看下百度百科對SEO的定義:
  搜索引擎優(yōu)化又稱(chēng)為SEO,即Search Engine Optimization,它是一種通過(guò)分析搜索引擎的排名規律,了解各種搜索引擎怎樣進(jìn)行搜索、怎樣抓取互聯(lián)網(wǎng)頁(yè)面、怎樣確定特定關(guān)鍵詞的搜索結果排名的技術(shù)。
  搜索引擎采用易于被搜索引用的手段,對網(wǎng)站進(jìn)行有針對性的優(yōu)化,提高網(wǎng)站在搜索引擎中的自然排名,吸引更多的用戶(hù)訪(fǎng)問(wèn)網(wǎng)站,提高網(wǎng)站的訪(fǎng)問(wèn)量,提高網(wǎng)站的銷(xiāo)售能力和宣傳能力,從而提升網(wǎng)站的品牌效應。
  道高一尺魔高一丈,只有魔法可以打敗魔法。
  
  網(wǎng)頁(yè)反作弊是搜索引擎需要解決的重要問(wèn)題,常見(jiàn)的有內容反作弊、鏈接分析反作弊等。
  
  比如在網(wǎng)頁(yè)內容中增加大量重復熱詞、在標題/摘要等重要位置增加熱度詞、html標簽作弊等等,比如在一篇主題無(wú)聯(lián)系的網(wǎng)頁(yè)中增加大量"隱秘的角落"熱度詞、增加 等強調性html標簽。
  構建大量相互引用的頁(yè)面集合、購買(mǎi)高排名友鏈等等,就是搞很多可以指向自己網(wǎng)頁(yè)的其他網(wǎng)頁(yè),從而構成一個(gè)作弊引用鏈條。
  4 用戶(hù)搜索意圖理解
  用戶(hù)模塊直接和用戶(hù)交互,接收用戶(hù)的搜索詞,準確理解用戶(hù)的搜索意圖非常重要。
  實(shí)際上用戶(hù)的輸入是五花八門(mén)的,偏口語(yǔ)化,甚至有拼寫(xiě)錯誤、并且不同背景的用戶(hù)對同一個(gè)檢索詞的需求不一樣、無(wú)爭議檢索詞的使用目的也不一樣。
  
  這個(gè)檢索詞算是比較優(yōu)質(zhì)了,但是仍然不明確是想找飯店去吃宮保雞???還是想找宮保雞丁的菜譜?還是想查宮保雞丁的歷史起源?還是宮保雞丁的相關(guān)評價(jià)?所以會(huì )出現很多情況。
  口語(yǔ)化檢索詞并且存在錯別字,其中可能涉及詞語(yǔ)糾錯、同義詞轉換等等,才能找到準確的檢索詞,進(jìn)而明確檢索意圖,召回網(wǎng)頁(yè)。
  # 全文總結
  搜索引擎是個(gè)非常復雜的系統工程,涉及非常多的算法和工程實(shí)現,本文旨在和大家一起簡(jiǎn)單梳理搜索引擎的基本組成和運行原理,算是科普文章了。
  搜索引擎中每一個(gè)模塊做好都不容易,也是互聯(lián)網(wǎng)產(chǎn)品中技術(shù)含金量的典型代表,深挖一個(gè)模塊都受益匪淺。
  <p>?往期推薦?
  <br mpa-from-tpl="t" />握草!查詢(xún)提升200倍,它難道想干掉傳統數據庫?公司多扣了員工15元,倒賠了3萬(wàn)!<br />jar包又沖突了?如何快速確定與哪個(gè)jar包沖突?<br />?
  點(diǎn)擊閱讀原文,獲得編程視頻資料!?</p>

圖解 | 通用搜索引擎背后的技術(shù)點(diǎn)

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 82 次瀏覽 ? 2022-06-17 16:45 ? 來(lái)自相關(guān)話(huà)題

  圖解 | 通用搜索引擎背后的技術(shù)點(diǎn)
  
  
  來(lái)源 |后端技術(shù)指南針頭圖 | 圖蟲(chóng)
  
  寫(xiě)在前面
  今天準備和盆友們一起學(xué)習下關(guān)于通用搜索引擎的一些技術(shù)點(diǎn)。
  鑒于搜索引擎內容非常多,每一部分都夠寫(xiě)好幾篇文章的所以本文只是拋磚引玉,深入挖掘還得老鐵們親力親為。
  通過(guò)本文你將對通用搜索引擎的基本原理和組成有一個(gè)較為清晰的認識,用心讀完,肯定有所收獲!
  廢話(huà)不說(shuō),各位抓緊上車(chē),沖鴨!
  
  初識搜索引擎
  2.1 搜索引擎分類(lèi)
  搜索引擎根據其使用場(chǎng)景和規模,可以簡(jiǎn)單分為兩大類(lèi):
  通用搜索又稱(chēng)為大搜,諸如谷歌、百度、搜狗、神馬等等都屬于這一類(lèi)。
  
  垂直搜索又稱(chēng)為垂搜,是特定領(lǐng)域的搜索,比如用QQ音樂(lè )搜周杰倫的歌等。
  
  兩類(lèi)搜索引擎雖然數據規模和數據特征不一樣,但都是為了填平用戶(hù)和海量信息之間的鴻溝。
  
  2.2 搜索和推薦
  搜索和推薦經(jīng)常被相提并論,但是二者存在一些區別和聯(lián)系。
  
  2.3 搜索引擎評價(jià)標準
  我們每天都和搜索引擎打交道,評價(jià)一個(gè)搜索引擎的好壞可簡(jiǎn)單概括為:精準性、時(shí)效性、響應速度、權威性等。
  換句話(huà)說(shuō),搜索引擎懂得用戶(hù)真正想要找什么,可以快速準確地展示出來(lái),對于一些熱點(diǎn)突發(fā)信息也可以及時(shí)收錄展示,就能很好地博得用戶(hù)。
  這個(gè)目標需要搜索引擎多個(gè)模塊協(xié)作處理,是個(gè)復雜的系統工程,并非易事。
  
  通用搜索引擎的整體概覽
  3.1 搜索引擎的基本流程
  大白嘗試用樸實(shí)的語(yǔ)言來(lái)整體表達下,通用搜索引擎大致是怎么工作的:
  1. 網(wǎng)絡(luò )蜘蛛爬蟲(chóng)每天不辭辛苦地收錄網(wǎng)頁(yè),然后存儲起來(lái),這樣各個(gè)站點(diǎn)的頁(yè)面就有了一份份鏡像,這個(gè)規模是百億/千億級的。
  
  2. 單純地鏡像也不能直接用,需要加工處理,把一個(gè)個(gè)網(wǎng)頁(yè)進(jìn)行分詞,建立搜索詞和網(wǎng)頁(yè)的對應關(guān)系,這樣用戶(hù)搜索某個(gè)東西時(shí),才會(huì )拿到很多相關(guān)的網(wǎng)頁(yè)。
  
  3. 比如"搜索隱秘的角落"可能會(huì )有100個(gè)相關(guān)網(wǎng)頁(yè)被找到,但是網(wǎng)頁(yè)和檢索詞的關(guān)聯(lián)性肯定有強有弱,因此還需要進(jìn)行網(wǎng)頁(yè)的排序,排序策略有很多,最終把優(yōu)質(zhì)的網(wǎng)頁(yè)排在前面展示給用戶(hù)。
  用戶(hù)看到相關(guān)結果之后,進(jìn)行點(diǎn)擊或者跳過(guò),搜索引擎根據用戶(hù)的相關(guān)動(dòng)作進(jìn)行調整,實(shí)現整個(gè)閉環(huán)過(guò)程。
  4. 為了能更好地理解用戶(hù)的真實(shí)用途,需要進(jìn)行檢索詞的意圖理解、詞條切分、同義詞替換、語(yǔ)法糾錯等處理,再根據這些檢索詞去獲取數據,為用戶(hù)找到心中所想的網(wǎng)頁(yè)。
  比如檢索詞為"老鷹",可能是自然界的老鷹,也可能是NBA的一只球隊:
  3.2 搜索引擎的基本組成
  我們從整體簡(jiǎn)單看下基本組成以及各個(gè)模塊的主要功能:
  
  接下來(lái),我們將粗淺地介紹幾個(gè)模塊的基本內容和技術(shù)點(diǎn)。
  
  網(wǎng)絡(luò )爬蟲(chóng)模塊簡(jiǎn)介
  網(wǎng)絡(luò )爬蟲(chóng)模塊是通用搜索引擎非常的基礎組件,一般都會(huì )采用分布式爬蟲(chóng)來(lái)實(shí)現,我們來(lái)看看這個(gè)搬運工是如何實(shí)現海量網(wǎng)頁(yè)發(fā)掘的:
  
  網(wǎng)絡(luò )爬蟲(chóng)的基本流程:
  在抓取過(guò)程中會(huì )有多種遍歷策略:深度優(yōu)先遍歷DFS、廣度優(yōu)先遍歷BFS、部分PageRank策略、OPIC在線(xiàn)頁(yè)面重要性計算策略、大站優(yōu)先策略等。
  
  在工程實(shí)踐中需要根據自身情況和搜索引擎特點(diǎn)進(jìn)行選擇某種策略或者多種策略組合。
  網(wǎng)絡(luò )爬蟲(chóng)需要遵循Robots協(xié)議(網(wǎng)絡(luò )爬蟲(chóng)排除標準),這是網(wǎng)絡(luò )爬蟲(chóng)和站點(diǎn)之間的君子協(xié)定,站點(diǎn)通過(guò)協(xié)議告訴網(wǎng)絡(luò )爬蟲(chóng)哪些可以抓哪些不可以。
  網(wǎng)絡(luò )爬蟲(chóng)同時(shí)需要考慮抓取頻率,防止給站點(diǎn)造成過(guò)重負擔,總之,搜索引擎的網(wǎng)絡(luò )爬蟲(chóng)需要是個(gè)謙謙君子。
  
  網(wǎng)頁(yè)內容處理模塊
  爬蟲(chóng)模塊將網(wǎng)頁(yè)內容存儲之后,網(wǎng)頁(yè)內存處理模塊開(kāi)始解析網(wǎng)頁(yè)內容,主要工作包括:數據清洗、網(wǎng)頁(yè)內容分詞、建立正排索引、建立倒排索引等。
  
  5.1 數據清洗
  一般來(lái)說(shuō),網(wǎng)頁(yè)中除了具體內容還會(huì )有很多無(wú)關(guān)的東西,比如html標簽、推廣等,這些在實(shí)際搜索引擎中都是無(wú)用的。
  內容處理模塊會(huì )將無(wú)用數據、標簽清洗掉,為后續的分詞做準備。
  5.2 中文分詞
  將清洗完成的內容進(jìn)行分詞提取關(guān)鍵詞,比如一個(gè)網(wǎng)頁(yè)內容有1000字,分詞之后大約有50個(gè)詞,相當于提取了網(wǎng)頁(yè)的主干,并且會(huì )對標題、摘要、正文等不同部分的內容做不同權重處理。
  分詞過(guò)程中會(huì )剔除停用詞、虛詞等,比如"的、得、地"等,從而極力還原網(wǎng)頁(yè)的主干內容。
  我們用在線(xiàn)網(wǎng)頁(yè)分詞工具和真實(shí)網(wǎng)頁(yè)來(lái)模擬下這個(gè)過(guò)程:網(wǎng)頁(yè)分詞在線(xiàn)工具:
  抓取網(wǎng)頁(yè):
  可以看到分詞后可以標注詞頻,這些都是后續作為網(wǎng)頁(yè)排序的重要來(lái)源,但是中文是很復雜的,因此分詞算法會(huì )有很多種,常見(jiàn)的包括:
  
  5.3 正排索引
  假定我們將每個(gè)網(wǎng)頁(yè)進(jìn)行唯一編號docid,經(jīng)過(guò)前面的分詞一個(gè)網(wǎng)頁(yè)將被分成不同權重的多個(gè)實(shí)體詞。
  所謂正排就是根據docid可以拿到屬于該網(wǎng)頁(yè)的所有內容,是一個(gè)符合我們思維的正向過(guò)程,相對而言會(huì )有倒排索引。
  我們以一篇《隱秘的角落》劇情簡(jiǎn)介的頁(yè)面為例,模擬分詞情況,大致如下(本分詞結果純屬腦補,以實(shí)際為準):
  
  5.4 倒排索引
  假如我們對10000個(gè)網(wǎng)頁(yè)進(jìn)行了分詞,其中包含了一些公共檢索詞:微山湖、智取威虎山、三十而立、隱秘的角落等,因此我們匯總之后將建立檢索詞->網(wǎng)頁(yè)的映射關(guān)系。
  
  那么對于檢索詞"隱秘的角落"出現很多個(gè)網(wǎng)頁(yè),倒排索引就相當于從一個(gè)詞能拉取到多少文章的過(guò)程。
  
  就如同我們提到美食就想到:火鍋、燒烤、烤鴨、炒菜等等,是一個(gè)從點(diǎn)到面的過(guò)程,這種逆向過(guò)程在搜索引擎中非常重要。
  
  5.5 本章小結
  內容處理模塊將抓取到的網(wǎng)頁(yè)進(jìn)行清洗、提前新URL給爬蟲(chóng)模塊、內容分詞、建立正排索引和倒排索引,是個(gè)承上啟下的中間環(huán)節。
  特別地,提一下正排索引和倒排索引,字面上并不直觀(guān),其實(shí)道理并不難理解:正排索引:具體到一篇網(wǎng)頁(yè)有多少關(guān)鍵詞,特指屬于該網(wǎng)頁(yè)本身的內容集合,是一個(gè)網(wǎng)頁(yè)。倒排索引:一個(gè)檢索關(guān)鍵詞對應多少相關(guān)聯(lián)的網(wǎng)頁(yè),也就是可備選網(wǎng)頁(yè)集合,是一類(lèi)網(wǎng)頁(yè)。
  
  網(wǎng)頁(yè)排序和用戶(hù)模塊
  6.1 網(wǎng)頁(yè)排序的必要性
  由于存儲的網(wǎng)頁(yè)是百千億級的,那么一個(gè)檢索詞可能對于幾萬(wàn)、幾十萬(wàn)甚至更多相關(guān)的網(wǎng)頁(yè)。
  網(wǎng)頁(yè)排序需要綜合考慮:相關(guān)性、權威性、時(shí)效性、豐富度等多個(gè)方面。
  搜索引擎要展示優(yōu)質(zhì)的強關(guān)聯(lián)網(wǎng)頁(yè)給用戶(hù),并且放在靠前的位置,否則搜索效果將會(huì )很差,用戶(hù)并不買(mǎi)賬。
  事實(shí)上也是如此,比如搜索引擎返回了10頁(yè)結果,每頁(yè)10條,總結100條,一般用戶(hù)點(diǎn)擊到1-3頁(yè)之后的網(wǎng)頁(yè)大概率就不再點(diǎn)擊了,因此排序的頭部?jì)热輰τ谒阉鹘Y果至關(guān)重要。
  我們仍然以檢索"隱秘的角落"為例,百度共計返回了10頁(yè),其中1-2頁(yè)的內容是強關(guān)聯(lián)的,是個(gè)比較不錯的檢索結果了:
  6.2 網(wǎng)頁(yè)排序的常見(jiàn)策略
  網(wǎng)頁(yè)排序策略是個(gè)不斷優(yōu)化和提升的演進(jìn)過(guò)程,我們來(lái)一起看下都有哪些排序策略:
  這是早期搜索引擎常采取的方法,相對簡(jiǎn)單但是效果還不錯。
  簡(jiǎn)單來(lái)說(shuō)就是根據網(wǎng)頁(yè)中關(guān)鍵詞的出現頻率以及出現位置作為排序依據,因為普遍認為:檢索詞出現次數越多、位置越重要,網(wǎng)頁(yè)的關(guān)聯(lián)性越好,排名越靠前。詞頻并不是單純的統計次數,需要有全局觀(guān)念來(lái)判斷關(guān)鍵詞的相對次數,這就是我們要說(shuō)的TF-IDF逆文檔頻率,來(lái)看下百度百科的解釋?zhuān)篢F-IDF (term frequency–inverse document frequency)是一種用于信息檢索與數據挖掘的常用加權技術(shù)。TF是詞頻(Term Frequency),IDF是逆文本頻率指數(Inverse Document Frequency)。TF-IDF是一種統計方法,用以評估一字詞對于一個(gè)文件集或一個(gè)語(yǔ)料庫中的其中一份文件的重要程度。字詞的重要性隨著(zhù)它在文件中出現的次數成正比增加,但同時(shí)會(huì )隨著(zhù)它在語(yǔ)料庫中出現的頻率成反比下降。舉個(gè)栗子:
  網(wǎng)頁(yè)中"吃飯"這個(gè)詞出現了10次,雖然次數很多,但是"吃飯"這個(gè)詞過(guò)于普通,因為在很多其他網(wǎng)頁(yè)都出現了,因此"吃飯"這個(gè)檢索詞的重要性就相對下降了。
  鏈接分析排序認為:網(wǎng)頁(yè)被別的網(wǎng)頁(yè)引用的次數越多或者越權威的網(wǎng)頁(yè)引用,說(shuō)明該網(wǎng)頁(yè)質(zhì)量越高。
  
  基于鏈接分析的排序算法有很多種,其中最有名的PageRank算法被谷歌廣泛采用,是其核心排序算法。
  來(lái)看下PageRank算法的基本思想:網(wǎng)頁(yè)的重要程度用PageRank值來(lái)衡量,網(wǎng)頁(yè)的PageRank值體現在兩個(gè)方面:引用該網(wǎng)頁(yè)其他網(wǎng)頁(yè)個(gè)數和引用該頁(yè)面的其他頁(yè)面的重要程度。假定一個(gè)網(wǎng)頁(yè)A被另一個(gè)網(wǎng)頁(yè)B引用,網(wǎng)頁(yè)B就將PageRank值分配給網(wǎng)頁(yè)B所引用的網(wǎng)頁(yè),所以越多引用網(wǎng)頁(yè)A則其PageRank值也就越高。另外網(wǎng)頁(yè)B越重要,它所引用的頁(yè)面能分配到的PageRank值就越多,網(wǎng)頁(yè)A的PageRank值也就越高越重要。其實(shí)這個(gè)算法說(shuō)起來(lái)非常簡(jiǎn)單:比如寫(xiě)公眾號,有大V轉載就相當于引用了,越多其他公眾號轉載,說(shuō)明你的公眾號內容質(zhì)量越高。
  
  PageRank算法也存在一定的問(wèn)題,比如對新頁(yè)面不友好,新頁(yè)面暫時(shí)沒(méi)有被大量引用,因此PageRank值很低,并且PageRank算法強調網(wǎng)頁(yè)之間的引用關(guān)系,對網(wǎng)頁(yè)本身的主題內容可能重視程度不夠,也就是所謂的主題漂流問(wèn)題。
  與PageRank算法類(lèi)似于的還有一些其他算法來(lái)彌補主題關(guān)聯(lián)問(wèn)題,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,本文就不再展開(kāi)了。
  6.3 網(wǎng)頁(yè)反作弊和SEO
  搜索引擎也存在二八原則,頭部的網(wǎng)頁(yè)占據了大量的點(diǎn)擊流量,也意味著(zhù)巨大的商業(yè)價(jià)值。
  這里就要提到SEO,先看下百度百科對SEO的定義:搜索引擎優(yōu)化又稱(chēng)為SEO,即Search Engine Optimization,它是一種通過(guò)分析搜索引擎的排名規律,了解各種搜索引擎怎樣進(jìn)行搜索、怎樣抓取互聯(lián)網(wǎng)頁(yè)面、怎樣確定特定關(guān)鍵詞的搜索結果排名的技術(shù)。搜索引擎采用易于被搜索引用的手段,對網(wǎng)站進(jìn)行有針對性的優(yōu)化,提高網(wǎng)站在搜索引擎中的自然排名,吸引更多的用戶(hù)訪(fǎng)問(wèn)網(wǎng)站,提高網(wǎng)站的訪(fǎng)問(wèn)量,提高網(wǎng)站的銷(xiāo)售能力和宣傳能力,從而提升網(wǎng)站的品牌效應。道高一尺魔高一丈,只有魔法可以打敗魔法。
  
  網(wǎng)頁(yè)反作弊是搜索引擎需要解決的重要問(wèn)題,常見(jiàn)的有內容反作弊、鏈接分析反作弊等。
  
  6.4 用戶(hù)搜索意圖理解
  用戶(hù)模塊直接和用戶(hù)交互,接收用戶(hù)的搜索詞,準確理解用戶(hù)的搜索意圖非常重要。
  實(shí)際上用戶(hù)的輸入是五花八門(mén)的,偏口語(yǔ)化,甚至有拼寫(xiě)錯誤、并且不同背景的用戶(hù)對同一個(gè)檢索詞的需求不一樣、無(wú)爭議檢索詞的使用目的也不一樣。
  
  
  全文總結
  搜索引擎是個(gè)非常復雜的系統工程,涉及非常多的算法和工程實(shí)現,本文旨在和大家一起簡(jiǎn)單梳理搜索引擎的基本組成和運行原理,算是科普文章了。
  搜索引擎中每一個(gè)模塊做好都不容易,也是互聯(lián)網(wǎng)產(chǎn)品中技術(shù)含金量的典型代表,深挖一個(gè)模塊都受益匪淺。
  
  <p class="js_darkmode__17" style="margin: 15px 8px;color: rgb(73, 73, 73);white-space: normal;font-family: -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;font-size: 11pt;line-height: 1.75em;">更多精彩推薦</p>
  ?停滯數年后,ElasticJob 攜首個(gè) Apache 版本 3.0.0-alpha 回歸!?寫(xiě)不出滿(mǎn)分作文怎么辦,GPT-3 來(lái)幫你?互聯(lián)網(wǎng)不相信學(xué)渣?收藏!美國博士明確給出Python的高效學(xué)習技巧?垃圾回收策略和算法,看這篇就夠了?2020 以太坊技術(shù)及應用大會(huì )·中國圓滿(mǎn)落幕,大咖們的演講精華都在這里了!點(diǎn)分享點(diǎn)點(diǎn)贊點(diǎn)在看 查看全部

  圖解 | 通用搜索引擎背后的技術(shù)點(diǎn)
  
  
  來(lái)源 |后端技術(shù)指南針頭圖 | 圖蟲(chóng)
  
  寫(xiě)在前面
  今天準備和盆友們一起學(xué)習下關(guān)于通用搜索引擎的一些技術(shù)點(diǎn)。
  鑒于搜索引擎內容非常多,每一部分都夠寫(xiě)好幾篇文章的所以本文只是拋磚引玉,深入挖掘還得老鐵們親力親為。
  通過(guò)本文你將對通用搜索引擎的基本原理和組成有一個(gè)較為清晰的認識,用心讀完,肯定有所收獲!
  廢話(huà)不說(shuō),各位抓緊上車(chē),沖鴨!
  
  初識搜索引擎
  2.1 搜索引擎分類(lèi)
  搜索引擎根據其使用場(chǎng)景和規模,可以簡(jiǎn)單分為兩大類(lèi):
  通用搜索又稱(chēng)為大搜,諸如谷歌、百度、搜狗、神馬等等都屬于這一類(lèi)。
  
  垂直搜索又稱(chēng)為垂搜,是特定領(lǐng)域的搜索,比如用QQ音樂(lè )搜周杰倫的歌等。
  
  兩類(lèi)搜索引擎雖然數據規模和數據特征不一樣,但都是為了填平用戶(hù)和海量信息之間的鴻溝。
  
  2.2 搜索和推薦
  搜索和推薦經(jīng)常被相提并論,但是二者存在一些區別和聯(lián)系。
  
  2.3 搜索引擎評價(jià)標準
  我們每天都和搜索引擎打交道,評價(jià)一個(gè)搜索引擎的好壞可簡(jiǎn)單概括為:精準性、時(shí)效性、響應速度、權威性等。
  換句話(huà)說(shuō),搜索引擎懂得用戶(hù)真正想要找什么,可以快速準確地展示出來(lái),對于一些熱點(diǎn)突發(fā)信息也可以及時(shí)收錄展示,就能很好地博得用戶(hù)。
  這個(gè)目標需要搜索引擎多個(gè)模塊協(xié)作處理,是個(gè)復雜的系統工程,并非易事。
  
  通用搜索引擎的整體概覽
  3.1 搜索引擎的基本流程
  大白嘗試用樸實(shí)的語(yǔ)言來(lái)整體表達下,通用搜索引擎大致是怎么工作的:
  1. 網(wǎng)絡(luò )蜘蛛爬蟲(chóng)每天不辭辛苦地收錄網(wǎng)頁(yè),然后存儲起來(lái),這樣各個(gè)站點(diǎn)的頁(yè)面就有了一份份鏡像,這個(gè)規模是百億/千億級的。
  
  2. 單純地鏡像也不能直接用,需要加工處理,把一個(gè)個(gè)網(wǎng)頁(yè)進(jìn)行分詞,建立搜索詞和網(wǎng)頁(yè)的對應關(guān)系,這樣用戶(hù)搜索某個(gè)東西時(shí),才會(huì )拿到很多相關(guān)的網(wǎng)頁(yè)。
  
  3. 比如"搜索隱秘的角落"可能會(huì )有100個(gè)相關(guān)網(wǎng)頁(yè)被找到,但是網(wǎng)頁(yè)和檢索詞的關(guān)聯(lián)性肯定有強有弱,因此還需要進(jìn)行網(wǎng)頁(yè)的排序,排序策略有很多,最終把優(yōu)質(zhì)的網(wǎng)頁(yè)排在前面展示給用戶(hù)。
  用戶(hù)看到相關(guān)結果之后,進(jìn)行點(diǎn)擊或者跳過(guò),搜索引擎根據用戶(hù)的相關(guān)動(dòng)作進(jìn)行調整,實(shí)現整個(gè)閉環(huán)過(guò)程。
  4. 為了能更好地理解用戶(hù)的真實(shí)用途,需要進(jìn)行檢索詞的意圖理解、詞條切分、同義詞替換、語(yǔ)法糾錯等處理,再根據這些檢索詞去獲取數據,為用戶(hù)找到心中所想的網(wǎng)頁(yè)。
  比如檢索詞為"老鷹",可能是自然界的老鷹,也可能是NBA的一只球隊:
  3.2 搜索引擎的基本組成
  我們從整體簡(jiǎn)單看下基本組成以及各個(gè)模塊的主要功能:
  
  接下來(lái),我們將粗淺地介紹幾個(gè)模塊的基本內容和技術(shù)點(diǎn)。
  
  網(wǎng)絡(luò )爬蟲(chóng)模塊簡(jiǎn)介
  網(wǎng)絡(luò )爬蟲(chóng)模塊是通用搜索引擎非常的基礎組件,一般都會(huì )采用分布式爬蟲(chóng)來(lái)實(shí)現,我們來(lái)看看這個(gè)搬運工是如何實(shí)現海量網(wǎng)頁(yè)發(fā)掘的:
  
  網(wǎng)絡(luò )爬蟲(chóng)的基本流程:
  在抓取過(guò)程中會(huì )有多種遍歷策略:深度優(yōu)先遍歷DFS、廣度優(yōu)先遍歷BFS、部分PageRank策略、OPIC在線(xiàn)頁(yè)面重要性計算策略、大站優(yōu)先策略等。
  
  在工程實(shí)踐中需要根據自身情況和搜索引擎特點(diǎn)進(jìn)行選擇某種策略或者多種策略組合。
  網(wǎng)絡(luò )爬蟲(chóng)需要遵循Robots協(xié)議(網(wǎng)絡(luò )爬蟲(chóng)排除標準),這是網(wǎng)絡(luò )爬蟲(chóng)和站點(diǎn)之間的君子協(xié)定,站點(diǎn)通過(guò)協(xié)議告訴網(wǎng)絡(luò )爬蟲(chóng)哪些可以抓哪些不可以。
  網(wǎng)絡(luò )爬蟲(chóng)同時(shí)需要考慮抓取頻率,防止給站點(diǎn)造成過(guò)重負擔,總之,搜索引擎的網(wǎng)絡(luò )爬蟲(chóng)需要是個(gè)謙謙君子。
  
  網(wǎng)頁(yè)內容處理模塊
  爬蟲(chóng)模塊將網(wǎng)頁(yè)內容存儲之后,網(wǎng)頁(yè)內存處理模塊開(kāi)始解析網(wǎng)頁(yè)內容,主要工作包括:數據清洗、網(wǎng)頁(yè)內容分詞、建立正排索引、建立倒排索引等。
  
  5.1 數據清洗
  一般來(lái)說(shuō),網(wǎng)頁(yè)中除了具體內容還會(huì )有很多無(wú)關(guān)的東西,比如html標簽、推廣等,這些在實(shí)際搜索引擎中都是無(wú)用的。
  內容處理模塊會(huì )將無(wú)用數據、標簽清洗掉,為后續的分詞做準備。
  5.2 中文分詞
  將清洗完成的內容進(jìn)行分詞提取關(guān)鍵詞,比如一個(gè)網(wǎng)頁(yè)內容有1000字,分詞之后大約有50個(gè)詞,相當于提取了網(wǎng)頁(yè)的主干,并且會(huì )對標題、摘要、正文等不同部分的內容做不同權重處理。
  分詞過(guò)程中會(huì )剔除停用詞、虛詞等,比如"的、得、地"等,從而極力還原網(wǎng)頁(yè)的主干內容。
  我們用在線(xiàn)網(wǎng)頁(yè)分詞工具和真實(shí)網(wǎng)頁(yè)來(lái)模擬下這個(gè)過(guò)程:網(wǎng)頁(yè)分詞在線(xiàn)工具:
  抓取網(wǎng)頁(yè):
  可以看到分詞后可以標注詞頻,這些都是后續作為網(wǎng)頁(yè)排序的重要來(lái)源,但是中文是很復雜的,因此分詞算法會(huì )有很多種,常見(jiàn)的包括:
  
  5.3 正排索引
  假定我們將每個(gè)網(wǎng)頁(yè)進(jìn)行唯一編號docid,經(jīng)過(guò)前面的分詞一個(gè)網(wǎng)頁(yè)將被分成不同權重的多個(gè)實(shí)體詞。
  所謂正排就是根據docid可以拿到屬于該網(wǎng)頁(yè)的所有內容,是一個(gè)符合我們思維的正向過(guò)程,相對而言會(huì )有倒排索引。
  我們以一篇《隱秘的角落》劇情簡(jiǎn)介的頁(yè)面為例,模擬分詞情況,大致如下(本分詞結果純屬腦補,以實(shí)際為準):
  
  5.4 倒排索引
  假如我們對10000個(gè)網(wǎng)頁(yè)進(jìn)行了分詞,其中包含了一些公共檢索詞:微山湖、智取威虎山、三十而立、隱秘的角落等,因此我們匯總之后將建立檢索詞->網(wǎng)頁(yè)的映射關(guān)系。
  
  那么對于檢索詞"隱秘的角落"出現很多個(gè)網(wǎng)頁(yè),倒排索引就相當于從一個(gè)詞能拉取到多少文章的過(guò)程。
  
  就如同我們提到美食就想到:火鍋、燒烤、烤鴨、炒菜等等,是一個(gè)從點(diǎn)到面的過(guò)程,這種逆向過(guò)程在搜索引擎中非常重要。
  
  5.5 本章小結
  內容處理模塊將抓取到的網(wǎng)頁(yè)進(jìn)行清洗、提前新URL給爬蟲(chóng)模塊、內容分詞、建立正排索引和倒排索引,是個(gè)承上啟下的中間環(huán)節。
  特別地,提一下正排索引和倒排索引,字面上并不直觀(guān),其實(shí)道理并不難理解:正排索引:具體到一篇網(wǎng)頁(yè)有多少關(guān)鍵詞,特指屬于該網(wǎng)頁(yè)本身的內容集合,是一個(gè)網(wǎng)頁(yè)。倒排索引:一個(gè)檢索關(guān)鍵詞對應多少相關(guān)聯(lián)的網(wǎng)頁(yè),也就是可備選網(wǎng)頁(yè)集合,是一類(lèi)網(wǎng)頁(yè)。
  
  網(wǎng)頁(yè)排序和用戶(hù)模塊
  6.1 網(wǎng)頁(yè)排序的必要性
  由于存儲的網(wǎng)頁(yè)是百千億級的,那么一個(gè)檢索詞可能對于幾萬(wàn)、幾十萬(wàn)甚至更多相關(guān)的網(wǎng)頁(yè)。
  網(wǎng)頁(yè)排序需要綜合考慮:相關(guān)性、權威性、時(shí)效性、豐富度等多個(gè)方面。
  搜索引擎要展示優(yōu)質(zhì)的強關(guān)聯(lián)網(wǎng)頁(yè)給用戶(hù),并且放在靠前的位置,否則搜索效果將會(huì )很差,用戶(hù)并不買(mǎi)賬。
  事實(shí)上也是如此,比如搜索引擎返回了10頁(yè)結果,每頁(yè)10條,總結100條,一般用戶(hù)點(diǎn)擊到1-3頁(yè)之后的網(wǎng)頁(yè)大概率就不再點(diǎn)擊了,因此排序的頭部?jì)热輰τ谒阉鹘Y果至關(guān)重要。
  我們仍然以檢索"隱秘的角落"為例,百度共計返回了10頁(yè),其中1-2頁(yè)的內容是強關(guān)聯(lián)的,是個(gè)比較不錯的檢索結果了:
  6.2 網(wǎng)頁(yè)排序的常見(jiàn)策略
  網(wǎng)頁(yè)排序策略是個(gè)不斷優(yōu)化和提升的演進(jìn)過(guò)程,我們來(lái)一起看下都有哪些排序策略:
  這是早期搜索引擎常采取的方法,相對簡(jiǎn)單但是效果還不錯。
  簡(jiǎn)單來(lái)說(shuō)就是根據網(wǎng)頁(yè)中關(guān)鍵詞的出現頻率以及出現位置作為排序依據,因為普遍認為:檢索詞出現次數越多、位置越重要,網(wǎng)頁(yè)的關(guān)聯(lián)性越好,排名越靠前。詞頻并不是單純的統計次數,需要有全局觀(guān)念來(lái)判斷關(guān)鍵詞的相對次數,這就是我們要說(shuō)的TF-IDF逆文檔頻率,來(lái)看下百度百科的解釋?zhuān)篢F-IDF (term frequency–inverse document frequency)是一種用于信息檢索與數據挖掘的常用加權技術(shù)。TF是詞頻(Term Frequency),IDF是逆文本頻率指數(Inverse Document Frequency)。TF-IDF是一種統計方法,用以評估一字詞對于一個(gè)文件集或一個(gè)語(yǔ)料庫中的其中一份文件的重要程度。字詞的重要性隨著(zhù)它在文件中出現的次數成正比增加,但同時(shí)會(huì )隨著(zhù)它在語(yǔ)料庫中出現的頻率成反比下降。舉個(gè)栗子:
  網(wǎng)頁(yè)中"吃飯"這個(gè)詞出現了10次,雖然次數很多,但是"吃飯"這個(gè)詞過(guò)于普通,因為在很多其他網(wǎng)頁(yè)都出現了,因此"吃飯"這個(gè)檢索詞的重要性就相對下降了。
  鏈接分析排序認為:網(wǎng)頁(yè)被別的網(wǎng)頁(yè)引用的次數越多或者越權威的網(wǎng)頁(yè)引用,說(shuō)明該網(wǎng)頁(yè)質(zhì)量越高。
  
  基于鏈接分析的排序算法有很多種,其中最有名的PageRank算法被谷歌廣泛采用,是其核心排序算法。
  來(lái)看下PageRank算法的基本思想:網(wǎng)頁(yè)的重要程度用PageRank值來(lái)衡量,網(wǎng)頁(yè)的PageRank值體現在兩個(gè)方面:引用該網(wǎng)頁(yè)其他網(wǎng)頁(yè)個(gè)數和引用該頁(yè)面的其他頁(yè)面的重要程度。假定一個(gè)網(wǎng)頁(yè)A被另一個(gè)網(wǎng)頁(yè)B引用,網(wǎng)頁(yè)B就將PageRank值分配給網(wǎng)頁(yè)B所引用的網(wǎng)頁(yè),所以越多引用網(wǎng)頁(yè)A則其PageRank值也就越高。另外網(wǎng)頁(yè)B越重要,它所引用的頁(yè)面能分配到的PageRank值就越多,網(wǎng)頁(yè)A的PageRank值也就越高越重要。其實(shí)這個(gè)算法說(shuō)起來(lái)非常簡(jiǎn)單:比如寫(xiě)公眾號,有大V轉載就相當于引用了,越多其他公眾號轉載,說(shuō)明你的公眾號內容質(zhì)量越高。
  
  PageRank算法也存在一定的問(wèn)題,比如對新頁(yè)面不友好,新頁(yè)面暫時(shí)沒(méi)有被大量引用,因此PageRank值很低,并且PageRank算法強調網(wǎng)頁(yè)之間的引用關(guān)系,對網(wǎng)頁(yè)本身的主題內容可能重視程度不夠,也就是所謂的主題漂流問(wèn)題。
  與PageRank算法類(lèi)似于的還有一些其他算法來(lái)彌補主題關(guān)聯(lián)問(wèn)題,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,本文就不再展開(kāi)了。
  6.3 網(wǎng)頁(yè)反作弊和SEO
  搜索引擎也存在二八原則,頭部的網(wǎng)頁(yè)占據了大量的點(diǎn)擊流量,也意味著(zhù)巨大的商業(yè)價(jià)值。
  這里就要提到SEO,先看下百度百科對SEO的定義:搜索引擎優(yōu)化又稱(chēng)為SEO,即Search Engine Optimization,它是一種通過(guò)分析搜索引擎的排名規律,了解各種搜索引擎怎樣進(jìn)行搜索、怎樣抓取互聯(lián)網(wǎng)頁(yè)面、怎樣確定特定關(guān)鍵詞的搜索結果排名的技術(shù)。搜索引擎采用易于被搜索引用的手段,對網(wǎng)站進(jìn)行有針對性的優(yōu)化,提高網(wǎng)站在搜索引擎中的自然排名,吸引更多的用戶(hù)訪(fǎng)問(wèn)網(wǎng)站,提高網(wǎng)站的訪(fǎng)問(wèn)量,提高網(wǎng)站的銷(xiāo)售能力和宣傳能力,從而提升網(wǎng)站的品牌效應。道高一尺魔高一丈,只有魔法可以打敗魔法。
  
  網(wǎng)頁(yè)反作弊是搜索引擎需要解決的重要問(wèn)題,常見(jiàn)的有內容反作弊、鏈接分析反作弊等。
  
  6.4 用戶(hù)搜索意圖理解
  用戶(hù)模塊直接和用戶(hù)交互,接收用戶(hù)的搜索詞,準確理解用戶(hù)的搜索意圖非常重要。
  實(shí)際上用戶(hù)的輸入是五花八門(mén)的,偏口語(yǔ)化,甚至有拼寫(xiě)錯誤、并且不同背景的用戶(hù)對同一個(gè)檢索詞的需求不一樣、無(wú)爭議檢索詞的使用目的也不一樣。
  
  
  全文總結
  搜索引擎是個(gè)非常復雜的系統工程,涉及非常多的算法和工程實(shí)現,本文旨在和大家一起簡(jiǎn)單梳理搜索引擎的基本組成和運行原理,算是科普文章了。
  搜索引擎中每一個(gè)模塊做好都不容易,也是互聯(lián)網(wǎng)產(chǎn)品中技術(shù)含金量的典型代表,深挖一個(gè)模塊都受益匪淺。
  
  <p class="js_darkmode__17" style="margin: 15px 8px;color: rgb(73, 73, 73);white-space: normal;font-family: -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;font-size: 11pt;line-height: 1.75em;">更多精彩推薦</p>
  ?停滯數年后,ElasticJob 攜首個(gè) Apache 版本 3.0.0-alpha 回歸!?寫(xiě)不出滿(mǎn)分作文怎么辦,GPT-3 來(lái)幫你?互聯(lián)網(wǎng)不相信學(xué)渣?收藏!美國博士明確給出Python的高效學(xué)習技巧?垃圾回收策略和算法,看這篇就夠了?2020 以太坊技術(shù)及應用大會(huì )·中國圓滿(mǎn)落幕,大咖們的演講精華都在這里了!點(diǎn)分享點(diǎn)點(diǎn)贊點(diǎn)在看

干貨1:Google是如何收錄你的外貿網(wǎng)站的?

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 82 次瀏覽 ? 2022-06-09 20:23 ? 來(lái)自相關(guān)話(huà)題

  干貨1:Google是如何收錄你的外貿網(wǎng)站的?
  
  Google,作為國外客戶(hù)最常用的搜索引擎,也是外貿人展現自己企業(yè)產(chǎn)品的重要平臺。但是外貿企業(yè)的官網(wǎng)可能會(huì )遇見(jiàn)這種情況,網(wǎng)站沒(méi)有被谷歌所收錄!
  沒(méi)有收錄,就意味著(zhù),網(wǎng)站不可能有好的排名,因為谷歌不知道有這樣一個(gè)網(wǎng)站的存在,詢(xún)盤(pán),訂單自然會(huì )受到極大影響。
  因此需要專(zhuān)業(yè)的谷歌優(yōu)化師去做相關(guān)優(yōu)化設置,以符合谷歌的要求,幫助外貿官網(wǎng)能被收錄,獲得排名,展示到國外買(mǎi)家眼前,獲得更多的訂單機會(huì )!
  那谷歌優(yōu)化工作遵循的搜索引擎收錄原理是什么呢?一起來(lái)了解一下吧~
  一個(gè)新站建好后,搜索引擎是無(wú)法得知它的存在的,除非谷歌派蜘蛛來(lái)抓取。蜘蛛是谷歌的一種重要抓取技術(shù),也是網(wǎng)站被收錄的來(lái)源,而源代碼就相當于它的網(wǎng),讓它爬行于任意網(wǎng)頁(yè)的源代碼中。
  
  當在源代碼中發(fā)現另一個(gè)新的鏈接時(shí),它就會(huì )通過(guò)這個(gè)鏈接穿梭到另一個(gè)頁(yè)面繼續抓取→爬行→抓取→爬行…...從而達到網(wǎng)頁(yè)被收錄的目的。

  問(wèn)題來(lái)了,怎么才能吸引谷歌蜘蛛來(lái)抓取我們的網(wǎng)站?可分為四大點(diǎn):
  網(wǎng)站要保持“新鮮"
  谷歌喜歡抓取新的東西。蜘蛛對新站抓取頻率比較高,但如果你不常去更新,當蜘蛛多次來(lái)時(shí)都沒(méi)有發(fā)現新的信息可以去抓取,那么慢慢地會(huì )減少光顧頻率,從一個(gè)月一次到幾個(gè)月一次。
  當蜘蛛不來(lái)抓取你網(wǎng)頁(yè)的源代碼時(shí),你網(wǎng)頁(yè)中新的信息是不會(huì )出現在搜索引擎里的。所以建議新站在頭1—3個(gè)月之間,要保持經(jīng)常更新信息。
  添加鏈接
  那么蜘蛛會(huì )經(jīng)常關(guān)注什么平臺呢?像Facebook、Twitter、Alibaba、維基百科等大型的平臺都是蜘蛛常去光顧的,這就需要我們將網(wǎng)站鏈接發(fā)布到這些平臺,給蜘蛛增加導入路口。 查看全部

  干貨1:Google是如何收錄你的外貿網(wǎng)站的?
  
  Google,作為國外客戶(hù)最常用的搜索引擎,也是外貿人展現自己企業(yè)產(chǎn)品的重要平臺。但是外貿企業(yè)的官網(wǎng)可能會(huì )遇見(jiàn)這種情況,網(wǎng)站沒(méi)有被谷歌所收錄!
  沒(méi)有收錄,就意味著(zhù),網(wǎng)站不可能有好的排名,因為谷歌不知道有這樣一個(gè)網(wǎng)站的存在,詢(xún)盤(pán),訂單自然會(huì )受到極大影響。
  因此需要專(zhuān)業(yè)的谷歌優(yōu)化師去做相關(guān)優(yōu)化設置,以符合谷歌的要求,幫助外貿官網(wǎng)能被收錄,獲得排名,展示到國外買(mǎi)家眼前,獲得更多的訂單機會(huì )!
  那谷歌優(yōu)化工作遵循的搜索引擎收錄原理是什么呢?一起來(lái)了解一下吧~
  一個(gè)新站建好后,搜索引擎是無(wú)法得知它的存在的,除非谷歌派蜘蛛來(lái)抓取。蜘蛛是谷歌的一種重要抓取技術(shù),也是網(wǎng)站被收錄的來(lái)源,而源代碼就相當于它的網(wǎng),讓它爬行于任意網(wǎng)頁(yè)的源代碼中。
  
  當在源代碼中發(fā)現另一個(gè)新的鏈接時(shí),它就會(huì )通過(guò)這個(gè)鏈接穿梭到另一個(gè)頁(yè)面繼續抓取→爬行→抓取→爬行…...從而達到網(wǎng)頁(yè)被收錄的目的。

  問(wèn)題來(lái)了,怎么才能吸引谷歌蜘蛛來(lái)抓取我們的網(wǎng)站?可分為四大點(diǎn):
  網(wǎng)站要保持“新鮮"
  谷歌喜歡抓取新的東西。蜘蛛對新站抓取頻率比較高,但如果你不常去更新,當蜘蛛多次來(lái)時(shí)都沒(méi)有發(fā)現新的信息可以去抓取,那么慢慢地會(huì )減少光顧頻率,從一個(gè)月一次到幾個(gè)月一次。
  當蜘蛛不來(lái)抓取你網(wǎng)頁(yè)的源代碼時(shí),你網(wǎng)頁(yè)中新的信息是不會(huì )出現在搜索引擎里的。所以建議新站在頭1—3個(gè)月之間,要保持經(jīng)常更新信息。
  添加鏈接
  那么蜘蛛會(huì )經(jīng)常關(guān)注什么平臺呢?像Facebook、Twitter、Alibaba、維基百科等大型的平臺都是蜘蛛常去光顧的,這就需要我們將網(wǎng)站鏈接發(fā)布到這些平臺,給蜘蛛增加導入路口。

手把手教你用免費代理ip爬數據

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 69 次瀏覽 ? 2022-05-24 20:46 ? 來(lái)自相關(guān)話(huà)題

  手把手教你用免費代理ip爬數據
  /1 前言/
  玩爬蟲(chóng)的都避免不了各大網(wǎng)站的反爬措施限制,比較常見(jiàn)的是通過(guò)固定時(shí)間檢測某ip地址訪(fǎng)問(wèn)量來(lái)判斷該用戶(hù)是否為 “網(wǎng)絡(luò )機器人”,也就是所謂的爬蟲(chóng),如果被識別到,就面臨被封ip的風(fēng)險,那樣你就不能訪(fǎng)問(wèn)該網(wǎng)址了。
  通用的解決辦法是用代理ip進(jìn)行爬取,但是收費的代理ip一般都是比較貴的,網(wǎng)上倒是有很多免費的代理ip網(wǎng)站,但是受時(shí)效性影響,大部分地址都不能用,有很多維護代理ip池的教程,即把爬取并檢測后能用代理ip放到“代理池里”,等以后要用的時(shí)候再從里面提取,在我看來(lái),這種效率比較低,因為這類(lèi)IP地址很快就失效,我們要做的是邊檢測邊使用,充分保證免費IP的時(shí)效性。
  /2 抓取IP地址/
  下面就開(kāi)始實(shí)戰操作。
  1.首先我們隨便找一個(gè)免費代理ip網(wǎng)站,如下圖所示。
  
  2、打開(kāi)網(wǎng)頁(yè)查看器,分析其網(wǎng)頁(yè)元素結構,如下圖所示。
  
  3、就是一個(gè)簡(jiǎn)單的靜態(tài)網(wǎng)頁(yè),我們用requests和bs4將ip地址和對應端口爬下,如下圖所示。
  
  4、每一行ip地址都由5個(gè)標簽組成,而我們需要的是第一個(gè)標簽(對應IP地址)和第2個(gè)標簽(對應端口),所以從第一個(gè)開(kāi)始,每隔5個(gè)取出ip地址(item[::5]),從第二個(gè)開(kāi)始,每隔5個(gè)取出對應端口(item[1::5]),參數n為頁(yè)碼,每次只在1頁(yè)取1個(gè)有用的ip地址,最終效果如下圖所示:
  
  /3驗證IP有效性/
  這里把百度百科作為目標網(wǎng)站,這個(gè)看似很普通的網(wǎng)站,反爬措施卻極為嚴格,爬不了幾條內容就開(kāi)始請求失敗了,下面我以在百度百科查詢(xún)全國優(yōu)采云站歸屬地信息為例演示如何使用免費代理ip。
  1、首先我在12306上把所有的優(yōu)采云站名都爬下來(lái)了,但是沒(méi)有歸屬地信息。
  2、然后以站名構造百度百科url信息,分析網(wǎng)頁(yè)元素,把爬取爬取優(yōu)采云站地址信息,網(wǎng)頁(yè)元素如下圖所示:
  
  3、所以,我們只需在class_='basicInfo-item'的標簽內容里查找有無(wú)“省”或者“市”的字符,然后輸出就行了,最后加一個(gè)while True循環(huán),當該ip能正常爬數據時(shí),則break該循環(huán);若該ip被禁,則馬上重新請求一個(gè)新ip進(jìn)行爬取。直接上代碼如下圖所示:
  
  4、其中for循環(huán)是遍歷所有優(yōu)采云站,try是用于檢測該ip還能不能用,若不能,則在except里請求1個(gè)新ip,爬取效果如下圖所示:
  
  下次再遇到爬蟲(chóng)被禁的情況就可以用此辦法解決了。
  /4結語(yǔ)/
  本文基于Python網(wǎng)絡(luò )爬蟲(chóng)技術(shù),主要介紹了去IP代理網(wǎng)站上抓取可用IP,并且Python腳本實(shí)現驗證IP地址的時(shí)效性,如遇到爬蟲(chóng)被禁的情況就可以用本文的辦法進(jìn)行解決。
  關(guān)于本文的代碼,小編已經(jīng)上傳到github了,,如果覺(jué)得不錯,記得給個(gè)star噢! 查看全部

  手把手教你用免費代理ip爬數據
  /1 前言/
  玩爬蟲(chóng)的都避免不了各大網(wǎng)站的反爬措施限制,比較常見(jiàn)的是通過(guò)固定時(shí)間檢測某ip地址訪(fǎng)問(wèn)量來(lái)判斷該用戶(hù)是否為 “網(wǎng)絡(luò )機器人”,也就是所謂的爬蟲(chóng),如果被識別到,就面臨被封ip的風(fēng)險,那樣你就不能訪(fǎng)問(wèn)該網(wǎng)址了。
  通用的解決辦法是用代理ip進(jìn)行爬取,但是收費的代理ip一般都是比較貴的,網(wǎng)上倒是有很多免費的代理ip網(wǎng)站,但是受時(shí)效性影響,大部分地址都不能用,有很多維護代理ip池的教程,即把爬取并檢測后能用代理ip放到“代理池里”,等以后要用的時(shí)候再從里面提取,在我看來(lái),這種效率比較低,因為這類(lèi)IP地址很快就失效,我們要做的是邊檢測邊使用,充分保證免費IP的時(shí)效性。
  /2 抓取IP地址/
  下面就開(kāi)始實(shí)戰操作。
  1.首先我們隨便找一個(gè)免費代理ip網(wǎng)站,如下圖所示。
  
  2、打開(kāi)網(wǎng)頁(yè)查看器,分析其網(wǎng)頁(yè)元素結構,如下圖所示。
  
  3、就是一個(gè)簡(jiǎn)單的靜態(tài)網(wǎng)頁(yè),我們用requests和bs4將ip地址和對應端口爬下,如下圖所示。
  
  4、每一行ip地址都由5個(gè)標簽組成,而我們需要的是第一個(gè)標簽(對應IP地址)和第2個(gè)標簽(對應端口),所以從第一個(gè)開(kāi)始,每隔5個(gè)取出ip地址(item[::5]),從第二個(gè)開(kāi)始,每隔5個(gè)取出對應端口(item[1::5]),參數n為頁(yè)碼,每次只在1頁(yè)取1個(gè)有用的ip地址,最終效果如下圖所示:
  
  /3驗證IP有效性/
  這里把百度百科作為目標網(wǎng)站,這個(gè)看似很普通的網(wǎng)站,反爬措施卻極為嚴格,爬不了幾條內容就開(kāi)始請求失敗了,下面我以在百度百科查詢(xún)全國優(yōu)采云站歸屬地信息為例演示如何使用免費代理ip。
  1、首先我在12306上把所有的優(yōu)采云站名都爬下來(lái)了,但是沒(méi)有歸屬地信息。
  2、然后以站名構造百度百科url信息,分析網(wǎng)頁(yè)元素,把爬取爬取優(yōu)采云站地址信息,網(wǎng)頁(yè)元素如下圖所示:
  
  3、所以,我們只需在class_='basicInfo-item'的標簽內容里查找有無(wú)“省”或者“市”的字符,然后輸出就行了,最后加一個(gè)while True循環(huán),當該ip能正常爬數據時(shí),則break該循環(huán);若該ip被禁,則馬上重新請求一個(gè)新ip進(jìn)行爬取。直接上代碼如下圖所示:
  
  4、其中for循環(huán)是遍歷所有優(yōu)采云站,try是用于檢測該ip還能不能用,若不能,則在except里請求1個(gè)新ip,爬取效果如下圖所示:
  
  下次再遇到爬蟲(chóng)被禁的情況就可以用此辦法解決了。
  /4結語(yǔ)/
  本文基于Python網(wǎng)絡(luò )爬蟲(chóng)技術(shù),主要介紹了去IP代理網(wǎng)站上抓取可用IP,并且Python腳本實(shí)現驗證IP地址的時(shí)效性,如遇到爬蟲(chóng)被禁的情況就可以用本文的辦法進(jìn)行解決。
  關(guān)于本文的代碼,小編已經(jīng)上傳到github了,,如果覺(jué)得不錯,記得給個(gè)star噢!

神策數據創(chuàng )始人桑文鋒:我在百度如何解決用戶(hù)分析問(wèn)題

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 121 次瀏覽 ? 2022-05-24 20:33 ? 來(lái)自相關(guān)話(huà)題

  神策數據創(chuàng )始人桑文鋒:我在百度如何解決用戶(hù)分析問(wèn)題
  - 整理丨周小燕 -
  編者按
  桑文鋒,前百度大數據部技術(shù)經(jīng)理。2007年加入百度,從零構建了百度的用戶(hù)行為大數據處理平臺。2015年4月離職創(chuàng )建神策數據,為互聯(lián)網(wǎng)公司提供大數據分析服務(wù)。目前的客戶(hù)有近200家,包括聚美優(yōu)品、多盟、秒拍、融360等。
  近日,桑文鋒在小飯桌人工智能創(chuàng )業(yè)班上做了主題演講,主要包括以下幾點(diǎn):
  1、百度數據從網(wǎng)頁(yè)數據到用戶(hù)行為數據的演變;
  2、搜索引擎發(fā)展的3個(gè)階段;
  3、提升“百度知道”回答量的幾次試驗;
  4、做數據平臺的兩個(gè)關(guān)鍵問(wèn)題:元數據和數據源。
  小飯桌對此進(jìn)行了不影響原意的整理,以下為分享實(shí)錄:
  2007年,我在“百度知道”做產(chǎn)品研發(fā),在這之后7年多時(shí)間里,我的工作都是圍繞用戶(hù)行為數據建設的。
  去年4月份,我從百度離職后創(chuàng )立“神策數據”,為互聯(lián)網(wǎng)公司解決用戶(hù)行為分析問(wèn)題,下面我的演講內容都與用戶(hù)分析相關(guān)。
  
  百度內部的數據板塊
  百度內部?jì)蓧K數據比較重要:網(wǎng)頁(yè)數據和用戶(hù)行為數據。就網(wǎng)頁(yè)數據而言,百度在2000年做搜索業(yè)務(wù)時(shí),全國中文網(wǎng)頁(yè)數量不超過(guò)2億個(gè),而從網(wǎng)頁(yè)上整體抓下來(lái)的數據中,只有幾十GB。谷歌早期抓了2500多萬(wàn)個(gè)網(wǎng)頁(yè)的內容,在1997年和1998年,從網(wǎng)頁(yè)抓取下來(lái)的數據只有47GB。
  谷歌與百度都在不斷迭代,大約3年前開(kāi)始,百度開(kāi)始進(jìn)入相對穩定狀態(tài),常用網(wǎng)頁(yè)庫數據有幾百PB,網(wǎng)頁(yè)庫數量趨于穩定。
  在用戶(hù)行為數據這一塊,百度經(jīng)歷過(guò)幾個(gè)階段。2008年,百度知道、百度百科等新產(chǎn)品每天共產(chǎn)生幾十TB新數據。去年我離開(kāi)百度時(shí),每天能采集到的用戶(hù)行為數據達到PB級別。而現在百度每天產(chǎn)生的數據比去年還要增長(cháng)50%以上,即差不多幾個(gè)月的時(shí)間就能產(chǎn)生幾百PB數據,跟之前整個(gè)網(wǎng)頁(yè)庫數據一樣大。
  只要我們創(chuàng )造一個(gè)內容之后,它就會(huì )被多次瀏覽、多次訪(fǎng)問(wèn)。所以,用戶(hù)行為數據是比網(wǎng)頁(yè)本身高一個(gè)數量級的數據。
  搜索引擎發(fā)展的3個(gè)階段
  最開(kāi)始,搜索是內容相關(guān)性的。當時(shí),網(wǎng)頁(yè)和線(xiàn)上材料都不多,只要你搜的關(guān)鍵詞與實(shí)際網(wǎng)頁(yè)內容能夠匹配就可以。
  但隨著(zhù)內容增多,誰(shuí)排在前面、誰(shuí)排在后面成了問(wèn)題。最初,所有搜索引擎都基于關(guān)鍵詞匹配相關(guān)內容,但作弊現象開(kāi)始出現,如果將垃圾詞塞進(jìn)去,用戶(hù)根本無(wú)法搜索到有用的東西。
  但當時(shí)有那么幾個(gè)人十分聰明,一個(gè)是谷歌的拉里佩奇,一個(gè)是百度的李彥宏,還有一個(gè)是做學(xué)術(shù)的。
  他們三個(gè)人都意識到,鏈接本身很重要,一個(gè)網(wǎng)頁(yè)被鏈接多少次,決定這個(gè)網(wǎng)頁(yè)本身的權重是多少。而這也是谷歌、百度起家的東西,許多人以為百度抄襲了谷歌,但我研究了一下李彥宏和拉里佩奇發(fā)的專(zhuān)利,李彥宏的專(zhuān)利是在1997年提的,拉里佩奇的專(zhuān)利是1998年提的,李彥宏還更早一些。
  這就進(jìn)入到搜索引擎第二個(gè)階段,基于鏈接關(guān)系決定誰(shuí)排在前面。
  2005年左右,搜索引擎進(jìn)入第三波——基于用戶(hù)行為。雖然從網(wǎng)頁(yè)權重來(lái)看,有些東西排在前面,但新問(wèn)題又產(chǎn)生了——一個(gè)老網(wǎng)頁(yè)一定會(huì )比新網(wǎng)頁(yè)的權重高,但新的頁(yè)面可能更能滿(mǎn)足用戶(hù)需求。而群眾的眼睛是雪亮的,用戶(hù)進(jìn)行搜索時(shí),看到比較好的結果就會(huì )點(diǎn)擊。
  那么,可以基于“用戶(hù)點(diǎn)擊”這個(gè)數據,決定將什么排到前面。到目前為止,用戶(hù)行為已經(jīng)占據非常大的比重,從一些業(yè)內專(zhuān)家的說(shuō)法來(lái)看,用戶(hù)行為權重已經(jīng)超過(guò)50%了。
  在百度7年多的經(jīng)歷
  接下來(lái)我將重點(diǎn)分享,我在百度7年多以來(lái),做用戶(hù)行為數據的經(jīng)歷。
  我在百度知道做了一年研發(fā)后,對于接下來(lái)該怎么做比較困惑?!鞍俣戎馈?005年上線(xiàn),到2008年的時(shí)候已經(jīng)歷時(shí)3年,產(chǎn)品形態(tài)就是一問(wèn)一答,產(chǎn)品本身發(fā)展得非常成熟、數據非常穩定,每天有9萬(wàn)多個(gè)提問(wèn)、25萬(wàn)個(gè)回答。
  我覺(jué)得改造這款產(chǎn)品,需要研究用戶(hù),針對不同用戶(hù)采用不同策略,甚至給他們展示不同的樣式和界面,來(lái)提升百度知道的產(chǎn)品黏性和價(jià)值。
  2008年,為提升百度知道的回答量,我們做了兩個(gè)功能。
  第一個(gè)功能基于核心用戶(hù)。我們抽了35萬(wàn)個(gè)近一個(gè)月回答超過(guò)6個(gè)問(wèn)題的核心用戶(hù),用3個(gè)多月時(shí)間,根據他們以往回答的問(wèn)題抽取了17萬(wàn)多個(gè)興趣詞,結果新版上線(xiàn)后,卻發(fā)現用戶(hù)回答量沒(méi)有發(fā)生變化。
  我們當時(shí)分析原因,發(fā)現做個(gè)性化推薦之后,用戶(hù)無(wú)非從之前到分類(lèi)頁(yè)面回答問(wèn)題變?yōu)榈絺€(gè)人中心,但平均回答6個(gè)問(wèn)題的量沒(méi)有變化。
  后來(lái)我想,提升產(chǎn)品無(wú)非就兩種思路:要么吸引更多用戶(hù),要么在單個(gè)用戶(hù)上榨取更多東西。既然單個(gè)用戶(hù)被榨取得差不多了,我們就拉新,擴大用戶(hù)規模,從做核心用戶(hù)推薦,變?yōu)獒槍λ杏脩?hù)推薦。只要用戶(hù)在百度知道上做了訪(fǎng)問(wèn),我們就去搜集他在全百度的數據。
  百度內部當時(shí)有一個(gè)項目叫“優(yōu)采云”,起源于百度在2008年做個(gè)性化廣告的設想,即,在用戶(hù)搜索時(shí)出現的廣告,不僅基于關(guān)鍵詞,還要基于用戶(hù)行為體驗,雖然當時(shí)做這件事情有點(diǎn)早,但的確幫我們奠定了根基,當時(shí)已經(jīng)搜集了貼吧、知道或網(wǎng)頁(yè)上各類(lèi)用戶(hù)行為數據,我們就在這個(gè)數據集上做訓練。
  用戶(hù)在瀏覽器進(jìn)行訪(fǎng)問(wèn)的時(shí)候,都會(huì )種下一個(gè)cookie,我們基于此將用戶(hù)瀏覽的信息都記錄下來(lái)。
  根據這些信息,我們抽取每個(gè)用戶(hù)權重最高的5個(gè)興趣詞,當用戶(hù)訪(fǎng)問(wèn)百度知道詳情頁(yè)的時(shí)候,我們基于他們的興趣詞做實(shí)時(shí)搜索,將七八個(gè)待解決的問(wèn)題放到頁(yè)面右側。
  做這個(gè)的效果非常好,新版上線(xiàn)后,百度知道的回答量提升了7.5%,而我也因此在2008年獲得“最佳百度人”獎。
  此后,我對百度知道又做了一些改良,包括讓它推薦的問(wèn)題更具多樣性等,還比如將用戶(hù)半年之前的興趣,通過(guò)權重進(jìn)行不斷迭代,使其衰減,而將最近的回答權重進(jìn)行調整。但我發(fā)現,想再做提升不容易。后來(lái)我就開(kāi)始做用戶(hù)行為分析。
  統一數據需求
  百度文化里有一條是——用數據說(shuō)話(huà),不管做產(chǎn)品調研還是效果評估,都要統計數據。做產(chǎn)品訪(fǎng)問(wèn)都會(huì )在服務(wù)器端留下日志,基于日志就可以做統計分析。
  但是,百度有眾多產(chǎn)品,需要對各種各樣的數據進(jìn)行統計分析,如何將數據統計這件事情做得更好一些?
  當時(shí)遇到幾個(gè)問(wèn)題,一是需求周期長(cháng),從提出統計需求到需求被處理,需要排隊,因為一共只有兩三個(gè)工程師處理這件事情,整個(gè)過(guò)程經(jīng)過(guò)寫(xiě)程序、寫(xiě)腳本到上線(xiàn),將統計結果發(fā)送給你需要幾天的時(shí)間。
  此外,運維成本高。每個(gè)需求統計都這樣處理,團隊很快維護了差不多六七百個(gè)統計程序,經(jīng)常出問(wèn)題。比如,貼吧被人爆了都會(huì )導致程序異常。
  還有一點(diǎn),運行速度慢,當時(shí)還是單機,300G文件跑起來(lái)沒(méi)問(wèn)題,但800G文件就跑不出來(lái)了。
  第四個(gè)問(wèn)題,員工成長(cháng)受限。讓員工寫(xiě)統計腳本,他們寫(xiě)3個(gè)月還行,寫(xiě)6個(gè)月就不想干了,寫(xiě)1年就立馬跑路了,這也導致團隊管理產(chǎn)生問(wèn)題。
  當時(shí)在百度內部,會(huì )基于Hadoop去跑一些任務(wù),但對于它能將問(wèn)題解決到什么程度,我心里沒(méi)有底。我們設立的架構是,先提供一個(gè)界面,期望各個(gè)業(yè)務(wù)線(xiàn)的產(chǎn)品經(jīng)理、工程師自己去做統計,而不是每次都把任務(wù)交給我們團隊。將界面設計得小白一點(diǎn)、應用性能高一點(diǎn)。其實(shí)只是讓大家通過(guò)界面配任務(wù),用調度器、代碼生成器,將其生成Hadoop的任務(wù)進(jìn)行調度。
  差不多一年半的時(shí)間里全公司都統一到這個(gè)平臺中去了,這也是我在百度8年期間,做得最有成就感的事情。
  后來(lái),我們與其它團隊進(jìn)行合作,花了兩個(gè)半月的時(shí)間,做了一個(gè)框架,并在2011年申請了專(zhuān)利,讓開(kāi)發(fā)效率提升,以前做一個(gè)統計需要幾天,現在只要幾分鐘或更短的時(shí)間就能搞定。很快,大家都集中到統計平臺,于是又產(chǎn)生了新問(wèn)題——資源過(guò)于膨脹,當時(shí)我們團隊只有五六個(gè)人,我覺(jué)得再這樣下去數據規模太大了,無(wú)法控制。
  當時(shí)我的思路受云計算影響,總想著(zhù)去做一個(gè)更牛的計算引擎,但后來(lái)覺(jué)得這個(gè)思路不對,還是應該以數據為中心。2011年上半年,我和另外一個(gè)項目經(jīng)理商量將兩個(gè)團隊合并,成立一個(gè)數據團隊。后來(lái),我們高級總監又從谷歌那邊挖來(lái)牛人,這個(gè)人之前在雅虎做了7年,后來(lái)在谷歌做了5年,一直做數據倉庫,他帶領(lǐng)我們按照構建整個(gè)用戶(hù)行為的思路去做數據倉庫。
  百度有七八十個(gè)核心業(yè)務(wù)線(xiàn),我們將這些業(yè)務(wù)線(xiàn)產(chǎn)生的數據進(jìn)行結構化,用谷歌的Protocol Buffer將其格式進(jìn)行轉化之后,再統一到一張表里面去。在這個(gè)基礎上,我們再建上層主題數據??傊?,讓全百度各種各樣的用戶(hù)行為數據都統一到一張表。最近這一年多以來(lái),我與很多大的IT公司交流過(guò),他們這一塊的數據都做得非常初級,根本沒(méi)有將基礎數據打通、把底層做好。
  從2008年我開(kāi)始做數據,到2012年,這三四年時(shí)間我慢慢想清楚,歸根結底而言,數據就是一條“流”,我們把數據從源頭搬到平臺上,在這個(gè)基礎上,再對數據進(jìn)行入庫、存儲建設及管理。然后再去做產(chǎn)品分析和各種各樣的應用。
  心得
  數據平臺有兩個(gè)關(guān)鍵環(huán)節,一個(gè)是元數據,一個(gè)是數據源。如果一個(gè)公司既能管理好元數據,又能管理好數據源,整個(gè)平臺就不會(huì )差。
  我們常用的業(yè)務(wù)數據庫,實(shí)際存儲的數據跟元信息都是在一起管理的,所以你感覺(jué)不到元數據本身的重要性,但是在大數據處理的情況下,就要把元數據分離出來(lái)。
  想把數據平臺做好,數據源很重要。拿百度來(lái)說(shuō),網(wǎng)頁(yè)搜索是它最核心的業(yè)務(wù)線(xiàn),其它的都是附屬業(yè)務(wù)線(xiàn),這些業(yè)務(wù)線(xiàn)都會(huì )用到網(wǎng)頁(yè)搜索。如果我要變更搜索,下游依賴(lài)它的業(yè)務(wù)程序可能都會(huì )掛掉,所以我進(jìn)行格式升級前都要事先告訴他們,不然可能會(huì )出問(wèn)題。但如果我們讓源頭本身結構化,下游就不需要跟著(zhù)源頭動(dòng),數據解析效率也會(huì )比較高。
  總結一下,我在百度做用戶(hù)行為數據的心得:
  第一點(diǎn),數據源很重要。這也是我們創(chuàng )業(yè)思路中核心的一點(diǎn)。在數據采集這一塊要“大”、“全”、“細”、“時(shí)”?!按蟆敝傅氖呛暧^(guān)的大而非物理的大。比如每天全國各個(gè)地級市的蘋(píng)果價(jià)格數據只有2MB,但基于它做一個(gè)蘋(píng)果的智能調度系統,就是一個(gè)大數據應用?!叭睆娬{多種數據源;“細”強調數據維度;“時(shí)”強調時(shí)效性。
  第二點(diǎn),用戶(hù)行為事件模型很有效。規范并結構化用戶(hù)行為之后,許多數據分析都會(huì )變得更容易。Event模型指的是事件模型,之前的叫做訪(fǎng)問(wèn)量模型。
  我把2000年后的互聯(lián)網(wǎng)分成3個(gè)階段:
  2000年~2006年是流量時(shí)代,誰(shuí)的流量大誰(shuí)就牛;
  2006年~2011年,進(jìn)入第二個(gè)階段,我們把它叫做用戶(hù)時(shí)代,誰(shuí)的用戶(hù)多誰(shuí)就牛。比如開(kāi)心網(wǎng)、人人網(wǎng)、Facebook,不再考量整體訪(fǎng)問(wèn)量,而是關(guān)心活躍用戶(hù)、注冊用戶(hù)數;
  2011年后到現在屬于訂單時(shí)代。不論是全民團購還是O2O、在線(xiàn)教育、互聯(lián)網(wǎng)金融,無(wú)非是將線(xiàn)下的交易搬到線(xiàn)上,它本身就是和訂單相關(guān)的。 查看全部

  神策數據創(chuàng )始人桑文鋒:我在百度如何解決用戶(hù)分析問(wèn)題
  - 整理丨周小燕 -
  編者按
  桑文鋒,前百度大數據部技術(shù)經(jīng)理。2007年加入百度,從零構建了百度的用戶(hù)行為大數據處理平臺。2015年4月離職創(chuàng )建神策數據,為互聯(lián)網(wǎng)公司提供大數據分析服務(wù)。目前的客戶(hù)有近200家,包括聚美優(yōu)品、多盟、秒拍、融360等。
  近日,桑文鋒在小飯桌人工智能創(chuàng )業(yè)班上做了主題演講,主要包括以下幾點(diǎn):
  1、百度數據從網(wǎng)頁(yè)數據到用戶(hù)行為數據的演變;
  2、搜索引擎發(fā)展的3個(gè)階段;
  3、提升“百度知道”回答量的幾次試驗;
  4、做數據平臺的兩個(gè)關(guān)鍵問(wèn)題:元數據和數據源。
  小飯桌對此進(jìn)行了不影響原意的整理,以下為分享實(shí)錄:
  2007年,我在“百度知道”做產(chǎn)品研發(fā),在這之后7年多時(shí)間里,我的工作都是圍繞用戶(hù)行為數據建設的。
  去年4月份,我從百度離職后創(chuàng )立“神策數據”,為互聯(lián)網(wǎng)公司解決用戶(hù)行為分析問(wèn)題,下面我的演講內容都與用戶(hù)分析相關(guān)。
  
  百度內部的數據板塊
  百度內部?jì)蓧K數據比較重要:網(wǎng)頁(yè)數據和用戶(hù)行為數據。就網(wǎng)頁(yè)數據而言,百度在2000年做搜索業(yè)務(wù)時(shí),全國中文網(wǎng)頁(yè)數量不超過(guò)2億個(gè),而從網(wǎng)頁(yè)上整體抓下來(lái)的數據中,只有幾十GB。谷歌早期抓了2500多萬(wàn)個(gè)網(wǎng)頁(yè)的內容,在1997年和1998年,從網(wǎng)頁(yè)抓取下來(lái)的數據只有47GB。
  谷歌與百度都在不斷迭代,大約3年前開(kāi)始,百度開(kāi)始進(jìn)入相對穩定狀態(tài),常用網(wǎng)頁(yè)庫數據有幾百PB,網(wǎng)頁(yè)庫數量趨于穩定。
  在用戶(hù)行為數據這一塊,百度經(jīng)歷過(guò)幾個(gè)階段。2008年,百度知道、百度百科等新產(chǎn)品每天共產(chǎn)生幾十TB新數據。去年我離開(kāi)百度時(shí),每天能采集到的用戶(hù)行為數據達到PB級別。而現在百度每天產(chǎn)生的數據比去年還要增長(cháng)50%以上,即差不多幾個(gè)月的時(shí)間就能產(chǎn)生幾百PB數據,跟之前整個(gè)網(wǎng)頁(yè)庫數據一樣大。
  只要我們創(chuàng )造一個(gè)內容之后,它就會(huì )被多次瀏覽、多次訪(fǎng)問(wèn)。所以,用戶(hù)行為數據是比網(wǎng)頁(yè)本身高一個(gè)數量級的數據。
  搜索引擎發(fā)展的3個(gè)階段
  最開(kāi)始,搜索是內容相關(guān)性的。當時(shí),網(wǎng)頁(yè)和線(xiàn)上材料都不多,只要你搜的關(guān)鍵詞與實(shí)際網(wǎng)頁(yè)內容能夠匹配就可以。
  但隨著(zhù)內容增多,誰(shuí)排在前面、誰(shuí)排在后面成了問(wèn)題。最初,所有搜索引擎都基于關(guān)鍵詞匹配相關(guān)內容,但作弊現象開(kāi)始出現,如果將垃圾詞塞進(jìn)去,用戶(hù)根本無(wú)法搜索到有用的東西。
  但當時(shí)有那么幾個(gè)人十分聰明,一個(gè)是谷歌的拉里佩奇,一個(gè)是百度的李彥宏,還有一個(gè)是做學(xué)術(shù)的。
  他們三個(gè)人都意識到,鏈接本身很重要,一個(gè)網(wǎng)頁(yè)被鏈接多少次,決定這個(gè)網(wǎng)頁(yè)本身的權重是多少。而這也是谷歌、百度起家的東西,許多人以為百度抄襲了谷歌,但我研究了一下李彥宏和拉里佩奇發(fā)的專(zhuān)利,李彥宏的專(zhuān)利是在1997年提的,拉里佩奇的專(zhuān)利是1998年提的,李彥宏還更早一些。
  這就進(jìn)入到搜索引擎第二個(gè)階段,基于鏈接關(guān)系決定誰(shuí)排在前面。
  2005年左右,搜索引擎進(jìn)入第三波——基于用戶(hù)行為。雖然從網(wǎng)頁(yè)權重來(lái)看,有些東西排在前面,但新問(wèn)題又產(chǎn)生了——一個(gè)老網(wǎng)頁(yè)一定會(huì )比新網(wǎng)頁(yè)的權重高,但新的頁(yè)面可能更能滿(mǎn)足用戶(hù)需求。而群眾的眼睛是雪亮的,用戶(hù)進(jìn)行搜索時(shí),看到比較好的結果就會(huì )點(diǎn)擊。
  那么,可以基于“用戶(hù)點(diǎn)擊”這個(gè)數據,決定將什么排到前面。到目前為止,用戶(hù)行為已經(jīng)占據非常大的比重,從一些業(yè)內專(zhuān)家的說(shuō)法來(lái)看,用戶(hù)行為權重已經(jīng)超過(guò)50%了。
  在百度7年多的經(jīng)歷
  接下來(lái)我將重點(diǎn)分享,我在百度7年多以來(lái),做用戶(hù)行為數據的經(jīng)歷。
  我在百度知道做了一年研發(fā)后,對于接下來(lái)該怎么做比較困惑?!鞍俣戎馈?005年上線(xiàn),到2008年的時(shí)候已經(jīng)歷時(shí)3年,產(chǎn)品形態(tài)就是一問(wèn)一答,產(chǎn)品本身發(fā)展得非常成熟、數據非常穩定,每天有9萬(wàn)多個(gè)提問(wèn)、25萬(wàn)個(gè)回答。
  我覺(jué)得改造這款產(chǎn)品,需要研究用戶(hù),針對不同用戶(hù)采用不同策略,甚至給他們展示不同的樣式和界面,來(lái)提升百度知道的產(chǎn)品黏性和價(jià)值。
  2008年,為提升百度知道的回答量,我們做了兩個(gè)功能。
  第一個(gè)功能基于核心用戶(hù)。我們抽了35萬(wàn)個(gè)近一個(gè)月回答超過(guò)6個(gè)問(wèn)題的核心用戶(hù),用3個(gè)多月時(shí)間,根據他們以往回答的問(wèn)題抽取了17萬(wàn)多個(gè)興趣詞,結果新版上線(xiàn)后,卻發(fā)現用戶(hù)回答量沒(méi)有發(fā)生變化。
  我們當時(shí)分析原因,發(fā)現做個(gè)性化推薦之后,用戶(hù)無(wú)非從之前到分類(lèi)頁(yè)面回答問(wèn)題變?yōu)榈絺€(gè)人中心,但平均回答6個(gè)問(wèn)題的量沒(méi)有變化。
  后來(lái)我想,提升產(chǎn)品無(wú)非就兩種思路:要么吸引更多用戶(hù),要么在單個(gè)用戶(hù)上榨取更多東西。既然單個(gè)用戶(hù)被榨取得差不多了,我們就拉新,擴大用戶(hù)規模,從做核心用戶(hù)推薦,變?yōu)獒槍λ杏脩?hù)推薦。只要用戶(hù)在百度知道上做了訪(fǎng)問(wèn),我們就去搜集他在全百度的數據。
  百度內部當時(shí)有一個(gè)項目叫“優(yōu)采云”,起源于百度在2008年做個(gè)性化廣告的設想,即,在用戶(hù)搜索時(shí)出現的廣告,不僅基于關(guān)鍵詞,還要基于用戶(hù)行為體驗,雖然當時(shí)做這件事情有點(diǎn)早,但的確幫我們奠定了根基,當時(shí)已經(jīng)搜集了貼吧、知道或網(wǎng)頁(yè)上各類(lèi)用戶(hù)行為數據,我們就在這個(gè)數據集上做訓練。
  用戶(hù)在瀏覽器進(jìn)行訪(fǎng)問(wèn)的時(shí)候,都會(huì )種下一個(gè)cookie,我們基于此將用戶(hù)瀏覽的信息都記錄下來(lái)。
  根據這些信息,我們抽取每個(gè)用戶(hù)權重最高的5個(gè)興趣詞,當用戶(hù)訪(fǎng)問(wèn)百度知道詳情頁(yè)的時(shí)候,我們基于他們的興趣詞做實(shí)時(shí)搜索,將七八個(gè)待解決的問(wèn)題放到頁(yè)面右側。
  做這個(gè)的效果非常好,新版上線(xiàn)后,百度知道的回答量提升了7.5%,而我也因此在2008年獲得“最佳百度人”獎。
  此后,我對百度知道又做了一些改良,包括讓它推薦的問(wèn)題更具多樣性等,還比如將用戶(hù)半年之前的興趣,通過(guò)權重進(jìn)行不斷迭代,使其衰減,而將最近的回答權重進(jìn)行調整。但我發(fā)現,想再做提升不容易。后來(lái)我就開(kāi)始做用戶(hù)行為分析。
  統一數據需求
  百度文化里有一條是——用數據說(shuō)話(huà),不管做產(chǎn)品調研還是效果評估,都要統計數據。做產(chǎn)品訪(fǎng)問(wèn)都會(huì )在服務(wù)器端留下日志,基于日志就可以做統計分析。
  但是,百度有眾多產(chǎn)品,需要對各種各樣的數據進(jìn)行統計分析,如何將數據統計這件事情做得更好一些?
  當時(shí)遇到幾個(gè)問(wèn)題,一是需求周期長(cháng),從提出統計需求到需求被處理,需要排隊,因為一共只有兩三個(gè)工程師處理這件事情,整個(gè)過(guò)程經(jīng)過(guò)寫(xiě)程序、寫(xiě)腳本到上線(xiàn),將統計結果發(fā)送給你需要幾天的時(shí)間。
  此外,運維成本高。每個(gè)需求統計都這樣處理,團隊很快維護了差不多六七百個(gè)統計程序,經(jīng)常出問(wèn)題。比如,貼吧被人爆了都會(huì )導致程序異常。
  還有一點(diǎn),運行速度慢,當時(shí)還是單機,300G文件跑起來(lái)沒(méi)問(wèn)題,但800G文件就跑不出來(lái)了。
  第四個(gè)問(wèn)題,員工成長(cháng)受限。讓員工寫(xiě)統計腳本,他們寫(xiě)3個(gè)月還行,寫(xiě)6個(gè)月就不想干了,寫(xiě)1年就立馬跑路了,這也導致團隊管理產(chǎn)生問(wèn)題。
  當時(shí)在百度內部,會(huì )基于Hadoop去跑一些任務(wù),但對于它能將問(wèn)題解決到什么程度,我心里沒(méi)有底。我們設立的架構是,先提供一個(gè)界面,期望各個(gè)業(yè)務(wù)線(xiàn)的產(chǎn)品經(jīng)理、工程師自己去做統計,而不是每次都把任務(wù)交給我們團隊。將界面設計得小白一點(diǎn)、應用性能高一點(diǎn)。其實(shí)只是讓大家通過(guò)界面配任務(wù),用調度器、代碼生成器,將其生成Hadoop的任務(wù)進(jìn)行調度。
  差不多一年半的時(shí)間里全公司都統一到這個(gè)平臺中去了,這也是我在百度8年期間,做得最有成就感的事情。
  后來(lái),我們與其它團隊進(jìn)行合作,花了兩個(gè)半月的時(shí)間,做了一個(gè)框架,并在2011年申請了專(zhuān)利,讓開(kāi)發(fā)效率提升,以前做一個(gè)統計需要幾天,現在只要幾分鐘或更短的時(shí)間就能搞定。很快,大家都集中到統計平臺,于是又產(chǎn)生了新問(wèn)題——資源過(guò)于膨脹,當時(shí)我們團隊只有五六個(gè)人,我覺(jué)得再這樣下去數據規模太大了,無(wú)法控制。
  當時(shí)我的思路受云計算影響,總想著(zhù)去做一個(gè)更牛的計算引擎,但后來(lái)覺(jué)得這個(gè)思路不對,還是應該以數據為中心。2011年上半年,我和另外一個(gè)項目經(jīng)理商量將兩個(gè)團隊合并,成立一個(gè)數據團隊。后來(lái),我們高級總監又從谷歌那邊挖來(lái)牛人,這個(gè)人之前在雅虎做了7年,后來(lái)在谷歌做了5年,一直做數據倉庫,他帶領(lǐng)我們按照構建整個(gè)用戶(hù)行為的思路去做數據倉庫。
  百度有七八十個(gè)核心業(yè)務(wù)線(xiàn),我們將這些業(yè)務(wù)線(xiàn)產(chǎn)生的數據進(jìn)行結構化,用谷歌的Protocol Buffer將其格式進(jìn)行轉化之后,再統一到一張表里面去。在這個(gè)基礎上,我們再建上層主題數據??傊?,讓全百度各種各樣的用戶(hù)行為數據都統一到一張表。最近這一年多以來(lái),我與很多大的IT公司交流過(guò),他們這一塊的數據都做得非常初級,根本沒(méi)有將基礎數據打通、把底層做好。
  從2008年我開(kāi)始做數據,到2012年,這三四年時(shí)間我慢慢想清楚,歸根結底而言,數據就是一條“流”,我們把數據從源頭搬到平臺上,在這個(gè)基礎上,再對數據進(jìn)行入庫、存儲建設及管理。然后再去做產(chǎn)品分析和各種各樣的應用。
  心得
  數據平臺有兩個(gè)關(guān)鍵環(huán)節,一個(gè)是元數據,一個(gè)是數據源。如果一個(gè)公司既能管理好元數據,又能管理好數據源,整個(gè)平臺就不會(huì )差。
  我們常用的業(yè)務(wù)數據庫,實(shí)際存儲的數據跟元信息都是在一起管理的,所以你感覺(jué)不到元數據本身的重要性,但是在大數據處理的情況下,就要把元數據分離出來(lái)。
  想把數據平臺做好,數據源很重要。拿百度來(lái)說(shuō),網(wǎng)頁(yè)搜索是它最核心的業(yè)務(wù)線(xiàn),其它的都是附屬業(yè)務(wù)線(xiàn),這些業(yè)務(wù)線(xiàn)都會(huì )用到網(wǎng)頁(yè)搜索。如果我要變更搜索,下游依賴(lài)它的業(yè)務(wù)程序可能都會(huì )掛掉,所以我進(jìn)行格式升級前都要事先告訴他們,不然可能會(huì )出問(wèn)題。但如果我們讓源頭本身結構化,下游就不需要跟著(zhù)源頭動(dòng),數據解析效率也會(huì )比較高。
  總結一下,我在百度做用戶(hù)行為數據的心得:
  第一點(diǎn),數據源很重要。這也是我們創(chuàng )業(yè)思路中核心的一點(diǎn)。在數據采集這一塊要“大”、“全”、“細”、“時(shí)”?!按蟆敝傅氖呛暧^(guān)的大而非物理的大。比如每天全國各個(gè)地級市的蘋(píng)果價(jià)格數據只有2MB,但基于它做一個(gè)蘋(píng)果的智能調度系統,就是一個(gè)大數據應用?!叭睆娬{多種數據源;“細”強調數據維度;“時(shí)”強調時(shí)效性。
  第二點(diǎn),用戶(hù)行為事件模型很有效。規范并結構化用戶(hù)行為之后,許多數據分析都會(huì )變得更容易。Event模型指的是事件模型,之前的叫做訪(fǎng)問(wèn)量模型。
  我把2000年后的互聯(lián)網(wǎng)分成3個(gè)階段:
  2000年~2006年是流量時(shí)代,誰(shuí)的流量大誰(shuí)就牛;
  2006年~2011年,進(jìn)入第二個(gè)階段,我們把它叫做用戶(hù)時(shí)代,誰(shuí)的用戶(hù)多誰(shuí)就牛。比如開(kāi)心網(wǎng)、人人網(wǎng)、Facebook,不再考量整體訪(fǎng)問(wèn)量,而是關(guān)心活躍用戶(hù)、注冊用戶(hù)數;
  2011年后到現在屬于訂單時(shí)代。不論是全民團購還是O2O、在線(xiàn)教育、互聯(lián)網(wǎng)金融,無(wú)非是將線(xiàn)下的交易搬到線(xiàn)上,它本身就是和訂單相關(guān)的。

網(wǎng)站權重上不去?4個(gè)小技巧網(wǎng)站權重提升輕松搞定!

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 96 次瀏覽 ? 2022-05-10 20:51 ? 來(lái)自相關(guān)話(huà)題

  網(wǎng)站權重上不去?4個(gè)小技巧網(wǎng)站權重提升輕松搞定!
  
  網(wǎng)站權重值是SEO的重要一部分,網(wǎng)站的權重值越大,網(wǎng)站在搜索引擎中的分量就越重, 提升網(wǎng)站的權重值,可以讓網(wǎng)站頁(yè)面擁有更快的收錄速度,對于網(wǎng)站的排名也有著(zhù)很大的影響。
  權重數值越大,說(shuō)明該網(wǎng)站自然流量越大,自然流量大,那么相應的關(guān)鍵詞排名就相對靠前。
  權重、流量、關(guān)鍵詞排名三者之間的關(guān)系是相輔相成的。所以很多企業(yè)在做SEO優(yōu)化時(shí)都會(huì )圍繞提升網(wǎng)站權重來(lái)做。
  
  但很多企業(yè)苦于網(wǎng)站權重一直無(wú)法提高。今天老牛給大家帶來(lái)4個(gè)方面提升網(wǎng)站權重的小技巧:
  一、提高網(wǎng)站內容的質(zhì)量
  這個(gè)主要是提高每個(gè)頁(yè)面的標題和頁(yè)面內容相關(guān)性。
  比如:我們的文章是關(guān)于“奶茶招商加盟的”的。那我們的標題和內容應該圍繞“奶茶招商加盟”來(lái)展開(kāi)。
  同時(shí),文字、圖片和圖標都要傳達“奶茶招商加盟”意思;滿(mǎn)足大部分搜索“奶茶招商加盟”的用戶(hù)潛在需求。
  二、提高并固定網(wǎng)站的更新頻率
  指網(wǎng)站更新的周期,更新頻率最好每天保持定時(shí)、定量的更新。
  文章的內容以原創(chuàng )為主,實(shí)在不能全部進(jìn)行原創(chuàng )的話(huà)那至少也要對轉載原文進(jìn)行偽原創(chuàng )處理,考慮到競爭度的問(wèn)題,文章可以以長(cháng)尾關(guān)鍵詞來(lái)來(lái)進(jìn)行優(yōu)化,這樣能獲得更好的效果。
  如果你的網(wǎng)站是每天更新一次的,最好長(cháng)期保持這個(gè)頻率,并且每天在同一個(gè)時(shí)間點(diǎn)內進(jìn)行更新,讓百度蜘蛛養成習慣每天有規律的來(lái)爬你的網(wǎng)站,同時(shí)每天保持網(wǎng)站的更新也能讓你的快照更新的更快,
  三、選擇友鏈網(wǎng)站時(shí)需要搞清楚的7個(gè)數據
  和同類(lèi)型的網(wǎng)站多做友情鏈接交流,在一定程度上也能夠促進(jìn)網(wǎng)站權重。在友鏈網(wǎng)站的選擇上要注意這幾點(diǎn):
  1)挑選同類(lèi)型的網(wǎng)站,這樣兩個(gè)網(wǎng)站之間相互關(guān)聯(lián)性大,百度等搜索引擎審閱、抓取等而已快速;
  2)挑選安全性高的網(wǎng)站,這兒指的安全性是指做交流鏈接的網(wǎng)站的內容安全性,一旦對方被黑,和其做鏈接交流的網(wǎng)站也很簡(jiǎn)單被降權或許被黑;
  3)適當控制數量,做鏈接的數量最好有必定的約束,數量太多,簡(jiǎn)單分流,網(wǎng)站的權重最后為零。
  四、在高權重網(wǎng)站發(fā)軟文
  在論壇、博客、社區等平臺發(fā)軟文也能提高網(wǎng)站權重,而且平臺自身權重越高對網(wǎng)站自身的權重提升越有利。
  其中,百度搜索權重最高的就是百度自家產(chǎn)品,打開(kāi)百度產(chǎn)品大全即可。
  
  當然不是全部產(chǎn)品都做,推薦的產(chǎn)品有百度知道、百度貼吧 、百度文庫 、百度百科、百度圖片 、百家號 。
  其他平臺就要參考其權重高低,去站長(cháng)工具網(wǎng)站查詢(xún)相關(guān)網(wǎng)站權重,而且現在確定平臺的權重也不要光看百度權重。
  
  更多平臺的選擇可以參照這張思維導圖,篩選掉很多不是特別給力的渠道,將有價(jià)值的平臺給大家展示出來(lái),新人快速上車(chē),老手提提車(chē)速:
  
  
  網(wǎng)站權重的提升是一個(gè)循序漸進(jìn)長(cháng)期的過(guò)程,掌握正確的網(wǎng)站優(yōu)化方法才能讓網(wǎng)站的權重提升的更快、更穩定。
  但現金流受限,各環(huán)節都在節流的后疫情時(shí)代,如果要穩定長(cháng)期投入人力成本去做網(wǎng)站權重以及SEO優(yōu)化等工作,并不是一個(gè)適合的選擇。
  想要互聯(lián)網(wǎng)賺錢(qián)就必需先投錢(qián),投錢(qián)不一定能賺錢(qián),但不投錢(qián)一定不能賺錢(qián)!難以保證投入產(chǎn)出比,風(fēng)險大,老板就沒(méi)安全感!
  疫情期,不轉型互聯(lián)網(wǎng)是等死!但轉型互聯(lián)網(wǎng)投入大量現金流,可能是找死!
  
  6月11日(周四)牛商微講堂線(xiàn)上視頻直播,牛商網(wǎng)網(wǎng)絡(luò )營(yíng)銷(xiāo)實(shí)戰專(zhuān)家劉俊程老師為大家帶來(lái)《如何利用互聯(lián)網(wǎng)工具快速提升企業(yè)官網(wǎng)排名?》專(zhuān)題分享,助力企業(yè)打破現狀!
  課程內容有:
  1.如何做好網(wǎng)站權重的提升?
  2.如何用科學(xué)的方法快速寫(xiě)好文章?
  3.如何了解競爭對手并快速超越?
  4.老板如何利用數據高效管理運營(yíng)團隊?
  課程收獲:
  1.了解企業(yè)低成本提升網(wǎng)站權重的創(chuàng )新型工具及方法
  2.了解企業(yè)低成本提升排名、獲得免費流量的方法
  3.了解企業(yè)如何運用數據化高效管理運營(yíng)團隊
  4.了解企業(yè)快速運營(yíng)見(jiàn)效的互聯(lián)網(wǎng)運營(yíng)工具系統
  話(huà)不多說(shuō),掃碼搶名額!
   查看全部

  網(wǎng)站權重上不去?4個(gè)小技巧網(wǎng)站權重提升輕松搞定!
  
  網(wǎng)站權重值是SEO的重要一部分,網(wǎng)站的權重值越大,網(wǎng)站在搜索引擎中的分量就越重, 提升網(wǎng)站的權重值,可以讓網(wǎng)站頁(yè)面擁有更快的收錄速度,對于網(wǎng)站的排名也有著(zhù)很大的影響。
  權重數值越大,說(shuō)明該網(wǎng)站自然流量越大,自然流量大,那么相應的關(guān)鍵詞排名就相對靠前。
  權重、流量、關(guān)鍵詞排名三者之間的關(guān)系是相輔相成的。所以很多企業(yè)在做SEO優(yōu)化時(shí)都會(huì )圍繞提升網(wǎng)站權重來(lái)做。
  
  但很多企業(yè)苦于網(wǎng)站權重一直無(wú)法提高。今天老牛給大家帶來(lái)4個(gè)方面提升網(wǎng)站權重的小技巧:
  一、提高網(wǎng)站內容的質(zhì)量
  這個(gè)主要是提高每個(gè)頁(yè)面的標題和頁(yè)面內容相關(guān)性。
  比如:我們的文章是關(guān)于“奶茶招商加盟的”的。那我們的標題和內容應該圍繞“奶茶招商加盟”來(lái)展開(kāi)。
  同時(shí),文字、圖片和圖標都要傳達“奶茶招商加盟”意思;滿(mǎn)足大部分搜索“奶茶招商加盟”的用戶(hù)潛在需求。
  二、提高并固定網(wǎng)站的更新頻率
  指網(wǎng)站更新的周期,更新頻率最好每天保持定時(shí)、定量的更新。
  文章的內容以原創(chuàng )為主,實(shí)在不能全部進(jìn)行原創(chuàng )的話(huà)那至少也要對轉載原文進(jìn)行偽原創(chuàng )處理,考慮到競爭度的問(wèn)題,文章可以以長(cháng)尾關(guān)鍵詞來(lái)來(lái)進(jìn)行優(yōu)化,這樣能獲得更好的效果。
  如果你的網(wǎng)站是每天更新一次的,最好長(cháng)期保持這個(gè)頻率,并且每天在同一個(gè)時(shí)間點(diǎn)內進(jìn)行更新,讓百度蜘蛛養成習慣每天有規律的來(lái)爬你的網(wǎng)站,同時(shí)每天保持網(wǎng)站的更新也能讓你的快照更新的更快,
  三、選擇友鏈網(wǎng)站時(shí)需要搞清楚的7個(gè)數據
  和同類(lèi)型的網(wǎng)站多做友情鏈接交流,在一定程度上也能夠促進(jìn)網(wǎng)站權重。在友鏈網(wǎng)站的選擇上要注意這幾點(diǎn):
  1)挑選同類(lèi)型的網(wǎng)站,這樣兩個(gè)網(wǎng)站之間相互關(guān)聯(lián)性大,百度等搜索引擎審閱、抓取等而已快速;
  2)挑選安全性高的網(wǎng)站,這兒指的安全性是指做交流鏈接的網(wǎng)站的內容安全性,一旦對方被黑,和其做鏈接交流的網(wǎng)站也很簡(jiǎn)單被降權或許被黑;
  3)適當控制數量,做鏈接的數量最好有必定的約束,數量太多,簡(jiǎn)單分流,網(wǎng)站的權重最后為零。
  四、在高權重網(wǎng)站發(fā)軟文
  在論壇、博客、社區等平臺發(fā)軟文也能提高網(wǎng)站權重,而且平臺自身權重越高對網(wǎng)站自身的權重提升越有利。
  其中,百度搜索權重最高的就是百度自家產(chǎn)品,打開(kāi)百度產(chǎn)品大全即可。
  
  當然不是全部產(chǎn)品都做,推薦的產(chǎn)品有百度知道、百度貼吧 、百度文庫 、百度百科、百度圖片 、百家號 。
  其他平臺就要參考其權重高低,去站長(cháng)工具網(wǎng)站查詢(xún)相關(guān)網(wǎng)站權重,而且現在確定平臺的權重也不要光看百度權重。
  
  更多平臺的選擇可以參照這張思維導圖,篩選掉很多不是特別給力的渠道,將有價(jià)值的平臺給大家展示出來(lái),新人快速上車(chē),老手提提車(chē)速:
  
  
  網(wǎng)站權重的提升是一個(gè)循序漸進(jìn)長(cháng)期的過(guò)程,掌握正確的網(wǎng)站優(yōu)化方法才能讓網(wǎng)站的權重提升的更快、更穩定。
  但現金流受限,各環(huán)節都在節流的后疫情時(shí)代,如果要穩定長(cháng)期投入人力成本去做網(wǎng)站權重以及SEO優(yōu)化等工作,并不是一個(gè)適合的選擇。
  想要互聯(lián)網(wǎng)賺錢(qián)就必需先投錢(qián),投錢(qián)不一定能賺錢(qián),但不投錢(qián)一定不能賺錢(qián)!難以保證投入產(chǎn)出比,風(fēng)險大,老板就沒(méi)安全感!
  疫情期,不轉型互聯(lián)網(wǎng)是等死!但轉型互聯(lián)網(wǎng)投入大量現金流,可能是找死!
  
  6月11日(周四)牛商微講堂線(xiàn)上視頻直播,牛商網(wǎng)網(wǎng)絡(luò )營(yíng)銷(xiāo)實(shí)戰專(zhuān)家劉俊程老師為大家帶來(lái)《如何利用互聯(lián)網(wǎng)工具快速提升企業(yè)官網(wǎng)排名?》專(zhuān)題分享,助力企業(yè)打破現狀!
  課程內容有:
  1.如何做好網(wǎng)站權重的提升?
  2.如何用科學(xué)的方法快速寫(xiě)好文章?
  3.如何了解競爭對手并快速超越?
  4.老板如何利用數據高效管理運營(yíng)團隊?
  課程收獲:
  1.了解企業(yè)低成本提升網(wǎng)站權重的創(chuàng )新型工具及方法
  2.了解企業(yè)低成本提升排名、獲得免費流量的方法
  3.了解企業(yè)如何運用數據化高效管理運營(yíng)團隊
  4.了解企業(yè)快速運營(yíng)見(jiàn)效的互聯(lián)網(wǎng)運營(yíng)工具系統
  話(huà)不多說(shuō),掃碼搶名額!
  

揭秘Google排名的205個(gè)因素(百度80%管用)--上

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 88 次瀏覽 ? 2022-05-09 19:38 ? 來(lái)自相關(guān)話(huà)題

  揭秘Google排名的205個(gè)因素(百度80%管用)--上
  不少人都知道Google的搜索排名算法使用200多個(gè)因素,但具體是什么呢?
  除了Google的核心算法工程師,幾乎沒(méi)有人知道完整真相。
  而所謂的SEO技術(shù),很多時(shí)候是分析、測試搜索獲得的簡(jiǎn)單結論,有些優(yōu)化方向是明確的,比如良好的用戶(hù)體驗、優(yōu)質(zhì)內容帶來(lái)的用戶(hù)行為變化對SEO的影響;而有些優(yōu)化方向只能靠猜測。
  由于搜索流量的巨大價(jià)值,很多網(wǎng)站不惜挺而走險,利用算法漏洞去作弊,以期獲得更多的流量。
  俗話(huà)說(shuō):“道高一尺魔高一丈”,黑帽SEO與搜索引擎之間的不斷博弈,讓搜索算法也不斷迭代更新。
  除了博弈帶來(lái)的算法變化,新媒體和技術(shù)的誕生也讓搜索引擎的算法不斷進(jìn)化,比如Twitter、Facebook等社交媒體對搜索的影響。
  比如這幾年Google發(fā)布了熊貓算法、企鵝算法的各個(gè)版本,百度也發(fā)布了石榴、綠蘿、冰桶等算法。
  每個(gè)大的搜索算法迭代都有核心目的和互聯(lián)網(wǎng)環(huán)境變化的影響。
  都說(shuō)“讀史可以鑒今”,那我們一起研究下Google使用過(guò)的排名因素(很多現在依然有效),希望能窺探今后搜索引擎演化的端倪。
  以下一共有205條排名因素,有些已被證實(shí),有些有爭議,有些依然只是猜測。
  以下內容翻譯自:Google’s 200 Ranking Factors: The Complete List
  一、域名因素1、域名年齡
  谷歌知名工程師Matt Cutts曾在這個(gè)Youtube視頻中說(shuō)過(guò):“注冊6個(gè)月與注冊一年的域名差別不那么大”。
  換句話(huà)說(shuō):Google確實(shí)使用域名年齡作為一種因素考慮,但權重不高。
  2、頂級域名中出現關(guān)鍵詞
  不像過(guò)去有助于提升排名,但域名中的關(guān)鍵詞仍然作為相關(guān)性的一種信號。
  3、域名開(kāi)頭包含目標關(guān)鍵詞
  在域名開(kāi)頭包含目標關(guān)鍵詞,相對于不含關(guān)鍵詞或尾部包含關(guān)鍵詞的域名有優(yōu)勢。
  4、域名到期時(shí)間
  Google于2015年3月31日申請了“基于歷史數據的信息檢索”的專(zhuān)利,某世界知名SEO討論也討論過(guò)其中的細節,暗示Google確實(shí)研究域名注冊和更新日期。
  (1) 域名注冊日期可以作為網(wǎng)站成立日期的參考
  (2) 域名的一些信息有助于區分合法和非法網(wǎng)站,有價(jià)值的網(wǎng)站(合法)
  一般會(huì )多支付幾年的域名費用,而違法、灰色行業(yè)則很少使用超過(guò)一年。所以打算好好做網(wǎng)站的朋友多續費幾年域名吧。
  5、子域名使用關(guān)鍵詞
  Moz網(wǎng)站2011年的報告指出,子域名中出現關(guān)鍵詞可以提升排名。
  比如我們網(wǎng)站的機械行業(yè)子域名就用了“機械”的拼音,看來(lái)這種做法有一定好處。
  /
  6、域名歷史
  如果域名所有權幾經(jīng)更迭,那Google可能會(huì )重置網(wǎng)站的歷史記錄,以前域名的反向鏈接價(jià)值會(huì )被丟掉。
  7、完全匹配域名
  如果域名和關(guān)鍵詞完全一致,如果網(wǎng)站質(zhì)量很高,這依然是優(yōu)勢。否則反而更容易被識別懲罰。
  
  8、公開(kāi)與隱藏Whois信息
  Matt Cutts在2006年的Pubcon會(huì )議中說(shuō)到:“當檢查網(wǎng)站的Whois時(shí),發(fā)現不少都有隱私保護服務(wù),這很不尋常?!蜷_(kāi)Whois隱私保護并不是默認的(不少是收費服務(wù)),如果把這些因素放到一起考慮,你的網(wǎng)站會(huì )被歸到某個(gè)類(lèi)別對待(打開(kāi)隱私保護的站),而不獨立了(可能被牽連)”
  9、懲罰網(wǎng)站所有者
  如果某人被識別為垃圾郵件發(fā)送者,那Google會(huì )仔細檢查該人擁有的網(wǎng)站是否有意義。
  10、國家專(zhuān)屬域名
  使用國際/地區專(zhuān)屬頂級域名(.cn、.ca等)可以提升在這些國家和地區的排名,但限制了網(wǎng)站在全球獲得排名的能力。
  二、頁(yè)面因素11、標題中包含關(guān)鍵詞
  標題是第二重要的頁(yè)面因素(除頁(yè)面內容之外),在頁(yè)面SEO優(yōu)化中作用巨大。
  根據的數據,標題開(kāi)頭使用關(guān)鍵詞比結尾使用效果要好,如下圖所示:
  
  還有Meta description中出現關(guān)鍵詞也是高相關(guān)性的信號,現在不是特別重要,但依然有些用。
  12、H1標簽中出現關(guān)鍵詞
  H1標簽是”第二個(gè)標題標簽“,也非常重要。
  根據一些相關(guān)性研究表明:
  
  分值越低,說(shuō)明排名越靠前。從測試結果看,H1標簽作用比P標簽對排名的影響大。
  13、頁(yè)面中出現關(guān)鍵詞
  頁(yè)面中有關(guān)鍵詞比其他任何相關(guān)性都更有說(shuō)服力。
  14、內容長(cháng)度
  文章長(cháng)一般會(huì )包含更多關(guān)鍵詞,涵蓋的內容也會(huì )更廣泛,與短小精悍的文章比有優(yōu)勢。
  SERPIQ網(wǎng)站發(fā)現內容長(cháng)度于搜索結果排名相關(guān)。
  
  測試結果:平均長(cháng)度為2500個(gè)單詞的文章排名效果最好,不知道有沒(méi)有人針對百度測試過(guò)中文頁(yè)面篇幅對搜索結果的影響。
  15、關(guān)鍵詞密度
  雖然不像以前那么重要,但依然會(huì )被Google用來(lái)確定網(wǎng)頁(yè)主題。但關(guān)鍵詞密度過(guò)大會(huì )有反作用。
  16、內容中的潛在語(yǔ)義索引關(guān)鍵詞(LSI)
  潛在語(yǔ)義索引關(guān)鍵詞(Latent Semantic Indexing = LSI)幫助搜索引擎從多義詞中提取具體意義(比如 Apple 識別為蘋(píng)果公司還是蘋(píng)果這個(gè)水果),所以頁(yè)面中出現的其他相關(guān)詞很重要。是否存在LSI詞可能作為內容質(zhì)量的評判標準。
  17、Title和Meta Description中的潛在索引關(guān)鍵詞
  與網(wǎng)頁(yè)內容一樣,Meta標簽中的潛在索引關(guān)鍵詞(LSI)有助于Google辨別同義詞,也可以作為頁(yè)面相關(guān)性信號。
  18、頁(yè)面加載速度
  無(wú)論Google還是Bing都使用頁(yè)面加載速度作為一個(gè)排名因素。搜索引擎蜘蛛會(huì )根據頁(yè)面代碼和文件大小估算網(wǎng)站速度。
  19、重復內容
  同一網(wǎng)站上的相同內容(可能稍作修改)可能會(huì )對不少人都知道Google的搜索排名算法使用200多個(gè)因素,但具體是什么呢?
  除了Google的核心算法工程師,幾乎沒(méi)有人知道完整真相。
  而所謂的SEO技術(shù),很多時(shí)候是分析、測試搜索獲得的簡(jiǎn)單結論,有些優(yōu)化方向是明確的,比如良好的用戶(hù)體驗、優(yōu)質(zhì)內容帶來(lái)的用戶(hù)行為變化對SEO的影響;而有些優(yōu)化方向只能靠猜測。
  由于搜索流量的巨大價(jià)值,很多網(wǎng)站不惜挺而走險,利用算法漏洞去作弊,以期獲得更多的流量。
  俗話(huà)說(shuō):“道高一尺魔高一丈”,黑帽SEO與搜索引擎之間的不斷博弈,讓搜索算法也不斷迭代更新。
  除了博弈帶來(lái)的算法變化,新媒體和技術(shù)的誕生也讓搜索引擎的算法不斷進(jìn)化,比如Twitter、Facebook等社交媒體對搜索的影響。
  比如這幾年Google發(fā)布了熊貓算法、企鵝算法的各個(gè)版本,百度也發(fā)布了石榴、綠蘿、冰桶等算法。
  每個(gè)大的搜索算法迭代都有核心目的和互聯(lián)網(wǎng)環(huán)境變化的影響。
  都說(shuō)“讀史可以鑒今”,那我們一起研究下Google使用過(guò)的排名因素(很多現在依然有效),希望能窺探今后搜索引擎演化的端倪。
  以下一共有205條排名因素,有些已被證實(shí),有些有爭議,有些依然只是猜測。網(wǎng)站搜索引擎的收錄和排名有負面影響。
  20、rel=“canonical”標記
  合理使用rel="canonical"標記,會(huì )防止Google誤判網(wǎng)站內容重復而懲罰。
  21、Chrome瀏覽器訪(fǎng)問(wèn)速度
  Google可能會(huì )使用Chrome的用戶(hù)數據來(lái)識別與HTML代碼無(wú)關(guān)的頁(yè)面加載速度情況。
  22、圖像優(yōu)化
  圖片的文件名、Alt文本、Title、Description和Caption都是重要的頁(yè)面相關(guān)性指標。
  23、內容更新速度
  Google Caffeine算法對時(shí)間敏感的搜索很重視,表現就是搜索結果會(huì )顯示內容更新時(shí)間。
  24、內容更新幅度
  編輯和更新也是一個(gè)頁(yè)面新鮮度因素。添加或刪除整個(gè)段落才算重要更新,不能只是調換一些詞的順序。
  25、頁(yè)面歷史更新頻次
  關(guān)鍵詞出現在頁(yè)面前100個(gè)字中似乎是一個(gè)重要的相關(guān)信號。
  26、關(guān)鍵詞突出顯示
  頁(yè)面多久更新?每天、每周、每隔5年?頁(yè)面更新頻率在提升頁(yè)面新鮮度中起到重要作用。
  27、H2/H3標簽中出現關(guān)鍵詞
  將關(guān)鍵詞顯示在H2或H3標簽的副標題中是另一個(gè)弱相關(guān)信號。
  28、關(guān)鍵字匹配
  關(guān)鍵詞全字匹配更重要,比如搜索“cat shaving techniques(給貓剃毛技術(shù))”,針對完全匹配做的優(yōu)化頁(yè)面就比“techniques for shaving a cat”要好,雖然意思一樣。
  29、出站鏈接質(zhì)量
  許多SEO認為鏈接指向權重網(wǎng)站有助于向Google發(fā)送信任信號。
  30、出站鏈接主題
  根據Moz的試驗,搜索引擎可以使用你鏈接指向的頁(yè)面作為相關(guān)性信號。例如:你有一個(gè)汽車(chē)相關(guān)的頁(yè)面鏈接指向了一個(gè)電影相關(guān)的頁(yè)面,這可能會(huì )告訴Google你的頁(yè)面是關(guān)于汽車(chē)電影的,而不只是單指“汽車(chē)”。
  31、語(yǔ)法和拼寫(xiě)
  正確的語(yǔ)法和拼寫(xiě)是一個(gè)頁(yè)面質(zhì)量信號。
  32、復制內容
  頁(yè)面上的內容是否是原創(chuàng )?如果是從Google索引頁(yè)面中采集或復制的,它不會(huì )獲得和原始內容一樣的排名。
  33、有用的補充內容
  根據Google公布的評分指南文件,有用的補充內容是網(wǎng)頁(yè)質(zhì)量的指標(也是排名指標),比如貨幣換算器、貸款利息計算器等。
  34、出站鏈接數
  過(guò)多的Dofollow出站鏈接會(huì )導致PageRank“泄露”,這會(huì )影響到頁(yè)面的排名。(Google已經(jīng)取消很久了,但這條規則應該還適用的)
  35、多媒體
  圖像,視頻和其他多媒體元素可以作為內容質(zhì)量信號。
  36、指向頁(yè)面的內部鏈接的數量
  網(wǎng)站內鏈數量表明它相對于其他頁(yè)面的重要性,越多越重要。
  37、指向頁(yè)面的內部鏈接的質(zhì)量
  網(wǎng)站里高權重(PR)頁(yè)面的內鏈效果比低權重(或無(wú)權重)的效果好很多。
  38、死鏈數量
  頁(yè)面太多死鏈是網(wǎng)站被遺棄或沒(méi)人維護的特征,Google會(huì )使用死鏈來(lái)評估網(wǎng)站首頁(yè)質(zhì)量。
  39、內容可閱讀等級
  Google會(huì )評估網(wǎng)頁(yè)的閱讀難度。但這條規則有爭議,有人認為容易閱讀的淺顯內容有助于吸引讀者,還能提升排名,而有些人則認為容易被認為是內容工廠(chǎng)。
  40、聯(lián)盟鏈接
  聯(lián)盟鏈接(Affiliate Link)本身可能不會(huì )影響排名。但如果太多的話(huà),Google的算法可能會(huì )更加注意你網(wǎng)站的其他質(zhì)量信號,以確保網(wǎng)站不是一個(gè)單薄的聯(lián)盟鏈接網(wǎng)站。
  41、HTML錯誤和W3C驗證
  網(wǎng)站頁(yè)面很多HTML錯誤可能是質(zhì)量差的特征。雖然這點(diǎn)有爭議,但很多SEOer認為,網(wǎng)頁(yè)不能通過(guò)W3C驗證是一種網(wǎng)站質(zhì)量差的信號。
  42、網(wǎng)頁(yè)所在域名權重
  如果其他一切條件相同,權重高的域名頁(yè)面排名更好。
  43、頁(yè)面PageRank
  雖然并不完全相關(guān),但是一般來(lái)說(shuō),頁(yè)面有更高的PR值,排名會(huì )比PR值低的好。(Google現在已經(jīng)沒(méi)有PR值了)
  44、網(wǎng)址長(cháng)度
  URL過(guò)長(cháng)可能會(huì )影響搜索排名。
  45、URL路徑
  目錄層級越淺,越靠近根域名,可以增加URL權重。
  46、人工干預編輯
  雖然未得到證實(shí),但Google提交過(guò)一項允許人工編輯影響搜索引擎結果頁(yè)(SERP)的系統專(zhuān)利。
  47、頁(yè)面類(lèi)別
  頁(yè)面出現在什么類(lèi)別是一個(gè)相關(guān)信號,如果頁(yè)面和類(lèi)別不相關(guān),則很難獲得好的排名。(信息要發(fā)布到正確的分類(lèi))
  48、WordPress標簽
  標簽是WordPress特定的相關(guān)信號。改善搜索引擎優(yōu)化效果的唯一方法是將一個(gè)內容與另一個(gè)內容相關(guān)聯(lián),更具體地說(shuō)是將一組內容相互關(guān)聯(lián)。
  49、URL中的關(guān)鍵字
  URL中出現的關(guān)鍵詞是一個(gè)重要的相關(guān)信號。
  50、URL字符串
  Google會(huì )自動(dòng)識別URL字符串中的目錄和分類(lèi),可以識別出頁(yè)面主題。
  
  51、參考資料和來(lái)源
  引用參考資料和來(lái)源,如學(xué)術(shù)論文,可能是高質(zhì)量?jì)热莸臉酥?。Google質(zhì)量指南規定,引用頁(yè)面時(shí)應注意來(lái)源:“是否是專(zhuān)業(yè)知識或權威來(lái)源,這很很重要”。不過(guò),Google否認他們使用外部鏈接作為排名因素。
  52、無(wú)序和和有序列表
  無(wú)序和和有序列表有助于為讀者分解內容,用戶(hù)體驗會(huì )更好。Google可能更喜歡使用列表的內容。
  53、Sitemap中頁(yè)面優(yōu)先級
  Sitemap.xml文件中指定的頁(yè)面優(yōu)先級可能會(huì )影響排名。
  54、太多出站鏈接
  有些網(wǎng)頁(yè)有太多導出鏈接,會(huì )干擾和分散主要內容。
  55、其他關(guān)鍵字的排名頁(yè)面數量
  如果頁(yè)面獲得了其他關(guān)鍵字的排名,那么這個(gè)詞的排名權重可能會(huì )提升。
  56、頁(yè)面年齡
  雖然Google喜歡新鮮的內容,但是定期更新的舊頁(yè)面可能會(huì )超過(guò)新頁(yè)面。
  57、用戶(hù)友好的布局
  這里再次引用Google質(zhì)量指南文件:“高質(zhì)量的頁(yè)面布局會(huì )讓頁(yè)面主體部分很容易被用戶(hù)看到”。
  58、??坑蛎?
  2011年12月的Google更新降低了??坑蛎乃阉骺梢?jiàn)性。
  59、有用的內容
  正如Backlinko讀者Jared Carrizales所指出,Google可能會(huì )區分“高質(zhì)量”和“有用的”內容的不同。
  三、網(wǎng)站級因素60、內容可以提供價(jià)值和獨特的見(jiàn)解61、聯(lián)系我們頁(yè)面
  Google質(zhì)量文件指出,他們更喜歡具有“適當聯(lián)系信息”的網(wǎng)站。如果網(wǎng)站的聯(lián)系信息和whois信息一致,可能會(huì )有獎勵。
  62、域名信任度
  域名獲得多少來(lái)自種子站點(diǎn)(搜索引擎極度青睞的抓取起始站點(diǎn))的鏈接是一個(gè)非常重要的排名因素。
  63、網(wǎng)站架構
  一個(gè)很好的整合網(wǎng)站架構(尤其是一個(gè)倉筒結構)可以幫助Google識別和抓取、組織你的內容。
  倉筒結構的理解就是把同一類(lèi)內容放到不同的目錄下,就像農民會(huì )把小麥、大麥、燕麥放到獨立的倉庫,如果混在一起,只能稱(chēng)之為”谷物“,反而降低了價(jià)值。結構要點(diǎn):將同類(lèi)型和主題的頁(yè)面放在一起;分離不相關(guān)的頁(yè)面;加強每個(gè)目錄的著(zhù)陸頁(yè)。
  64、網(wǎng)站更新
  網(wǎng)站的更新頻次,尤其是添加新內容時(shí)。這是一個(gè)很好的提升網(wǎng)站新鮮度的信號。
  65、頁(yè)數
  網(wǎng)站頁(yè)面數對權重略有影響。至少一個(gè)擁有很多內容的大型網(wǎng)站比內容薄弱的賺聯(lián)盟費網(wǎng)站要強。
  66、站點(diǎn)地圖
  站點(diǎn)地圖有助于搜索引擎更輕松、更徹底地抓取和索引你的頁(yè)面,提高頁(yè)面可見(jiàn)性(搜索排名)。
  67、網(wǎng)站正常運行時(shí)間
  網(wǎng)站經(jīng)常維護或宕機可能會(huì )影響排名(如果沒(méi)有及時(shí)修復,甚至可能導致減少索引量)
  68、服務(wù)器位置
  服務(wù)器位置可能會(huì )影響網(wǎng)站在不同地區的排名,對于地域相關(guān)的搜索特別重要。
  69、SSL證書(shū)
  已經(jīng)確認Google會(huì )索引SSL證書(shū),并使用HTTPS作為排名信號。
  70、服務(wù)條款和隱私頁(yè)面
  這兩個(gè)頁(yè)面有助于告訴Google你的網(wǎng)站是值得信賴(lài)的。
  71、重復的Meta標簽內容
  網(wǎng)站頁(yè)面使用重復一樣的Meta keywords和Description可能會(huì )降低你的所有頁(yè)面可見(jiàn)性。
  72、面包屑導航(Breadcrumb)
  擁有面包屑導航是用戶(hù)體驗良好的網(wǎng)站結構風(fēng)格,可以幫助用戶(hù)(和搜索引擎)知道他們在網(wǎng)站上的位置。
  和都聲稱(chēng)面包屑是一個(gè)重要排名因素。
  73、移動(dòng)版優(yōu)化
  谷歌的官方建議是創(chuàng )建一個(gè)響應式網(wǎng)站。響應式網(wǎng)站可能會(huì )在移動(dòng)搜索中獲得優(yōu)勢。Google還會(huì )對移動(dòng)搜索結果中沒(méi)有移動(dòng)版的頁(yè)面進(jìn)行降權。
  74、YouTube優(yōu)化
  可能因為Youtube是Google旗下產(chǎn)品,搜索結果頁(yè)面(SERP)中有特殊排名待遇(排名很好),尤其是Google 熊貓算法后,Youtube流量增加顯著(zhù)。
  
  75、網(wǎng)站可用性
  難用的網(wǎng)站一般用戶(hù)停留時(shí)間短、訪(fǎng)問(wèn)深度淺、跳出率高,這些都會(huì )降低排名。這可能是從大量用戶(hù)數據中收集到的獨立算法因素。
  76、Google Analytics(分析)和Google網(wǎng)站管理員工具
  有些人認為,在網(wǎng)站上安裝這兩個(gè)程序可以改善網(wǎng)頁(yè)索引。也可能直接影響排名(因為Google可以獲得網(wǎng)站更準確的跳出率,是否從反向鏈接獲得流量等)。
  國內則對應的是百度統計和百度站長(cháng)工具。
  77、用戶(hù)評價(jià)/網(wǎng)站聲譽(yù)
  Yelp和可能在Google這個(gè)算法中發(fā)揮了重要作用。Google甚至發(fā)布了他們抓住了一個(gè)利用用戶(hù)差評獲得反向鏈接的案例。
  國內應對對應的就是百度口碑網(wǎng)站了:百度口碑
  四、反向鏈接因素78、鏈接的域名年齡
  老域名的反向鏈接可能比新域名作用更大。
  79、鏈接的域名數量
  引用域名數量是Google算法中最重要的排名因素之一,如下圖所示(Moz數據,橫坐標是排名),鏈接域名數量越多排名越高。(請注意:圖中也告訴我們鏈接數是有閾值的,在沒(méi)有突破閾值前,有可能鏈接域名越多,排名反而會(huì )下降)
  
  80、獨立C類(lèi)IP的鏈接數
  來(lái)自不同C類(lèi)IP(Class-C)數量越多,說(shuō)明鏈接廣泛性越好。
  81、鏈接頁(yè)數
  鏈接頁(yè)面的總數很重要,即使部分都來(lái)自同一個(gè)域名,這也對排名有幫助。
  82、Alt標簽(用于圖像鏈接)
  Alt文本可以說(shuō)是圖像的”錨文本“。
  83、來(lái)自.edu或.gov類(lèi)域名鏈接
  雖然Google的Matt Cutts說(shuō)不會(huì )做區別對待。但是,這并不妨礙廣大SEOer認為Google對.gov和.edu域名的權重算法中有特殊的地方,也就說(shuō)大家認為來(lái)自教育機構和政府網(wǎng)站的鏈接價(jià)值更大。
  84、鏈接頁(yè)面的權重
  反向鏈接的頁(yè)面權重(PageRank)是非常重要的排名因素。
  85、鏈接域名的權重
  同等頁(yè)面權重下,域名權重越高越好(PR3站點(diǎn)的PR2頁(yè)面權重小于PR8網(wǎng)站的PR2頁(yè)面)。
  86、來(lái)自競爭對手的鏈接
  如果你能獲得關(guān)鍵詞搜索結果中其他網(wǎng)站的反向鏈接,則對于關(guān)鍵詞排名特別有價(jià)值。
  87、社會(huì )化網(wǎng)站引用頁(yè)面
  被社會(huì )化(設計)網(wǎng)站引用可能會(huì )影響鏈接的價(jià)值,被引用的越多越好。
  88、來(lái)自垃圾網(wǎng)站的鏈接
  來(lái)自垃圾網(wǎng)站的鏈接可能會(huì )傷害網(wǎng)站排名。
  89、用戶(hù)帖子引用
  雖然讓用戶(hù)發(fā)布引用鏈接是白帽SEO的一部分,但如果鏈接來(lái)自簽名或簡(jiǎn)介部分,價(jià)值可能不如頁(yè)面內容里的相關(guān)鏈接,盡量能讓用戶(hù)帖子內容里加鏈接。 查看全部

  揭秘Google排名的205個(gè)因素(百度80%管用)--上
  不少人都知道Google的搜索排名算法使用200多個(gè)因素,但具體是什么呢?
  除了Google的核心算法工程師,幾乎沒(méi)有人知道完整真相。
  而所謂的SEO技術(shù),很多時(shí)候是分析、測試搜索獲得的簡(jiǎn)單結論,有些優(yōu)化方向是明確的,比如良好的用戶(hù)體驗、優(yōu)質(zhì)內容帶來(lái)的用戶(hù)行為變化對SEO的影響;而有些優(yōu)化方向只能靠猜測。
  由于搜索流量的巨大價(jià)值,很多網(wǎng)站不惜挺而走險,利用算法漏洞去作弊,以期獲得更多的流量。
  俗話(huà)說(shuō):“道高一尺魔高一丈”,黑帽SEO與搜索引擎之間的不斷博弈,讓搜索算法也不斷迭代更新。
  除了博弈帶來(lái)的算法變化,新媒體和技術(shù)的誕生也讓搜索引擎的算法不斷進(jìn)化,比如Twitter、Facebook等社交媒體對搜索的影響。
  比如這幾年Google發(fā)布了熊貓算法、企鵝算法的各個(gè)版本,百度也發(fā)布了石榴、綠蘿、冰桶等算法。
  每個(gè)大的搜索算法迭代都有核心目的和互聯(lián)網(wǎng)環(huán)境變化的影響。
  都說(shuō)“讀史可以鑒今”,那我們一起研究下Google使用過(guò)的排名因素(很多現在依然有效),希望能窺探今后搜索引擎演化的端倪。
  以下一共有205條排名因素,有些已被證實(shí),有些有爭議,有些依然只是猜測。
  以下內容翻譯自:Google’s 200 Ranking Factors: The Complete List
  一、域名因素1、域名年齡
  谷歌知名工程師Matt Cutts曾在這個(gè)Youtube視頻中說(shuō)過(guò):“注冊6個(gè)月與注冊一年的域名差別不那么大”。
  換句話(huà)說(shuō):Google確實(shí)使用域名年齡作為一種因素考慮,但權重不高。
  2、頂級域名中出現關(guān)鍵詞
  不像過(guò)去有助于提升排名,但域名中的關(guān)鍵詞仍然作為相關(guān)性的一種信號。
  3、域名開(kāi)頭包含目標關(guān)鍵詞
  在域名開(kāi)頭包含目標關(guān)鍵詞,相對于不含關(guān)鍵詞或尾部包含關(guān)鍵詞的域名有優(yōu)勢。
  4、域名到期時(shí)間
  Google于2015年3月31日申請了“基于歷史數據的信息檢索”的專(zhuān)利,某世界知名SEO討論也討論過(guò)其中的細節,暗示Google確實(shí)研究域名注冊和更新日期。
  (1) 域名注冊日期可以作為網(wǎng)站成立日期的參考
  (2) 域名的一些信息有助于區分合法和非法網(wǎng)站,有價(jià)值的網(wǎng)站(合法)
  一般會(huì )多支付幾年的域名費用,而違法、灰色行業(yè)則很少使用超過(guò)一年。所以打算好好做網(wǎng)站的朋友多續費幾年域名吧。
  5、子域名使用關(guān)鍵詞
  Moz網(wǎng)站2011年的報告指出,子域名中出現關(guān)鍵詞可以提升排名。
  比如我們網(wǎng)站的機械行業(yè)子域名就用了“機械”的拼音,看來(lái)這種做法有一定好處。
  /
  6、域名歷史
  如果域名所有權幾經(jīng)更迭,那Google可能會(huì )重置網(wǎng)站的歷史記錄,以前域名的反向鏈接價(jià)值會(huì )被丟掉。
  7、完全匹配域名
  如果域名和關(guān)鍵詞完全一致,如果網(wǎng)站質(zhì)量很高,這依然是優(yōu)勢。否則反而更容易被識別懲罰。
  
  8、公開(kāi)與隱藏Whois信息
  Matt Cutts在2006年的Pubcon會(huì )議中說(shuō)到:“當檢查網(wǎng)站的Whois時(shí),發(fā)現不少都有隱私保護服務(wù),這很不尋常?!蜷_(kāi)Whois隱私保護并不是默認的(不少是收費服務(wù)),如果把這些因素放到一起考慮,你的網(wǎng)站會(huì )被歸到某個(gè)類(lèi)別對待(打開(kāi)隱私保護的站),而不獨立了(可能被牽連)”
  9、懲罰網(wǎng)站所有者
  如果某人被識別為垃圾郵件發(fā)送者,那Google會(huì )仔細檢查該人擁有的網(wǎng)站是否有意義。
  10、國家專(zhuān)屬域名
  使用國際/地區專(zhuān)屬頂級域名(.cn、.ca等)可以提升在這些國家和地區的排名,但限制了網(wǎng)站在全球獲得排名的能力。
  二、頁(yè)面因素11、標題中包含關(guān)鍵詞
  標題是第二重要的頁(yè)面因素(除頁(yè)面內容之外),在頁(yè)面SEO優(yōu)化中作用巨大。
  根據的數據,標題開(kāi)頭使用關(guān)鍵詞比結尾使用效果要好,如下圖所示:
  
  還有Meta description中出現關(guān)鍵詞也是高相關(guān)性的信號,現在不是特別重要,但依然有些用。
  12、H1標簽中出現關(guān)鍵詞
  H1標簽是”第二個(gè)標題標簽“,也非常重要。
  根據一些相關(guān)性研究表明:
  
  分值越低,說(shuō)明排名越靠前。從測試結果看,H1標簽作用比P標簽對排名的影響大。
  13、頁(yè)面中出現關(guān)鍵詞
  頁(yè)面中有關(guān)鍵詞比其他任何相關(guān)性都更有說(shuō)服力。
  14、內容長(cháng)度
  文章長(cháng)一般會(huì )包含更多關(guān)鍵詞,涵蓋的內容也會(huì )更廣泛,與短小精悍的文章比有優(yōu)勢。
  SERPIQ網(wǎng)站發(fā)現內容長(cháng)度于搜索結果排名相關(guān)。
  
  測試結果:平均長(cháng)度為2500個(gè)單詞的文章排名效果最好,不知道有沒(méi)有人針對百度測試過(guò)中文頁(yè)面篇幅對搜索結果的影響。
  15、關(guān)鍵詞密度
  雖然不像以前那么重要,但依然會(huì )被Google用來(lái)確定網(wǎng)頁(yè)主題。但關(guān)鍵詞密度過(guò)大會(huì )有反作用。
  16、內容中的潛在語(yǔ)義索引關(guān)鍵詞(LSI)
  潛在語(yǔ)義索引關(guān)鍵詞(Latent Semantic Indexing = LSI)幫助搜索引擎從多義詞中提取具體意義(比如 Apple 識別為蘋(píng)果公司還是蘋(píng)果這個(gè)水果),所以頁(yè)面中出現的其他相關(guān)詞很重要。是否存在LSI詞可能作為內容質(zhì)量的評判標準。
  17、Title和Meta Description中的潛在索引關(guān)鍵詞
  與網(wǎng)頁(yè)內容一樣,Meta標簽中的潛在索引關(guān)鍵詞(LSI)有助于Google辨別同義詞,也可以作為頁(yè)面相關(guān)性信號。
  18、頁(yè)面加載速度
  無(wú)論Google還是Bing都使用頁(yè)面加載速度作為一個(gè)排名因素。搜索引擎蜘蛛會(huì )根據頁(yè)面代碼和文件大小估算網(wǎng)站速度。
  19、重復內容
  同一網(wǎng)站上的相同內容(可能稍作修改)可能會(huì )對不少人都知道Google的搜索排名算法使用200多個(gè)因素,但具體是什么呢?
  除了Google的核心算法工程師,幾乎沒(méi)有人知道完整真相。
  而所謂的SEO技術(shù),很多時(shí)候是分析、測試搜索獲得的簡(jiǎn)單結論,有些優(yōu)化方向是明確的,比如良好的用戶(hù)體驗、優(yōu)質(zhì)內容帶來(lái)的用戶(hù)行為變化對SEO的影響;而有些優(yōu)化方向只能靠猜測。
  由于搜索流量的巨大價(jià)值,很多網(wǎng)站不惜挺而走險,利用算法漏洞去作弊,以期獲得更多的流量。
  俗話(huà)說(shuō):“道高一尺魔高一丈”,黑帽SEO與搜索引擎之間的不斷博弈,讓搜索算法也不斷迭代更新。
  除了博弈帶來(lái)的算法變化,新媒體和技術(shù)的誕生也讓搜索引擎的算法不斷進(jìn)化,比如Twitter、Facebook等社交媒體對搜索的影響。
  比如這幾年Google發(fā)布了熊貓算法、企鵝算法的各個(gè)版本,百度也發(fā)布了石榴、綠蘿、冰桶等算法。
  每個(gè)大的搜索算法迭代都有核心目的和互聯(lián)網(wǎng)環(huán)境變化的影響。
  都說(shuō)“讀史可以鑒今”,那我們一起研究下Google使用過(guò)的排名因素(很多現在依然有效),希望能窺探今后搜索引擎演化的端倪。
  以下一共有205條排名因素,有些已被證實(shí),有些有爭議,有些依然只是猜測。網(wǎng)站搜索引擎的收錄和排名有負面影響。
  20、rel=“canonical”標記
  合理使用rel="canonical"標記,會(huì )防止Google誤判網(wǎng)站內容重復而懲罰。
  21、Chrome瀏覽器訪(fǎng)問(wèn)速度
  Google可能會(huì )使用Chrome的用戶(hù)數據來(lái)識別與HTML代碼無(wú)關(guān)的頁(yè)面加載速度情況。
  22、圖像優(yōu)化
  圖片的文件名、Alt文本、Title、Description和Caption都是重要的頁(yè)面相關(guān)性指標。
  23、內容更新速度
  Google Caffeine算法對時(shí)間敏感的搜索很重視,表現就是搜索結果會(huì )顯示內容更新時(shí)間。
  24、內容更新幅度
  編輯和更新也是一個(gè)頁(yè)面新鮮度因素。添加或刪除整個(gè)段落才算重要更新,不能只是調換一些詞的順序。
  25、頁(yè)面歷史更新頻次
  關(guān)鍵詞出現在頁(yè)面前100個(gè)字中似乎是一個(gè)重要的相關(guān)信號。
  26、關(guān)鍵詞突出顯示
  頁(yè)面多久更新?每天、每周、每隔5年?頁(yè)面更新頻率在提升頁(yè)面新鮮度中起到重要作用。
  27、H2/H3標簽中出現關(guān)鍵詞
  將關(guān)鍵詞顯示在H2或H3標簽的副標題中是另一個(gè)弱相關(guān)信號。
  28、關(guān)鍵字匹配
  關(guān)鍵詞全字匹配更重要,比如搜索“cat shaving techniques(給貓剃毛技術(shù))”,針對完全匹配做的優(yōu)化頁(yè)面就比“techniques for shaving a cat”要好,雖然意思一樣。
  29、出站鏈接質(zhì)量
  許多SEO認為鏈接指向權重網(wǎng)站有助于向Google發(fā)送信任信號。
  30、出站鏈接主題
  根據Moz的試驗,搜索引擎可以使用你鏈接指向的頁(yè)面作為相關(guān)性信號。例如:你有一個(gè)汽車(chē)相關(guān)的頁(yè)面鏈接指向了一個(gè)電影相關(guān)的頁(yè)面,這可能會(huì )告訴Google你的頁(yè)面是關(guān)于汽車(chē)電影的,而不只是單指“汽車(chē)”。
  31、語(yǔ)法和拼寫(xiě)
  正確的語(yǔ)法和拼寫(xiě)是一個(gè)頁(yè)面質(zhì)量信號。
  32、復制內容
  頁(yè)面上的內容是否是原創(chuàng )?如果是從Google索引頁(yè)面中采集或復制的,它不會(huì )獲得和原始內容一樣的排名。
  33、有用的補充內容
  根據Google公布的評分指南文件,有用的補充內容是網(wǎng)頁(yè)質(zhì)量的指標(也是排名指標),比如貨幣換算器、貸款利息計算器等。
  34、出站鏈接數
  過(guò)多的Dofollow出站鏈接會(huì )導致PageRank“泄露”,這會(huì )影響到頁(yè)面的排名。(Google已經(jīng)取消很久了,但這條規則應該還適用的)
  35、多媒體
  圖像,視頻和其他多媒體元素可以作為內容質(zhì)量信號。
  36、指向頁(yè)面的內部鏈接的數量
  網(wǎng)站內鏈數量表明它相對于其他頁(yè)面的重要性,越多越重要。
  37、指向頁(yè)面的內部鏈接的質(zhì)量
  網(wǎng)站里高權重(PR)頁(yè)面的內鏈效果比低權重(或無(wú)權重)的效果好很多。
  38、死鏈數量
  頁(yè)面太多死鏈是網(wǎng)站被遺棄或沒(méi)人維護的特征,Google會(huì )使用死鏈來(lái)評估網(wǎng)站首頁(yè)質(zhì)量。
  39、內容可閱讀等級
  Google會(huì )評估網(wǎng)頁(yè)的閱讀難度。但這條規則有爭議,有人認為容易閱讀的淺顯內容有助于吸引讀者,還能提升排名,而有些人則認為容易被認為是內容工廠(chǎng)。
  40、聯(lián)盟鏈接
  聯(lián)盟鏈接(Affiliate Link)本身可能不會(huì )影響排名。但如果太多的話(huà),Google的算法可能會(huì )更加注意你網(wǎng)站的其他質(zhì)量信號,以確保網(wǎng)站不是一個(gè)單薄的聯(lián)盟鏈接網(wǎng)站。
  41、HTML錯誤和W3C驗證
  網(wǎng)站頁(yè)面很多HTML錯誤可能是質(zhì)量差的特征。雖然這點(diǎn)有爭議,但很多SEOer認為,網(wǎng)頁(yè)不能通過(guò)W3C驗證是一種網(wǎng)站質(zhì)量差的信號。
  42、網(wǎng)頁(yè)所在域名權重
  如果其他一切條件相同,權重高的域名頁(yè)面排名更好。
  43、頁(yè)面PageRank
  雖然并不完全相關(guān),但是一般來(lái)說(shuō),頁(yè)面有更高的PR值,排名會(huì )比PR值低的好。(Google現在已經(jīng)沒(méi)有PR值了)
  44、網(wǎng)址長(cháng)度
  URL過(guò)長(cháng)可能會(huì )影響搜索排名。
  45、URL路徑
  目錄層級越淺,越靠近根域名,可以增加URL權重。
  46、人工干預編輯
  雖然未得到證實(shí),但Google提交過(guò)一項允許人工編輯影響搜索引擎結果頁(yè)(SERP)的系統專(zhuān)利。
  47、頁(yè)面類(lèi)別
  頁(yè)面出現在什么類(lèi)別是一個(gè)相關(guān)信號,如果頁(yè)面和類(lèi)別不相關(guān),則很難獲得好的排名。(信息要發(fā)布到正確的分類(lèi))
  48、WordPress標簽
  標簽是WordPress特定的相關(guān)信號。改善搜索引擎優(yōu)化效果的唯一方法是將一個(gè)內容與另一個(gè)內容相關(guān)聯(lián),更具體地說(shuō)是將一組內容相互關(guān)聯(lián)。
  49、URL中的關(guān)鍵字
  URL中出現的關(guān)鍵詞是一個(gè)重要的相關(guān)信號。
  50、URL字符串
  Google會(huì )自動(dòng)識別URL字符串中的目錄和分類(lèi),可以識別出頁(yè)面主題。
  
  51、參考資料和來(lái)源
  引用參考資料和來(lái)源,如學(xué)術(shù)論文,可能是高質(zhì)量?jì)热莸臉酥?。Google質(zhì)量指南規定,引用頁(yè)面時(shí)應注意來(lái)源:“是否是專(zhuān)業(yè)知識或權威來(lái)源,這很很重要”。不過(guò),Google否認他們使用外部鏈接作為排名因素。
  52、無(wú)序和和有序列表
  無(wú)序和和有序列表有助于為讀者分解內容,用戶(hù)體驗會(huì )更好。Google可能更喜歡使用列表的內容。
  53、Sitemap中頁(yè)面優(yōu)先級
  Sitemap.xml文件中指定的頁(yè)面優(yōu)先級可能會(huì )影響排名。
  54、太多出站鏈接
  有些網(wǎng)頁(yè)有太多導出鏈接,會(huì )干擾和分散主要內容。
  55、其他關(guān)鍵字的排名頁(yè)面數量
  如果頁(yè)面獲得了其他關(guān)鍵字的排名,那么這個(gè)詞的排名權重可能會(huì )提升。
  56、頁(yè)面年齡
  雖然Google喜歡新鮮的內容,但是定期更新的舊頁(yè)面可能會(huì )超過(guò)新頁(yè)面。
  57、用戶(hù)友好的布局
  這里再次引用Google質(zhì)量指南文件:“高質(zhì)量的頁(yè)面布局會(huì )讓頁(yè)面主體部分很容易被用戶(hù)看到”。
  58、??坑蛎?
  2011年12月的Google更新降低了??坑蛎乃阉骺梢?jiàn)性。
  59、有用的內容
  正如Backlinko讀者Jared Carrizales所指出,Google可能會(huì )區分“高質(zhì)量”和“有用的”內容的不同。
  三、網(wǎng)站級因素60、內容可以提供價(jià)值和獨特的見(jiàn)解61、聯(lián)系我們頁(yè)面
  Google質(zhì)量文件指出,他們更喜歡具有“適當聯(lián)系信息”的網(wǎng)站。如果網(wǎng)站的聯(lián)系信息和whois信息一致,可能會(huì )有獎勵。
  62、域名信任度
  域名獲得多少來(lái)自種子站點(diǎn)(搜索引擎極度青睞的抓取起始站點(diǎn))的鏈接是一個(gè)非常重要的排名因素。
  63、網(wǎng)站架構
  一個(gè)很好的整合網(wǎng)站架構(尤其是一個(gè)倉筒結構)可以幫助Google識別和抓取、組織你的內容。
  倉筒結構的理解就是把同一類(lèi)內容放到不同的目錄下,就像農民會(huì )把小麥、大麥、燕麥放到獨立的倉庫,如果混在一起,只能稱(chēng)之為”谷物“,反而降低了價(jià)值。結構要點(diǎn):將同類(lèi)型和主題的頁(yè)面放在一起;分離不相關(guān)的頁(yè)面;加強每個(gè)目錄的著(zhù)陸頁(yè)。
  64、網(wǎng)站更新
  網(wǎng)站的更新頻次,尤其是添加新內容時(shí)。這是一個(gè)很好的提升網(wǎng)站新鮮度的信號。
  65、頁(yè)數
  網(wǎng)站頁(yè)面數對權重略有影響。至少一個(gè)擁有很多內容的大型網(wǎng)站比內容薄弱的賺聯(lián)盟費網(wǎng)站要強。
  66、站點(diǎn)地圖
  站點(diǎn)地圖有助于搜索引擎更輕松、更徹底地抓取和索引你的頁(yè)面,提高頁(yè)面可見(jiàn)性(搜索排名)。
  67、網(wǎng)站正常運行時(shí)間
  網(wǎng)站經(jīng)常維護或宕機可能會(huì )影響排名(如果沒(méi)有及時(shí)修復,甚至可能導致減少索引量)
  68、服務(wù)器位置
  服務(wù)器位置可能會(huì )影響網(wǎng)站在不同地區的排名,對于地域相關(guān)的搜索特別重要。
  69、SSL證書(shū)
  已經(jīng)確認Google會(huì )索引SSL證書(shū),并使用HTTPS作為排名信號。
  70、服務(wù)條款和隱私頁(yè)面
  這兩個(gè)頁(yè)面有助于告訴Google你的網(wǎng)站是值得信賴(lài)的。
  71、重復的Meta標簽內容
  網(wǎng)站頁(yè)面使用重復一樣的Meta keywords和Description可能會(huì )降低你的所有頁(yè)面可見(jiàn)性。
  72、面包屑導航(Breadcrumb)
  擁有面包屑導航是用戶(hù)體驗良好的網(wǎng)站結構風(fēng)格,可以幫助用戶(hù)(和搜索引擎)知道他們在網(wǎng)站上的位置。
  和都聲稱(chēng)面包屑是一個(gè)重要排名因素。
  73、移動(dòng)版優(yōu)化
  谷歌的官方建議是創(chuàng )建一個(gè)響應式網(wǎng)站。響應式網(wǎng)站可能會(huì )在移動(dòng)搜索中獲得優(yōu)勢。Google還會(huì )對移動(dòng)搜索結果中沒(méi)有移動(dòng)版的頁(yè)面進(jìn)行降權。
  74、YouTube優(yōu)化
  可能因為Youtube是Google旗下產(chǎn)品,搜索結果頁(yè)面(SERP)中有特殊排名待遇(排名很好),尤其是Google 熊貓算法后,Youtube流量增加顯著(zhù)。
  
  75、網(wǎng)站可用性
  難用的網(wǎng)站一般用戶(hù)停留時(shí)間短、訪(fǎng)問(wèn)深度淺、跳出率高,這些都會(huì )降低排名。這可能是從大量用戶(hù)數據中收集到的獨立算法因素。
  76、Google Analytics(分析)和Google網(wǎng)站管理員工具
  有些人認為,在網(wǎng)站上安裝這兩個(gè)程序可以改善網(wǎng)頁(yè)索引。也可能直接影響排名(因為Google可以獲得網(wǎng)站更準確的跳出率,是否從反向鏈接獲得流量等)。
  國內則對應的是百度統計和百度站長(cháng)工具。
  77、用戶(hù)評價(jià)/網(wǎng)站聲譽(yù)
  Yelp和可能在Google這個(gè)算法中發(fā)揮了重要作用。Google甚至發(fā)布了他們抓住了一個(gè)利用用戶(hù)差評獲得反向鏈接的案例。
  國內應對對應的就是百度口碑網(wǎng)站了:百度口碑
  四、反向鏈接因素78、鏈接的域名年齡
  老域名的反向鏈接可能比新域名作用更大。
  79、鏈接的域名數量
  引用域名數量是Google算法中最重要的排名因素之一,如下圖所示(Moz數據,橫坐標是排名),鏈接域名數量越多排名越高。(請注意:圖中也告訴我們鏈接數是有閾值的,在沒(méi)有突破閾值前,有可能鏈接域名越多,排名反而會(huì )下降)
  
  80、獨立C類(lèi)IP的鏈接數
  來(lái)自不同C類(lèi)IP(Class-C)數量越多,說(shuō)明鏈接廣泛性越好。
  81、鏈接頁(yè)數
  鏈接頁(yè)面的總數很重要,即使部分都來(lái)自同一個(gè)域名,這也對排名有幫助。
  82、Alt標簽(用于圖像鏈接)
  Alt文本可以說(shuō)是圖像的”錨文本“。
  83、來(lái)自.edu或.gov類(lèi)域名鏈接
  雖然Google的Matt Cutts說(shuō)不會(huì )做區別對待。但是,這并不妨礙廣大SEOer認為Google對.gov和.edu域名的權重算法中有特殊的地方,也就說(shuō)大家認為來(lái)自教育機構和政府網(wǎng)站的鏈接價(jià)值更大。
  84、鏈接頁(yè)面的權重
  反向鏈接的頁(yè)面權重(PageRank)是非常重要的排名因素。
  85、鏈接域名的權重
  同等頁(yè)面權重下,域名權重越高越好(PR3站點(diǎn)的PR2頁(yè)面權重小于PR8網(wǎng)站的PR2頁(yè)面)。
  86、來(lái)自競爭對手的鏈接
  如果你能獲得關(guān)鍵詞搜索結果中其他網(wǎng)站的反向鏈接,則對于關(guān)鍵詞排名特別有價(jià)值。
  87、社會(huì )化網(wǎng)站引用頁(yè)面
  被社會(huì )化(設計)網(wǎng)站引用可能會(huì )影響鏈接的價(jià)值,被引用的越多越好。
  88、來(lái)自垃圾網(wǎng)站的鏈接
  來(lái)自垃圾網(wǎng)站的鏈接可能會(huì )傷害網(wǎng)站排名。
  89、用戶(hù)帖子引用
  雖然讓用戶(hù)發(fā)布引用鏈接是白帽SEO的一部分,但如果鏈接來(lái)自簽名或簡(jiǎn)介部分,價(jià)值可能不如頁(yè)面內容里的相關(guān)鏈接,盡量能讓用戶(hù)帖子內容里加鏈接。

RPA數據爬蟲(chóng)會(huì )比python方便100倍嗎?一文詳細解讀

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 312 次瀏覽 ? 2022-05-08 04:22 ? 來(lái)自相關(guān)話(huà)題

  RPA數據爬蟲(chóng)會(huì )比python方便100倍嗎?一文詳細解讀
  數據時(shí)代已經(jīng)到來(lái),當大家也想按照大數據的思想重新定義我們的工作及找項目等等時(shí),忽然發(fā)現之前我們從不在乎的數據離我們那么遙遠。
  大數據分析之所以大,是因為其分析的數據是全量數據(或接近全量),其和以前的采樣分析(樣本)有著(zhù)本質(zhì)的區分。為此,我們?yōu)榱四軌蜻M(jìn)行分析,我們就需要獲取全量的數據,這往往是很難得到的。
  
  目前,可以獲取我們想要的數據主要是爬蟲(chóng)獲?。?
  1.通過(guò)爬蟲(chóng)獲?。〝祿ト。?
  這是大家最主要使用的方法,包括:第三方的爬蟲(chóng)客戶(hù)端、第三方的爬蟲(chóng)平臺、開(kāi)源的爬蟲(chóng)以及自己使用Python編寫(xiě)的爬蟲(chóng)。
  爬蟲(chóng)的方式獲取數據尤其優(yōu)勢,就是爬取自己想要的內容,其針對性很強。但也有其劣勢,即:用好爬蟲(chóng)是需要一定技術(shù)的,而且爬取的網(wǎng)站也在改變,需要隨時(shí)更新爬蟲(chóng)規則。
  2.實(shí)際上python抓取數據的話(huà)是很麻煩的(分四步)
  確定目標:確定抓取哪個(gè)網(wǎng)站的哪些頁(yè)面的哪部分數據。比如是:抓取百度百科詞條標題及鏈接。
  分析目標:分析要抓取的url的格式,限定抓取范圍,分析要抓取的數據的格式。要分析標題和簡(jiǎn)介這兩個(gè)數據所在的標簽的格式。分析要抓取的頁(yè)面編碼的格式,在網(wǎng)頁(yè)解析器部分,要指定網(wǎng)頁(yè)編碼,然后才能進(jìn)行正確的解析。
  編寫(xiě)代碼:在網(wǎng)頁(yè)解析器部分,要使用到分析目標得到的結果。
  執行爬蟲(chóng):進(jìn)行數據抓取。
  可以看見(jiàn)我們編寫(xiě)的代碼是很多的,反正小編是看不懂,小編是非編程人員。
  
  3.RPA機器人抓取百度數據
  今天小編教你一個(gè)超級簡(jiǎn)單的方法,那就是用RPA機器人來(lái)進(jìn)行數據抓取。
  第一步:自行搜索想要的“關(guān)鍵詞”
  
  第二步:使用RPA工具的數據抓取功能
  
  選擇你想要的數據(標題和鏈接)
  
  輸出我們的數據,當然我沒(méi)有去把數據寫(xiě)進(jìn)表格,寫(xiě)進(jìn)表格也是一條中文代碼的事情。
  
  如果你還在想去學(xué)習python來(lái)進(jìn)行爬蟲(chóng),可能不是一個(gè)明智的選擇。跟學(xué)長(cháng)一起學(xué)習RPA機器人吧。
  
  點(diǎn)個(gè)贊
  
  、分享給身邊其他小伙伴,一起學(xué)習RPA吧。 查看全部

  RPA數據爬蟲(chóng)會(huì )比python方便100倍嗎?一文詳細解讀
  數據時(shí)代已經(jīng)到來(lái),當大家也想按照大數據的思想重新定義我們的工作及找項目等等時(shí),忽然發(fā)現之前我們從不在乎的數據離我們那么遙遠。
  大數據分析之所以大,是因為其分析的數據是全量數據(或接近全量),其和以前的采樣分析(樣本)有著(zhù)本質(zhì)的區分。為此,我們?yōu)榱四軌蜻M(jìn)行分析,我們就需要獲取全量的數據,這往往是很難得到的。
  
  目前,可以獲取我們想要的數據主要是爬蟲(chóng)獲?。?
  1.通過(guò)爬蟲(chóng)獲?。〝祿ト。?
  這是大家最主要使用的方法,包括:第三方的爬蟲(chóng)客戶(hù)端、第三方的爬蟲(chóng)平臺、開(kāi)源的爬蟲(chóng)以及自己使用Python編寫(xiě)的爬蟲(chóng)。
  爬蟲(chóng)的方式獲取數據尤其優(yōu)勢,就是爬取自己想要的內容,其針對性很強。但也有其劣勢,即:用好爬蟲(chóng)是需要一定技術(shù)的,而且爬取的網(wǎng)站也在改變,需要隨時(shí)更新爬蟲(chóng)規則。
  2.實(shí)際上python抓取數據的話(huà)是很麻煩的(分四步)
  確定目標:確定抓取哪個(gè)網(wǎng)站的哪些頁(yè)面的哪部分數據。比如是:抓取百度百科詞條標題及鏈接。
  分析目標:分析要抓取的url的格式,限定抓取范圍,分析要抓取的數據的格式。要分析標題和簡(jiǎn)介這兩個(gè)數據所在的標簽的格式。分析要抓取的頁(yè)面編碼的格式,在網(wǎng)頁(yè)解析器部分,要指定網(wǎng)頁(yè)編碼,然后才能進(jìn)行正確的解析。
  編寫(xiě)代碼:在網(wǎng)頁(yè)解析器部分,要使用到分析目標得到的結果。
  執行爬蟲(chóng):進(jìn)行數據抓取。
  可以看見(jiàn)我們編寫(xiě)的代碼是很多的,反正小編是看不懂,小編是非編程人員。
  
  3.RPA機器人抓取百度數據
  今天小編教你一個(gè)超級簡(jiǎn)單的方法,那就是用RPA機器人來(lái)進(jìn)行數據抓取。
  第一步:自行搜索想要的“關(guān)鍵詞
  
  第二步:使用RPA工具的數據抓取功能
  
  選擇你想要的數據(標題和鏈接)
  
  輸出我們的數據,當然我沒(méi)有去把數據寫(xiě)進(jìn)表格,寫(xiě)進(jìn)表格也是一條中文代碼的事情。
  
  如果你還在想去學(xué)習python來(lái)進(jìn)行爬蟲(chóng),可能不是一個(gè)明智的選擇。跟學(xué)長(cháng)一起學(xué)習RPA機器人吧。
  
  點(diǎn)個(gè)贊
  
  、分享給身邊其他小伙伴,一起學(xué)習RPA吧。

Python網(wǎng)頁(yè)爬蟲(chóng)入門(mén)指導

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 107 次瀏覽 ? 2022-05-08 04:22 ? 來(lái)自相關(guān)話(huà)題

  Python網(wǎng)頁(yè)爬蟲(chóng)入門(mén)指導
  以林志玲的百度詞條為首頁(yè)開(kāi)始爬取。
  第四步,查看源碼,
  很多人都知道查看源碼的快捷鍵是F12,不管是谷歌瀏覽器還是IE瀏覽器,都是這樣,但是當按下F12之后會(huì )不由得疑問(wèn),"這是什么東西?",令人毫無(wú)頭緒。
  
  當然,可以一步一步的去了解源碼,學(xué)習html的知識,然后用正則表達式去一步一步、一個(gè)單元一個(gè)單元的匹配我們想要的信息,但是這樣未免太復雜了,我個(gè)人推薦使用檢查工具。
  
  爬取內部鏈接
  指向我們想要了解的元素,
  
  素,鼠標右鍵->檢查,能夠快速定位我們關(guān)注的元素。
  我覺(jué)得到這一步就已經(jīng)夠了,最簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng)就是反復的重復以下兩個(gè)步驟:
  通過(guò)檢查功能可以看到,百科詞條內部鏈接部分的源碼是這樣的,
  元素1:
  凱渥模特經(jīng)紀公司</a><br />
  元素2:
  決戰剎馬鎮</a><br />
  元素3:
  月之戀人</a><br />
  元素4:
  AKIRA</a><br />
  從上述4個(gè)元素可以看出,我們想要的信息詞條內部鏈接在標簽中,標簽中有以下幾個(gè)屬性:
  可以看出,我們想要的信息就在href中,也就是詞條的內部鏈接。因此,我們爬蟲(chóng)的目標就很明確了,就是解析出href超鏈接。
  到這里,瀏覽器檢查功能已經(jīng)發(fā)揮了它的作用,下一步問(wèn)題就變成了我們怎么解析出標簽中href的鏈接?
  這時(shí),BeautifulSoup4就派上用場(chǎng)了。
  用BeautifulSoup4解析我們從網(wǎng)頁(yè)上抓取的html,
  soup?=?BeautifulSoup(response.text,?'html.parser')<br />
  看到這里也許會(huì )疑惑,html.parser是什么?
  這是一種html的解析器,Python中提供幾種html解析器,它們的主要特點(diǎn)分別是,
  
  綜合來(lái)說(shuō),我們選取html.parser解析器,
  選取好解析器之后就開(kāi)始著(zhù)手匹配我們想要的元素,可是看一下html發(fā)現,網(wǎng)頁(yè)中有很多標簽,我們該匹配哪一類(lèi)呢?
  AKIRA</a><br />
  仔細看一下會(huì )發(fā)現特點(diǎn),target="_blank",屬性href以/item開(kāi)頭的,于是就有了我們的匹配條件,
  {"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")}<br />
  用這樣的匹配條件去匹配符合target、href要求的標簽,
  sub_urls?=?soup.find_all("a",?{"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")})<br />
  完整代碼為,
  def?main():<br />????url?=?BASE_URL?+?START_PAGE<br />????response?=?sessions.post(url)<br />????response.encoding?=?response.apparent_encoding<br />????soup?=?BeautifulSoup(response.text,?'html.parser')<br />????sub_urls?=?soup.find_all("a",?{"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")})<br />????for?sub_url?in?sub_urls:<br />????????print(sub_url)<br />
  輸出結果為,
  幸福額度</a><br />北京·紐約</a><br />多倫多大學(xué)</a><br />刺陵</a><br />決戰剎馬鎮</a><br />北京·紐約</a><br />張國榮</a><br />奧黛麗·赫本</a><br />林健寰</a><br />斯特羅恩中學(xué)</a><br />多倫多大學(xué)</a><br />華岡藝校</a><br />唐安麒</a><br />日本再發(fā)現</a><br />亞太影展</a><br />梁朝偉</a><br />金城武</a><br />......<br />
  在用屬性字段sub_url["href"]過(guò)濾一下即可,
  /item/%E5%B9%B8%E7%A6%8F%E9%A2%9D%E5%BA%A6<br />/item/%E5%8C%97%E4%BA%AC%C2%B7%E7%BA%BD%E7%BA%A6<br />/item/%E5%A4%9A%E4%BC%A6%E5%A4%9A%E5%A4%A7%E5%AD%A6<br />/item/%E5%88%BA%E9%99%B5<br />/item/%E5%86%B3%E6%88%98%E5%88%B9%E9%A9%AC%E9%95%87<br />/item/%E5%8C%97%E4%BA%AC%C2%B7%E7%BA%BD%E7%BA%A6<br />/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3<br />......<br />
  就得到了詞條內部鏈接的后綴部分,然后和基礎的url拼接在一起就是完整的內部鏈接地址。
  同理,用同樣的方法也可以爬取其他內容,比如糗事百科的笑話(huà)、專(zhuān)業(yè)網(wǎng)站的素材、百度百科的詞條,當然,有些文本信息比較雜亂,這個(gè)過(guò)程中需要一些信息的篩選過(guò)程,例如利用正則表達式來(lái)匹配一段文本中有價(jià)值的信息,方法與上述大同小異。
  下載圖片
  
  和爬取內部鏈接一樣,要善于利用瀏覽器的檢查功能,檢查一下詞條內部圖片的鏈接,
  <br />
  發(fā)現,圖片鏈接存放在標簽內部,用上述方法可以匹配到圖片的完整鏈接,
  response?=?sessions.post(url)<br />response.encoding?=?response.apparent_encoding<br />soup?=?BeautifulSoup(response.text,?"html.parser")<br />image_urls?=?soup.find_all("img",?{"class":?"picture"})<br />for?image_url?in?image_urls:<br />????print(image_url["src"])<br />
  輸出如下,
  https://gss2.bdstatic.com/9fo3 ... %3Bbr />https://gss2.bdstatic.com/-fo3 ... %3Bbr />...<br />
  然后用requests發(fā)送請求,獲取圖片的數據,然后以讀寫(xiě)文件的方式存儲到本地,
  for?image_url?in?image_urls:<br />????url?=?image_url["src"]<br />????response?=?requests.get(url,?headers=headers)<br />????with?open(url[-10:],?'wb')?as?f:<br />????????f.write(response.content)<br />
  除了requests之外,還可以使用urllib.request.urlretrieve下載圖片,urlretrieve相對要方便一些,但是對于大文件,requests可以分段讀寫(xiě),更具有優(yōu)勢。
  上述介紹的方法是比較簡(jiǎn)單的一種,如果精力有限也可以嘗試一下Selenium或者Scrapy,這兩款工具的確非常強大,尤其是Selenium,它本是一款自動(dòng)化測試工具,但是后來(lái)發(fā)現它同樣可以用于網(wǎng)頁(yè)爬蟲(chóng),讓瀏覽器幫助你自動(dòng)爬取數據的工具,它可以以用戶(hù)訪(fǎng)問(wèn)網(wǎng)頁(yè)類(lèi)似的行為去瀏覽網(wǎng)頁(yè)并抓取數據,非常高效,感興趣的可以嘗試一下。
  福利
  
  我整理了一些計算機視覺(jué)、Python、強化學(xué)習、優(yōu)化算法等方面的電子書(shū)籍、學(xué)習資料,同時(shí)還打包了一些我認為比較實(shí)用的工具,如果需要請關(guān)注公眾號,回復相應的關(guān)鍵字即可獲取~
  
  發(fā)現更多精彩 查看全部

  Python網(wǎng)頁(yè)爬蟲(chóng)入門(mén)指導
  以林志玲的百度詞條為首頁(yè)開(kāi)始爬取。
  第四步,查看源碼,
  很多人都知道查看源碼的快捷鍵是F12,不管是谷歌瀏覽器還是IE瀏覽器,都是這樣,但是當按下F12之后會(huì )不由得疑問(wèn),"這是什么東西?",令人毫無(wú)頭緒。
  
  當然,可以一步一步的去了解源碼,學(xué)習html的知識,然后用正則表達式去一步一步、一個(gè)單元一個(gè)單元的匹配我們想要的信息,但是這樣未免太復雜了,我個(gè)人推薦使用檢查工具。
  
  爬取內部鏈接
  指向我們想要了解的元素,
  
  素,鼠標右鍵->檢查,能夠快速定位我們關(guān)注的元素。
  我覺(jué)得到這一步就已經(jīng)夠了,最簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng)就是反復的重復以下兩個(gè)步驟:
  通過(guò)檢查功能可以看到,百科詞條內部鏈接部分的源碼是這樣的,
  元素1:
  凱渥模特經(jīng)紀公司</a><br />
  元素2:
  決戰剎馬鎮</a><br />
  元素3:
  月之戀人</a><br />
  元素4:
  AKIRA</a><br />
  從上述4個(gè)元素可以看出,我們想要的信息詞條內部鏈接在標簽中,標簽中有以下幾個(gè)屬性:
  可以看出,我們想要的信息就在href中,也就是詞條的內部鏈接。因此,我們爬蟲(chóng)的目標就很明確了,就是解析出href超鏈接。
  到這里,瀏覽器檢查功能已經(jīng)發(fā)揮了它的作用,下一步問(wèn)題就變成了我們怎么解析出標簽中href的鏈接?
  這時(shí),BeautifulSoup4就派上用場(chǎng)了。
  用BeautifulSoup4解析我們從網(wǎng)頁(yè)上抓取的html,
  soup?=?BeautifulSoup(response.text,?'html.parser')<br />
  看到這里也許會(huì )疑惑,html.parser是什么?
  這是一種html的解析器,Python中提供幾種html解析器,它們的主要特點(diǎn)分別是,
  
  綜合來(lái)說(shuō),我們選取html.parser解析器,
  選取好解析器之后就開(kāi)始著(zhù)手匹配我們想要的元素,可是看一下html發(fā)現,網(wǎng)頁(yè)中有很多標簽,我們該匹配哪一類(lèi)呢?
  AKIRA</a><br />
  仔細看一下會(huì )發(fā)現特點(diǎn),target="_blank",屬性href以/item開(kāi)頭的,于是就有了我們的匹配條件,
  {"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")}<br />
  用這樣的匹配條件去匹配符合target、href要求的標簽,
  sub_urls?=?soup.find_all("a",?{"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")})<br />
  完整代碼為,
  def?main():<br />????url?=?BASE_URL?+?START_PAGE<br />????response?=?sessions.post(url)<br />????response.encoding?=?response.apparent_encoding<br />????soup?=?BeautifulSoup(response.text,?'html.parser')<br />????sub_urls?=?soup.find_all("a",?{"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")})<br />????for?sub_url?in?sub_urls:<br />????????print(sub_url)<br />
  輸出結果為,
  幸福額度</a><br />北京·紐約</a><br />多倫多大學(xué)</a><br />刺陵</a><br />決戰剎馬鎮</a><br />北京·紐約</a><br />張國榮</a><br />奧黛麗·赫本</a><br />林健寰</a><br />斯特羅恩中學(xué)</a><br />多倫多大學(xué)</a><br />華岡藝校</a><br />唐安麒</a><br />日本再發(fā)現</a><br />亞太影展</a><br />梁朝偉</a><br />金城武</a><br />......<br />
  在用屬性字段sub_url["href"]過(guò)濾一下即可,
  /item/%E5%B9%B8%E7%A6%8F%E9%A2%9D%E5%BA%A6<br />/item/%E5%8C%97%E4%BA%AC%C2%B7%E7%BA%BD%E7%BA%A6<br />/item/%E5%A4%9A%E4%BC%A6%E5%A4%9A%E5%A4%A7%E5%AD%A6<br />/item/%E5%88%BA%E9%99%B5<br />/item/%E5%86%B3%E6%88%98%E5%88%B9%E9%A9%AC%E9%95%87<br />/item/%E5%8C%97%E4%BA%AC%C2%B7%E7%BA%BD%E7%BA%A6<br />/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3<br />......<br />
  就得到了詞條內部鏈接的后綴部分,然后和基礎的url拼接在一起就是完整的內部鏈接地址。
  同理,用同樣的方法也可以爬取其他內容,比如糗事百科的笑話(huà)、專(zhuān)業(yè)網(wǎng)站的素材、百度百科的詞條,當然,有些文本信息比較雜亂,這個(gè)過(guò)程中需要一些信息的篩選過(guò)程,例如利用正則表達式來(lái)匹配一段文本中有價(jià)值的信息,方法與上述大同小異。
  下載圖片
  
  和爬取內部鏈接一樣,要善于利用瀏覽器的檢查功能,檢查一下詞條內部圖片的鏈接,
  <br />
  發(fā)現,圖片鏈接存放在標簽內部,用上述方法可以匹配到圖片的完整鏈接,
  response?=?sessions.post(url)<br />response.encoding?=?response.apparent_encoding<br />soup?=?BeautifulSoup(response.text,?"html.parser")<br />image_urls?=?soup.find_all("img",?{"class":?"picture"})<br />for?image_url?in?image_urls:<br />????print(image_url["src"])<br />
  輸出如下,
  https://gss2.bdstatic.com/9fo3 ... %3Bbr />https://gss2.bdstatic.com/-fo3 ... %3Bbr />...<br />
  然后用requests發(fā)送請求,獲取圖片的數據,然后以讀寫(xiě)文件的方式存儲到本地,
  for?image_url?in?image_urls:<br />????url?=?image_url["src"]<br />????response?=?requests.get(url,?headers=headers)<br />????with?open(url[-10:],?'wb')?as?f:<br />????????f.write(response.content)<br />
  除了requests之外,還可以使用urllib.request.urlretrieve下載圖片,urlretrieve相對要方便一些,但是對于大文件,requests可以分段讀寫(xiě),更具有優(yōu)勢。
  上述介紹的方法是比較簡(jiǎn)單的一種,如果精力有限也可以嘗試一下Selenium或者Scrapy,這兩款工具的確非常強大,尤其是Selenium,它本是一款自動(dòng)化測試工具,但是后來(lái)發(fā)現它同樣可以用于網(wǎng)頁(yè)爬蟲(chóng),讓瀏覽器幫助你自動(dòng)爬取數據的工具,它可以以用戶(hù)訪(fǎng)問(wèn)網(wǎng)頁(yè)類(lèi)似的行為去瀏覽網(wǎng)頁(yè)并抓取數據,非常高效,感興趣的可以嘗試一下。
  福利
  
  我整理了一些計算機視覺(jué)、Python、強化學(xué)習、優(yōu)化算法等方面的電子書(shū)籍、學(xué)習資料,同時(shí)還打包了一些我認為比較實(shí)用的工具,如果需要請關(guān)注公眾號,回復相應的關(guān)鍵字即可獲取~
  
  發(fā)現更多精彩

如何把百度流量引到你的網(wǎng)站?

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 99 次瀏覽 ? 2022-05-08 04:20 ? 來(lái)自相關(guān)話(huà)題

  如何把百度流量引到你的網(wǎng)站?
  
  點(diǎn)擊上方“電商干貨邦” 可以訂閱哦!
  
  百度一直牢牢占據著(zhù)國內搜索引擎霸主的位置。弄懂了百度算法,就意味著(zhù)Hold住了網(wǎng)站排名和流量。想讓網(wǎng)站在百度排名靠前,有三種方法,第一給百度錢(qián),第二是百度旗下的公司或產(chǎn)品,第三提供有價(jià)值的內容(即百度免費排名),提高了百度搜索的用戶(hù)體驗。下面我們圍繞這三種理由,展開(kāi)我們的分析。
  1百度競價(jià)
  百度競價(jià)主要是根據關(guān)鍵詞出價(jià)獲得排名
  百度付費的廣告排名控制在第2-3是最好的狀態(tài)。排名第一,基本是競爭對手在點(diǎn)擊你的網(wǎng)站。百度競價(jià)的好處:排名時(shí)間快,一投放廣告,馬上就有排名,所以不少的企業(yè)選擇百度競價(jià)做前期推廣。百度競價(jià)的原理非常簡(jiǎn)單,即付費給百度,然后百度通過(guò)其后臺直接操作排名。百度競價(jià)成本較高,除了百度競價(jià),還可以用下面的方法。
  
  2百度旗下產(chǎn)品
  如百度文庫、百度知道、百度百科、百度經(jīng)驗、百度百家,均由百度自己開(kāi)發(fā)而成,通過(guò)阿拉丁通道排名,會(huì )在百度排名中優(yōu)先顯示。
  前面說(shuō)到付費競價(jià)推廣是通過(guò)后臺直接給出排名,而百度旗下產(chǎn)品的平臺與付費推廣不一樣,他們不屬于推廣,而是直接優(yōu)先展示他們網(wǎng)站的排名。展現形式與普通網(wǎng)站自然排名一樣。阿拉丁通道的排名沒(méi)有收錄規則,審核通過(guò)的內容基本會(huì )直接收錄,所以收不收錄需要看內容是否會(huì )通過(guò)審核。
  3
  百度免費排名
  
  不是百度家的親戚,也不是土豪玩家,那就選擇百度免費排名。百度免費排名的算法和規則是圍著(zhù)信譽(yù)度(權重)展開(kāi)的,而信譽(yù)度要從綜合因素判斷,并非單一的優(yōu)勢。做信譽(yù)度首先要讓百度收錄我們,收錄規則主要分為抓取、識別、釋放三個(gè)階段:
  a.抓?。?
  百度收錄一個(gè)網(wǎng)站或頁(yè)面的前提是網(wǎng)站被百度抓取過(guò),也就是百度的機器來(lái)過(guò)你的站點(diǎn),來(lái)你站點(diǎn)的前提是有一個(gè)入口,百度的入口有三個(gè),第一自己提交、第二SEO外鏈、第三瀏覽器。瀏覽器大家可能不是很明白,當新建網(wǎng)站后,沒(méi)有人知道此新網(wǎng)站,百度也不會(huì )知道。這個(gè)時(shí)候可以用百度瀏覽器打開(kāi)這個(gè)新網(wǎng)站,如此百度瀏覽器就知道了這個(gè)站點(diǎn)的存在,數據也交給了百度搜索引擎,從而達到抓取的效果。
  b.識別:
  抓取一個(gè)頁(yè)面,需要有可識別的文字內容,百度搜索引擎無(wú)法識別視頻、圖片、flash所以前期要以文字為主。另外沒(méi)有內容的頁(yè)面,如登錄注冊頁(yè)面、關(guān)于我們、聯(lián)系我們之類(lèi)的頁(yè)面,會(huì )直接被列入到空白頁(yè)面。
  c.釋放:
  最后是釋放,釋放后才可通過(guò)百度搜索你的URL,那么該怎么釋放呢?
  首先要頁(yè)面站外推薦很多,這需要我們在百度權重較高的網(wǎng)站中發(fā)布高質(zhì)量的內容,并且在中間穿插關(guān)鍵詞;其次是站內推薦,這也意味著(zhù)是這個(gè)頁(yè)面是高質(zhì)量頁(yè)面才會(huì )被站內推薦。除非是互聯(lián)網(wǎng)新聞源最多的內容,其最易被收錄,也可以說(shuō)抄襲者很多的內容最容易被收錄。因為新聞是具有時(shí)效性的,當一篇新聞發(fā)布以后,馬上就有很多媒體轉載,而百度機器識別出來(lái),很多新聞源有同樣的內容,也就被列入了新聞的話(huà)題頁(yè)面。這方面的內容收錄非???,因為如果過(guò)幾天才收錄,新聞內容會(huì )過(guò)時(shí),會(huì )影響百度的體驗。
  百度算法規則
  以下幾個(gè)算法僅供參考:
  百度綠蘿算法:百度綠蘿算法可以算鏈接是否是購買(mǎi)的,其主要原理是根據一個(gè)網(wǎng)站對另一個(gè)網(wǎng)站的鏈接判斷,是否有反向鏈接、鏈接個(gè)數來(lái)進(jìn)行判斷。
  百度石榴算法:石榴算法主要打擊對象為低質(zhì)量頁(yè)面,其中百度蜘蛛是根據網(wǎng)站html代碼來(lái)抓取,搜索引擎是根據文章的標簽(包含排版)、重復度來(lái)判斷網(wǎng)站的質(zhì)量。
  百度星火計劃:星火計劃是為了打擊抄襲者,其原理是判斷重復度來(lái)決定網(wǎng)站是否抄襲,同時(shí)百度蜘蛛也肯定了自己的抓取程序,目前正在往每一個(gè)網(wǎng)站時(shí)刻爬取靠攏。
  百度瑞麗算法:2015年元旦,百度內部相關(guān)程序出現了一些故障,導致國內大量的CN和CC域名站點(diǎn)被K,而不少人預測這是瑞麗算法上線(xiàn)的結果。不過(guò)網(wǎng)銷(xiāo)君從種種跡象推測,瑞麗算法應該是一種誤傳。
  
  End第二十六期【網(wǎng)絡(luò )巨系統】與您相約共享“互聯(lián)網(wǎng)+”時(shí)代!
  
  2016年5月16日-18日
  
  中國·北京第二十六期網(wǎng)絡(luò )巨系統火熱報名中!報名細節請聯(lián)系聚匯合一咨詢(xún)北京、上海、香港、天津、河北、河南、吉林、遼寧、黑龍江、山東、山西、新疆、陜西、寧夏、內蒙、四川、重慶、湖北、湖南、江蘇、江西、廣西、廣東、貴州、云南等各地的分子公司或直接在公眾平臺回復。咨詢(xún)電話(huà): 梁老師
   查看全部

  如何把百度流量引到你的網(wǎng)站?
  
  點(diǎn)擊上方“電商干貨邦” 可以訂閱哦!
  
  百度一直牢牢占據著(zhù)國內搜索引擎霸主的位置。弄懂了百度算法,就意味著(zhù)Hold住了網(wǎng)站排名和流量。想讓網(wǎng)站在百度排名靠前,有三種方法,第一給百度錢(qián),第二是百度旗下的公司或產(chǎn)品,第三提供有價(jià)值的內容(即百度免費排名),提高了百度搜索的用戶(hù)體驗。下面我們圍繞這三種理由,展開(kāi)我們的分析。
  1百度競價(jià)
  百度競價(jià)主要是根據關(guān)鍵詞出價(jià)獲得排名
  百度付費的廣告排名控制在第2-3是最好的狀態(tài)。排名第一,基本是競爭對手在點(diǎn)擊你的網(wǎng)站。百度競價(jià)的好處:排名時(shí)間快,一投放廣告,馬上就有排名,所以不少的企業(yè)選擇百度競價(jià)做前期推廣。百度競價(jià)的原理非常簡(jiǎn)單,即付費給百度,然后百度通過(guò)其后臺直接操作排名。百度競價(jià)成本較高,除了百度競價(jià),還可以用下面的方法。
  
  2百度旗下產(chǎn)品
  如百度文庫、百度知道、百度百科、百度經(jīng)驗、百度百家,均由百度自己開(kāi)發(fā)而成,通過(guò)阿拉丁通道排名,會(huì )在百度排名中優(yōu)先顯示。
  前面說(shuō)到付費競價(jià)推廣是通過(guò)后臺直接給出排名,而百度旗下產(chǎn)品的平臺與付費推廣不一樣,他們不屬于推廣,而是直接優(yōu)先展示他們網(wǎng)站的排名。展現形式與普通網(wǎng)站自然排名一樣。阿拉丁通道的排名沒(méi)有收錄規則,審核通過(guò)的內容基本會(huì )直接收錄,所以收不收錄需要看內容是否會(huì )通過(guò)審核。
  3
  百度免費排名
  
  不是百度家的親戚,也不是土豪玩家,那就選擇百度免費排名。百度免費排名的算法和規則是圍著(zhù)信譽(yù)度(權重)展開(kāi)的,而信譽(yù)度要從綜合因素判斷,并非單一的優(yōu)勢。做信譽(yù)度首先要讓百度收錄我們,收錄規則主要分為抓取、識別、釋放三個(gè)階段:
  a.抓?。?
  百度收錄一個(gè)網(wǎng)站或頁(yè)面的前提是網(wǎng)站被百度抓取過(guò),也就是百度的機器來(lái)過(guò)你的站點(diǎn),來(lái)你站點(diǎn)的前提是有一個(gè)入口,百度的入口有三個(gè),第一自己提交、第二SEO外鏈、第三瀏覽器。瀏覽器大家可能不是很明白,當新建網(wǎng)站后,沒(méi)有人知道此新網(wǎng)站,百度也不會(huì )知道。這個(gè)時(shí)候可以用百度瀏覽器打開(kāi)這個(gè)新網(wǎng)站,如此百度瀏覽器就知道了這個(gè)站點(diǎn)的存在,數據也交給了百度搜索引擎,從而達到抓取的效果。
  b.識別:
  抓取一個(gè)頁(yè)面,需要有可識別的文字內容,百度搜索引擎無(wú)法識別視頻、圖片、flash所以前期要以文字為主。另外沒(méi)有內容的頁(yè)面,如登錄注冊頁(yè)面、關(guān)于我們、聯(lián)系我們之類(lèi)的頁(yè)面,會(huì )直接被列入到空白頁(yè)面。
  c.釋放:
  最后是釋放,釋放后才可通過(guò)百度搜索你的URL,那么該怎么釋放呢?
  首先要頁(yè)面站外推薦很多,這需要我們在百度權重較高的網(wǎng)站中發(fā)布高質(zhì)量的內容,并且在中間穿插關(guān)鍵詞;其次是站內推薦,這也意味著(zhù)是這個(gè)頁(yè)面是高質(zhì)量頁(yè)面才會(huì )被站內推薦。除非是互聯(lián)網(wǎng)新聞源最多的內容,其最易被收錄,也可以說(shuō)抄襲者很多的內容最容易被收錄。因為新聞是具有時(shí)效性的,當一篇新聞發(fā)布以后,馬上就有很多媒體轉載,而百度機器識別出來(lái),很多新聞源有同樣的內容,也就被列入了新聞的話(huà)題頁(yè)面。這方面的內容收錄非???,因為如果過(guò)幾天才收錄,新聞內容會(huì )過(guò)時(shí),會(huì )影響百度的體驗。
  百度算法規則
  以下幾個(gè)算法僅供參考:
  百度綠蘿算法:百度綠蘿算法可以算鏈接是否是購買(mǎi)的,其主要原理是根據一個(gè)網(wǎng)站對另一個(gè)網(wǎng)站的鏈接判斷,是否有反向鏈接、鏈接個(gè)數來(lái)進(jìn)行判斷。
  百度石榴算法:石榴算法主要打擊對象為低質(zhì)量頁(yè)面,其中百度蜘蛛是根據網(wǎng)站html代碼來(lái)抓取,搜索引擎是根據文章的標簽(包含排版)、重復度來(lái)判斷網(wǎng)站的質(zhì)量。
  百度星火計劃:星火計劃是為了打擊抄襲者,其原理是判斷重復度來(lái)決定網(wǎng)站是否抄襲,同時(shí)百度蜘蛛也肯定了自己的抓取程序,目前正在往每一個(gè)網(wǎng)站時(shí)刻爬取靠攏。
  百度瑞麗算法:2015年元旦,百度內部相關(guān)程序出現了一些故障,導致國內大量的CN和CC域名站點(diǎn)被K,而不少人預測這是瑞麗算法上線(xiàn)的結果。不過(guò)網(wǎng)銷(xiāo)君從種種跡象推測,瑞麗算法應該是一種誤傳。
  
  End第二十六期【網(wǎng)絡(luò )巨系統】與您相約共享“互聯(lián)網(wǎng)+”時(shí)代!
  
  2016年5月16日-18日
  
  中國·北京第二十六期網(wǎng)絡(luò )巨系統火熱報名中!報名細節請聯(lián)系聚匯合一咨詢(xún)北京、上海、香港、天津、河北、河南、吉林、遼寧、黑龍江、山東、山西、新疆、陜西、寧夏、內蒙、四川、重慶、湖北、湖南、江蘇、江西、廣西、廣東、貴州、云南等各地的分子公司或直接在公眾平臺回復。咨詢(xún)電話(huà): 梁老師
  

一個(gè)能夠屏蔽百度廣告的爬蟲(chóng):BaiduSpider

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 85 次瀏覽 ? 2022-05-07 07:14 ? 來(lái)自相關(guān)話(huà)題

  一個(gè)能夠屏蔽百度廣告的爬蟲(chóng):BaiduSpider
  <p style="font-size: inherit;color: inherit;line-height: inherit;">作者:samzhangjy<br />來(lái)源:公眾號「杰哥的IT之旅」<br />ID:Jake_Internet</p>
  前言
  有時(shí)候做數據統計的時(shí)候,常常很難大而全地抓取一個(gè)頁(yè)面上所有的搜索結果,比如百度網(wǎng)頁(yè)搜索,有時(shí)候會(huì )有視頻欄,新聞欄,百科欄,等等。普通的爬蟲(chóng)都不能爬到這些,因為它們的結構跟普通搜索結果是完全不一樣的。但是,BaiduSpider可以,接下來(lái),我們來(lái)看下這期視頻:
  BaiduSpider是一個(gè)能夠抓取百度各類(lèi)搜索結果的爬蟲(chóng),使用Python編寫(xiě)。它十分輕量,但是卻能夠準確地爬取各種類(lèi)型復雜的結果,包括我們上面所說(shuō)的視頻,新聞,百科等。
  目前實(shí)現的功能有百度網(wǎng)頁(yè)搜索,百度圖片搜索,百度知道搜索,百度視頻搜索,百度資訊搜索,百度文庫搜索,百度經(jīng)驗搜索和百度百科搜索。
  除此以外,BaiduSpider還擁有多種不同的平臺,目前有Python原生,Web UI和Web API,并且接下來(lái)還會(huì )推出BaiduSpider CLI,讓你在命令行里完成搜索。
  主要功能
  當然,上面才是它的一點(diǎn)點(diǎn)功能,它最大的賣(mài)點(diǎn)在于,它所爬取的所有搜索結果都沒(méi)有廣告!有了它,你就再也不用去安裝什么AdBlock,AdGuard啦!
  但是,讓我們先來(lái)小試牛刀,看看它爬取搜索結果的準確度和完整度怎么樣吧。比如說(shuō),我們來(lái)搜索一下Python教程視頻:
  
  對比一下百度搜索的頁(yè)面:
  
  我們可以發(fā)現,BaiduSpider爬取到的信息是和百度一模一樣的(除去百度最后一個(gè)是廣告)!可見(jiàn)BaiduSpider的準確度。
  廣告屏蔽
  接下來(lái),我們來(lái)看看它處理廣告的能力:
  
  幾乎一半都是廣告。。。再看看BaiduSpider的:
  
  可以很直接地看出BaiduSpider屏蔽了所有右下角帶有廣告標簽的搜索結果,是不是十分大快人心……
  基本功:Python原生
  說(shuō)了這么多,展示的都是網(wǎng)頁(yè)端的結果,沒(méi)有一個(gè)是能通過(guò)Python調用的。你可能會(huì )問(wèn),這玩意不是Python編寫(xiě)的嗎?怎么沒(méi)有提供Python API?
  別急,接下來(lái)我們就來(lái)介紹它最常用的部分——BaiduSpider Python原生。
  比如,我想要搜索關(guān)于git的結果,通過(guò)Python API調用就只有這么幾行代碼:
  from?baiduspider?import?BaiduSpider<br />from?pprint?import?pprint<br /><br />spider?=?BaiduSpider()<br />pprint(spider.search_web('git'))<br />
  沒(méi)錯,BaiduSpider也發(fā)布了PyPI包!讓我們看一下這段代碼的運行結果如何:
  {'results':?[{'result':?100000000,?'type':?'total'},<br />?????????????{'results':?['git教程',<br />??????????????????????????'github中文官網(wǎng)網(wǎng)頁(yè)',<br />??????????????????????????'小奶貓回家地址github',<br />??????????????????????????'git新手教程',<br />??????????????????????????'git通俗一點(diǎn)是干什么的',<br />??????????????????????????'github官網(wǎng)切換中文',<br />??????????????????????????'git提交代碼的正確步驟',<br />??????????????????????????'Git使用教程',<br />??????????????????????????'游戲源碼'],<br />??????????????'type':?'related'},<br />?????????????{'des':?'Git?is?a?free?and?open?source?distributed?version?'<br />?????????????????????'control?system?designed?to?handle?everything?from?small?'<br />?????????????????????'to?very?larg...',<br />??????????????'origin':?'git-scm.com/',<br />??????????????'time':?None,<br />??????????????'title':?'git官網(wǎng)',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=io2eYwa4OovMW42jQtlgSYuRE1emLSXzGNikMbmxYTe'},<br />?????????????{'des':?'Git 教程 Git 是一個(gè)開(kāi)源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。Git 是?'<br />?????????????????????'Linus?Torvalds?為了幫助管理?Linux?內核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼...',<br />??????????????'origin':?'www.runoob.com/git/git-tutori....',<br />??????????????'time':?None,<br />??????????????'title':?'Git?教程?|?菜鳥(niǎo)教程',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=iTkBZk7h5QyDo6J8fmT4c4ufn7zJnEUhB0fXyBYBg334qXZ4GzWIpu-eV4hqjpk3hYjFlNZZwUPcO9u3nH8xL_'},<br />?????????????{'des':?'Git 教程 Git 是一個(gè)開(kāi)源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。Git 是?'<br />?????????????????????'Linus?Torvalds?為了幫助管理?Linux?內核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼...',<br />??????????????'origin':?None,<br />??????????????'time':?None,<br />??????????????'title':?'git安裝相關(guān)博客',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=Q-zaj4E2-_jaO-ZR5DTM2U8r8ZH3_8JuPtsKgXllLcVQW-4H40hBzIFqcgoByjmrN-jr7_WtIP9Cp55C-nLR2A4LNtpcHCgrBjCs0bUPZHC'},<br />?????????????{'des':?'If?you?already?have?Git?installed,?you?can?get?the?'<br />?????????????????????'latest?development?version?via?Git?itself:?git?clone?'<br />?????????????????????'https://github.com/git/git?...',<br />??????????????'origin':?'www.git-scm.com/download/',<br />??????????????'time':?None,<br />??????????????'title':?'Git?-?Downloads',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=ITh8cnvqErJCQx9ICLrJed8f5hGCEU5JLpVoK1MsUPqqsl5sPnlhfCL8OjxuQLSN'},<br />?????????????{'des':?'If?you?already?have?Git?installed,?you?can?get?the?'<br />?????????????????????'latest?development?version?via?Git?itself:?git?clone?'<br />?????????????????????'https://github.com/git/git?...',<br />??????????????'origin':?None,<br />??????????????'time':?None,<br />??????????????'title':?'Git-開(kāi)源的分布式版本控制系統',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=Tft8L7Dd71mQxbWpuJO7SpT2HR2RDgkQLNSEnk_MxaPQ6ZML0TUpgflG9DOvTGzND3olfU9ScMKmPDKRLO_l33vHKTGNMmwv89PgOFiVmP_'},<br />?????????????{'des':?'Git?Source?Code?Mirror?-?This?is?a?publish-only?'<br />?????????????????????'repository?and?all?pull?requests?are?ignored.?Please?'<br />?????????????????????'follow?Documentation/SubmittingPatches?procedure?for?...',<br />??????????????'origin':?'github',<br />??????????????'time':?None,<br />??????????????'title':?'GitHub?-?git/git:?Git?Source?Code?Mirror?-?This?is?a?'<br />???????????????????????'p...',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=KtsMqw1oBIWWlkZDnq2Y5P1tdu33Uy0n9y5ZYUufiG_ab_m6ky41KrZUkYbXf2gC'},<br />?????????????{'des':?'git?Git?Source?Code?Mirror?-?This?is?a?publish-only?'<br />?????????????????????'repository?and?all?pull?requests?are?ignored.?Please?'<br />?????????????????????'follow?Documentation/SubmittingPat...',<br />??????????????'origin':?'github',<br />??????????????'time':?'2021年1月2日',<br />??????????????'title':?'Git?·?GitHub',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=rxFpc1Ymkb4RTcvH19Qg1VEcf62S5T6eMpHw7v3Xz5W'},<br />?????????????{'des':?'最近要與部門(mén)同事一起做技術(shù)分享,我選擇了Git,因為Git?'<br />?????????????????????'是一種在全球范圍都廣受歡迎的版本控制系統。在開(kāi)發(fā)過(guò)程中,為了跟蹤代碼,文檔,項目等信息中的變化,版本控制...',<br />??????????????'origin':?'博客園',<br />??????????????'time':?None,<br />??????????????'title':?'一個(gè)小時(shí)學(xué)會(huì )Git?-?張果?-?博客園',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=q2JO9SIY9y_8Cvs8mMfkXKUF1pY8HCaS0v1FYPQhzvOncl4HxlUXoVuJXsds_WdG3ibcwYf7JNwuWWGhP00xF_'},<br />?????????????{'des':?'We?bring?the?awesome?Git?VCS?to?Windows',<br />??????????????'origin':?'gitforwindows.org/',<br />??????????????'time':?None,<br />??????????????'title':?'這里下載git?-?Git?for?Windows',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=LJMKB611S4QxZWM5lSLUL2K0ta4zYMZUtzrdx6bvixWSUDtXkBg1Izu5M2CoU3yP'}],<br />?'total':?10}<br />
  可以看出,所有結果都已經(jīng)分好了類(lèi)(此處主要是普通的搜索結果),并且還有總計搜索結果數、總頁(yè)數等附加信息。所有BaiduSpider方法的返回值都是一個(gè)dict,里面有results和total兩個(gè)鍵,分別代表所有搜索結果(list),和總頁(yè)數(int)。
  最后
  看到這里,你是不是已經(jīng)想見(jiàn)識一下這個(gè)神器了呢?什么?多少錢(qián)?不,它是免費的!它不僅免費,而且還開(kāi)源呢。不僅如此,它也提供詳細的文檔(部分還在撰寫(xiě)中),可以說(shuō)是“配套齊全”啦。
  GitHub地址:
  文檔地址:
  文中提到的網(wǎng)頁(yè)版地址(目前還在A(yíng)lpha階段,請適量使用,僅作為demo用途):
  本篇由作者:samzhangjy 投稿,不妨大家可以給他的 GitHub 點(diǎn)個(gè) Star 支持一下。 查看全部

  一個(gè)能夠屏蔽百度廣告的爬蟲(chóng):BaiduSpider
  <p style="font-size: inherit;color: inherit;line-height: inherit;">作者:samzhangjy<br />來(lái)源:公眾號「杰哥的IT之旅」<br />ID:Jake_Internet</p>
  前言
  有時(shí)候做數據統計的時(shí)候,常常很難大而全地抓取一個(gè)頁(yè)面上所有的搜索結果,比如百度網(wǎng)頁(yè)搜索,有時(shí)候會(huì )有視頻欄,新聞欄,百科欄,等等。普通的爬蟲(chóng)都不能爬到這些,因為它們的結構跟普通搜索結果是完全不一樣的。但是,BaiduSpider可以,接下來(lái),我們來(lái)看下這期視頻:
  BaiduSpider是一個(gè)能夠抓取百度各類(lèi)搜索結果的爬蟲(chóng),使用Python編寫(xiě)。它十分輕量,但是卻能夠準確地爬取各種類(lèi)型復雜的結果,包括我們上面所說(shuō)的視頻,新聞,百科等。
  目前實(shí)現的功能有百度網(wǎng)頁(yè)搜索,百度圖片搜索,百度知道搜索,百度視頻搜索,百度資訊搜索,百度文庫搜索,百度經(jīng)驗搜索和百度百科搜索。
  除此以外,BaiduSpider還擁有多種不同的平臺,目前有Python原生,Web UI和Web API,并且接下來(lái)還會(huì )推出BaiduSpider CLI,讓你在命令行里完成搜索。
  主要功能
  當然,上面才是它的一點(diǎn)點(diǎn)功能,它最大的賣(mài)點(diǎn)在于,它所爬取的所有搜索結果都沒(méi)有廣告!有了它,你就再也不用去安裝什么AdBlock,AdGuard啦!
  但是,讓我們先來(lái)小試牛刀,看看它爬取搜索結果的準確度和完整度怎么樣吧。比如說(shuō),我們來(lái)搜索一下Python教程視頻:
  
  對比一下百度搜索的頁(yè)面:
  
  我們可以發(fā)現,BaiduSpider爬取到的信息是和百度一模一樣的(除去百度最后一個(gè)是廣告)!可見(jiàn)BaiduSpider的準確度。
  廣告屏蔽
  接下來(lái),我們來(lái)看看它處理廣告的能力:
  
  幾乎一半都是廣告。。。再看看BaiduSpider的:
  
  可以很直接地看出BaiduSpider屏蔽了所有右下角帶有廣告標簽的搜索結果,是不是十分大快人心……
  基本功:Python原生
  說(shuō)了這么多,展示的都是網(wǎng)頁(yè)端的結果,沒(méi)有一個(gè)是能通過(guò)Python調用的。你可能會(huì )問(wèn),這玩意不是Python編寫(xiě)的嗎?怎么沒(méi)有提供Python API?
  別急,接下來(lái)我們就來(lái)介紹它最常用的部分——BaiduSpider Python原生。
  比如,我想要搜索關(guān)于git的結果,通過(guò)Python API調用就只有這么幾行代碼:
  from?baiduspider?import?BaiduSpider<br />from?pprint?import?pprint<br /><br />spider?=?BaiduSpider()<br />pprint(spider.search_web('git'))<br />
  沒(méi)錯,BaiduSpider也發(fā)布了PyPI包!讓我們看一下這段代碼的運行結果如何:
  {'results':?[{'result':?100000000,?'type':?'total'},<br />?????????????{'results':?['git教程',<br />??????????????????????????'github中文官網(wǎng)網(wǎng)頁(yè)',<br />??????????????????????????'小奶貓回家地址github',<br />??????????????????????????'git新手教程',<br />??????????????????????????'git通俗一點(diǎn)是干什么的',<br />??????????????????????????'github官網(wǎng)切換中文',<br />??????????????????????????'git提交代碼的正確步驟',<br />??????????????????????????'Git使用教程',<br />??????????????????????????'游戲源碼'],<br />??????????????'type':?'related'},<br />?????????????{'des':?'Git?is?a?free?and?open?source?distributed?version?'<br />?????????????????????'control?system?designed?to?handle?everything?from?small?'<br />?????????????????????'to?very?larg...',<br />??????????????'origin':?'git-scm.com/',<br />??????????????'time':?None,<br />??????????????'title':?'git官網(wǎng)',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=io2eYwa4OovMW42jQtlgSYuRE1emLSXzGNikMbmxYTe'},<br />?????????????{'des':?'Git 教程 Git 是一個(gè)開(kāi)源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。Git 是?'<br />?????????????????????'Linus?Torvalds?為了幫助管理?Linux?內核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼...',<br />??????????????'origin':?'www.runoob.com/git/git-tutori....',<br />??????????????'time':?None,<br />??????????????'title':?'Git?教程?|?菜鳥(niǎo)教程',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=iTkBZk7h5QyDo6J8fmT4c4ufn7zJnEUhB0fXyBYBg334qXZ4GzWIpu-eV4hqjpk3hYjFlNZZwUPcO9u3nH8xL_'},<br />?????????????{'des':?'Git 教程 Git 是一個(gè)開(kāi)源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。Git 是?'<br />?????????????????????'Linus?Torvalds?為了幫助管理?Linux?內核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼...',<br />??????????????'origin':?None,<br />??????????????'time':?None,<br />??????????????'title':?'git安裝相關(guān)博客',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=Q-zaj4E2-_jaO-ZR5DTM2U8r8ZH3_8JuPtsKgXllLcVQW-4H40hBzIFqcgoByjmrN-jr7_WtIP9Cp55C-nLR2A4LNtpcHCgrBjCs0bUPZHC'},<br />?????????????{'des':?'If?you?already?have?Git?installed,?you?can?get?the?'<br />?????????????????????'latest?development?version?via?Git?itself:?git?clone?'<br />?????????????????????'https://github.com/git/git?...',<br />??????????????'origin':?'www.git-scm.com/download/',<br />??????????????'time':?None,<br />??????????????'title':?'Git?-?Downloads',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=ITh8cnvqErJCQx9ICLrJed8f5hGCEU5JLpVoK1MsUPqqsl5sPnlhfCL8OjxuQLSN'},<br />?????????????{'des':?'If?you?already?have?Git?installed,?you?can?get?the?'<br />?????????????????????'latest?development?version?via?Git?itself:?git?clone?'<br />?????????????????????'https://github.com/git/git?...',<br />??????????????'origin':?None,<br />??????????????'time':?None,<br />??????????????'title':?'Git-開(kāi)源的分布式版本控制系統',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=Tft8L7Dd71mQxbWpuJO7SpT2HR2RDgkQLNSEnk_MxaPQ6ZML0TUpgflG9DOvTGzND3olfU9ScMKmPDKRLO_l33vHKTGNMmwv89PgOFiVmP_'},<br />?????????????{'des':?'Git?Source?Code?Mirror?-?This?is?a?publish-only?'<br />?????????????????????'repository?and?all?pull?requests?are?ignored.?Please?'<br />?????????????????????'follow?Documentation/SubmittingPatches?procedure?for?...',<br />??????????????'origin':?'github',<br />??????????????'time':?None,<br />??????????????'title':?'GitHub?-?git/git:?Git?Source?Code?Mirror?-?This?is?a?'<br />???????????????????????'p...',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=KtsMqw1oBIWWlkZDnq2Y5P1tdu33Uy0n9y5ZYUufiG_ab_m6ky41KrZUkYbXf2gC'},<br />?????????????{'des':?'git?Git?Source?Code?Mirror?-?This?is?a?publish-only?'<br />?????????????????????'repository?and?all?pull?requests?are?ignored.?Please?'<br />?????????????????????'follow?Documentation/SubmittingPat...',<br />??????????????'origin':?'github',<br />??????????????'time':?'2021年1月2日',<br />??????????????'title':?'Git?·?GitHub',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=rxFpc1Ymkb4RTcvH19Qg1VEcf62S5T6eMpHw7v3Xz5W'},<br />?????????????{'des':?'最近要與部門(mén)同事一起做技術(shù)分享,我選擇了Git,因為Git?'<br />?????????????????????'是一種在全球范圍都廣受歡迎的版本控制系統。在開(kāi)發(fā)過(guò)程中,為了跟蹤代碼,文檔,項目等信息中的變化,版本控制...',<br />??????????????'origin':?'博客園',<br />??????????????'time':?None,<br />??????????????'title':?'一個(gè)小時(shí)學(xué)會(huì )Git?-?張果?-?博客園',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=q2JO9SIY9y_8Cvs8mMfkXKUF1pY8HCaS0v1FYPQhzvOncl4HxlUXoVuJXsds_WdG3ibcwYf7JNwuWWGhP00xF_'},<br />?????????????{'des':?'We?bring?the?awesome?Git?VCS?to?Windows',<br />??????????????'origin':?'gitforwindows.org/',<br />??????????????'time':?None,<br />??????????????'title':?'這里下載git?-?Git?for?Windows',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=LJMKB611S4QxZWM5lSLUL2K0ta4zYMZUtzrdx6bvixWSUDtXkBg1Izu5M2CoU3yP'}],<br />?'total':?10}<br />
  可以看出,所有結果都已經(jīng)分好了類(lèi)(此處主要是普通的搜索結果),并且還有總計搜索結果數、總頁(yè)數等附加信息。所有BaiduSpider方法的返回值都是一個(gè)dict,里面有results和total兩個(gè)鍵,分別代表所有搜索結果(list),和總頁(yè)數(int)。
  最后
  看到這里,你是不是已經(jīng)想見(jiàn)識一下這個(gè)神器了呢?什么?多少錢(qián)?不,它是免費的!它不僅免費,而且還開(kāi)源呢。不僅如此,它也提供詳細的文檔(部分還在撰寫(xiě)中),可以說(shuō)是“配套齊全”啦。
  GitHub地址:
  文檔地址:
  文中提到的網(wǎng)頁(yè)版地址(目前還在A(yíng)lpha階段,請適量使用,僅作為demo用途):
  本篇由作者:samzhangjy 投稿,不妨大家可以給他的 GitHub 點(diǎn)個(gè) Star 支持一下。

干貨教程:網(wǎng)頁(yè)抓取數據百度百科舉例我要抓取這個(gè)問(wèn)題(圖)

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 129 次瀏覽 ? 2022-09-21 20:08 ? 來(lái)自相關(guān)話(huà)題

  干貨教程:網(wǎng)頁(yè)抓取數據百度百科舉例我要抓取這個(gè)問(wèn)題(圖)
  網(wǎng)頁(yè)抓取數據百度百科舉例我要抓取這個(gè)問(wèn)題百度百科的一個(gè)條目,提取“男女”條目中的數據——我覺(jué)得這個(gè)很常見(jiàn)。我先看看百度百科有沒(méi)有搜索就一定能夠查到我要抓取的數據?百度百科明確寫(xiě)明:“搜索結果頁(yè)面中,請點(diǎn)擊一個(gè)鏈接訪(fǎng)問(wèn),并在鏈接處注明檢索詞?!蹦呛?,我要抓取“女女”這個(gè)詞,因為這個(gè)詞已經(jīng)有人提供數據了。
  
  那我點(diǎn)擊鏈接。我心想:“好啊,百度百科搞了一個(gè)站,提供給搜索站爬蟲(chóng)。那我們爬蟲(chóng)爬蟲(chóng)模擬一下他提供數據?!蔽覀儊?lái)提供爬蟲(chóng)。百度百科也是有爬蟲(chóng)的,我們都知道這些爬蟲(chóng)有常見(jiàn)的幾種形式,我們來(lái)看看百度爬蟲(chóng)的爬蟲(chóng)提供到了哪些數據。點(diǎn)擊原諒我手賤,手賤點(diǎn)了一下下面鏈接。我感覺(jué)到了熟悉的味道。好,既然都爬蟲(chóng)提供了數據,我們將這些數據下載。
  
  我準備用scrapy,不能就在這樣的站提供,于是我們嘗試抓取本頁(yè)?!易龅搅?。你?一個(gè)女權癌?那沒(méi)問(wèn)題,我按照協(xié)議請求到了百度爬蟲(chóng),百度爬蟲(chóng)繼續提供數據。//content-type:application/x-www-form-urlencoded//request-response:https:/lolita/school/department/score/{id}&language=english然后一整頁(yè)我們都給他返回結果咯。
  你說(shuō)的抓???我什么都沒(méi)做嘛。順便說(shuō)一下,網(wǎng)頁(yè)版爬蟲(chóng)模擬是要客戶(hù)端來(lái)操作的。那我們怎么樣模擬呢??反正就這樣爬唄,反正已經(jīng)抓到。 查看全部

  干貨教程:網(wǎng)頁(yè)抓取數據百度百科舉例我要抓取這個(gè)問(wèn)題(圖)
  網(wǎng)頁(yè)抓取數據百度百科舉例我要抓取這個(gè)問(wèn)題百度百科的一個(gè)條目,提取“男女”條目中的數據——我覺(jué)得這個(gè)很常見(jiàn)。我先看看百度百科有沒(méi)有搜索就一定能夠查到我要抓取的數據?百度百科明確寫(xiě)明:“搜索結果頁(yè)面中,請點(diǎn)擊一個(gè)鏈接訪(fǎng)問(wèn),并在鏈接處注明檢索詞?!蹦呛?,我要抓取“女女”這個(gè)詞,因為這個(gè)詞已經(jīng)有人提供數據了。
  
  那我點(diǎn)擊鏈接。我心想:“好啊,百度百科搞了一個(gè)站,提供給搜索站爬蟲(chóng)。那我們爬蟲(chóng)爬蟲(chóng)模擬一下他提供數據?!蔽覀儊?lái)提供爬蟲(chóng)。百度百科也是有爬蟲(chóng)的,我們都知道這些爬蟲(chóng)有常見(jiàn)的幾種形式,我們來(lái)看看百度爬蟲(chóng)的爬蟲(chóng)提供到了哪些數據。點(diǎn)擊原諒我手賤,手賤點(diǎn)了一下下面鏈接。我感覺(jué)到了熟悉的味道。好,既然都爬蟲(chóng)提供了數據,我們將這些數據下載。
  
  我準備用scrapy,不能就在這樣的站提供,于是我們嘗試抓取本頁(yè)?!易龅搅?。你?一個(gè)女權癌?那沒(méi)問(wèn)題,我按照協(xié)議請求到了百度爬蟲(chóng),百度爬蟲(chóng)繼續提供數據。//content-type:application/x-www-form-urlencoded//request-response:https:/lolita/school/department/score/{id}&language=english然后一整頁(yè)我們都給他返回結果咯。
  你說(shuō)的抓???我什么都沒(méi)做嘛。順便說(shuō)一下,網(wǎng)頁(yè)版爬蟲(chóng)模擬是要客戶(hù)端來(lái)操作的。那我們怎么樣模擬呢??反正就這樣爬唄,反正已經(jīng)抓到。

全國最大的百科全書(shū)-網(wǎng)頁(yè)抓取數據(圖)

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 101 次瀏覽 ? 2022-09-13 03:01 ? 來(lái)自相關(guān)話(huà)題

  全國最大的百科全書(shū)-網(wǎng)頁(yè)抓取數據(圖)
  網(wǎng)頁(yè)抓取數據百度百科的官方文檔里面有一個(gè)例子,是通過(guò)爬蟲(chóng)程序爬取百度,以及其他搜索引擎頁(yè)面的網(wǎng)頁(yè)數據,獲取海量信息。因為目前百度在競價(jià)排名和關(guān)鍵詞引導廣告方面收取傭金,所以看上去百度百科的數據就很廉價(jià)了。
  
  全國百科全書(shū)-全國最大的百科全書(shū)。你可以看下這個(gè)網(wǎng)站,不過(guò)要翻墻。
  瀉藥。官方會(huì )整理啊。題主要是還不放心,可以給他下載下來(lái)存儲起來(lái)。也可以先將數據抓取出來(lái),再通過(guò)網(wǎng)絡(luò )收集。想收集數據的話(huà)你現在用什么工具都可以。要是必須用python的話(huà),試試pandas,numpy,matplotlib,requests之類(lèi)的。好吧,非程序員,具體參考這個(gè):自然語(yǔ)言處理(nlp)-第三版應該是這本書(shū)的內容吧。
  
  你得保證網(wǎng)絡(luò )暢通然后,抓取幾千萬(wàn)字的資料,
  做網(wǎng)頁(yè)爬蟲(chóng),代碼量不會(huì )小吧,爬蟲(chóng)用python的話(huà)可以試試googlebigquery還可以考慮幾個(gè)小平臺吧。實(shí)在不行就考慮搭個(gè)模擬環(huán)境看看能不能抓取了,以前有博客抓取百度巴士之類(lèi)的,但是不建議啊,第一現在抓取技術(shù)在更新,你用的工具不對能力完全是打折扣的,第二就是價(jià)格,幾百一千五十萬(wàn)你有那能力實(shí)現,但一個(gè)剛開(kāi)始學(xué)抓取的人難道有那能力用一個(gè)網(wǎng)站去拿所有數據么?一個(gè)網(wǎng)站一億只能抓幾十萬(wàn)幾百萬(wàn)能做什么!所以那不是你現在能做的事。 查看全部

  全國最大的百科全書(shū)-網(wǎng)頁(yè)抓取數據(圖)
  網(wǎng)頁(yè)抓取數據百度百科的官方文檔里面有一個(gè)例子,是通過(guò)爬蟲(chóng)程序爬取百度,以及其他搜索引擎頁(yè)面的網(wǎng)頁(yè)數據,獲取海量信息。因為目前百度在競價(jià)排名和關(guān)鍵詞引導廣告方面收取傭金,所以看上去百度百科的數據就很廉價(jià)了。
  
  全國百科全書(shū)-全國最大的百科全書(shū)。你可以看下這個(gè)網(wǎng)站,不過(guò)要翻墻。
  瀉藥。官方會(huì )整理啊。題主要是還不放心,可以給他下載下來(lái)存儲起來(lái)。也可以先將數據抓取出來(lái),再通過(guò)網(wǎng)絡(luò )收集。想收集數據的話(huà)你現在用什么工具都可以。要是必須用python的話(huà),試試pandas,numpy,matplotlib,requests之類(lèi)的。好吧,非程序員,具體參考這個(gè):自然語(yǔ)言處理(nlp)-第三版應該是這本書(shū)的內容吧。
  
  你得保證網(wǎng)絡(luò )暢通然后,抓取幾千萬(wàn)字的資料,
  做網(wǎng)頁(yè)爬蟲(chóng),代碼量不會(huì )小吧,爬蟲(chóng)用python的話(huà)可以試試googlebigquery還可以考慮幾個(gè)小平臺吧。實(shí)在不行就考慮搭個(gè)模擬環(huán)境看看能不能抓取了,以前有博客抓取百度巴士之類(lèi)的,但是不建議啊,第一現在抓取技術(shù)在更新,你用的工具不對能力完全是打折扣的,第二就是價(jià)格,幾百一千五十萬(wàn)你有那能力實(shí)現,但一個(gè)剛開(kāi)始學(xué)抓取的人難道有那能力用一個(gè)網(wǎng)站去拿所有數據么?一個(gè)網(wǎng)站一億只能抓幾十萬(wàn)幾百萬(wàn)能做什么!所以那不是你現在能做的事。

爬蟲(chóng)網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā)總之語(yǔ)言就是java,沒(méi)有之一

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 99 次瀏覽 ? 2022-08-13 11:22 ? 來(lái)自相關(guān)話(huà)題

  爬蟲(chóng)網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā)總之語(yǔ)言就是java,沒(méi)有之一
  網(wǎng)頁(yè)抓取數據百度百科有整理,爬蟲(chóng)軟件-requestsscrapy,要結合python的網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā),python網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā)總之語(yǔ)言就是java,
  我正在開(kāi)發(fā)一個(gè)智能客服,在學(xué)校做,
  
  先說(shuō)結論,
  python3,
  python是個(gè)不錯的選擇,提供不錯的自動(dòng)化運維方案,適合運維人員學(xué)習,資料多,庫廣,
  
  最好是python,易于調試,有豐富的第三方庫和命令行工具。其次是java,
  謝邀。學(xué)習什么語(yǔ)言關(guān)鍵看你需要,你不用擔心一個(gè)語(yǔ)言不好會(huì )找不到工作,畢竟這個(gè)不是個(gè)短期能學(xué)會(huì )的東西。如果你本身并不懂編程,學(xué)語(yǔ)言也不會(huì )是太過(guò)吃力?;蛘吣阌姓Z(yǔ)言的基礎,你想深入了解它。那么你可以試試看看看看手機端的語(yǔ)言,最具操作性的當然是python,最最簡(jiǎn)單易學(xué)的是java,然后就是c++,php,python和java共同特點(diǎn)的是開(kāi)發(fā)快,開(kāi)發(fā)者多,但是同時(shí)程序開(kāi)發(fā)耗時(shí)間長(cháng)。當然可以運用到其他語(yǔ)言上也是不錯的,有很多其他語(yǔ)言開(kāi)發(fā)的跨平臺產(chǎn)品。
  python3,3.5是趨勢。java對于我來(lái)說(shuō)在很多公司不合適,我們公司非上市公司,java已經(jīng)過(guò)時(shí),因為我是做在線(xiàn)教育的,需要做在線(xiàn)考試。我認為最好的語(yǔ)言當然是python,沒(méi)有之一。 查看全部

  爬蟲(chóng)網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā)總之語(yǔ)言就是java,沒(méi)有之一
  網(wǎng)頁(yè)抓取數據百度百科有整理,爬蟲(chóng)軟件-requestsscrapy,要結合python的網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā),python網(wǎng)絡(luò )爬蟲(chóng)開(kāi)發(fā)框架tornado開(kāi)發(fā)總之語(yǔ)言就是java,
  我正在開(kāi)發(fā)一個(gè)智能客服,在學(xué)校做,
  
  先說(shuō)結論,
  python3,
  python是個(gè)不錯的選擇,提供不錯的自動(dòng)化運維方案,適合運維人員學(xué)習,資料多,庫廣,
  
  最好是python,易于調試,有豐富的第三方庫和命令行工具。其次是java,
  謝邀。學(xué)習什么語(yǔ)言關(guān)鍵看你需要,你不用擔心一個(gè)語(yǔ)言不好會(huì )找不到工作,畢竟這個(gè)不是個(gè)短期能學(xué)會(huì )的東西。如果你本身并不懂編程,學(xué)語(yǔ)言也不會(huì )是太過(guò)吃力?;蛘吣阌姓Z(yǔ)言的基礎,你想深入了解它。那么你可以試試看看看看手機端的語(yǔ)言,最具操作性的當然是python,最最簡(jiǎn)單易學(xué)的是java,然后就是c++,php,python和java共同特點(diǎn)的是開(kāi)發(fā)快,開(kāi)發(fā)者多,但是同時(shí)程序開(kāi)發(fā)耗時(shí)間長(cháng)。當然可以運用到其他語(yǔ)言上也是不錯的,有很多其他語(yǔ)言開(kāi)發(fā)的跨平臺產(chǎn)品。
  python3,3.5是趨勢。java對于我來(lái)說(shuō)在很多公司不合適,我們公司非上市公司,java已經(jīng)過(guò)時(shí),因為我是做在線(xiàn)教育的,需要做在線(xiàn)考試。我認為最好的語(yǔ)言當然是python,沒(méi)有之一。

手把手教你用Scrapy爬蟲(chóng)框架爬取食品論壇數據并存入數據庫

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 67 次瀏覽 ? 2022-07-08 00:20 ? 來(lái)自相關(guān)話(huà)題

  手把手教你用Scrapy爬蟲(chóng)框架爬取食品論壇數據并存入數據庫
  點(diǎn)擊上方“Python爬蟲(chóng)與數據挖掘”,進(jìn)行關(guān)注
  回復“書(shū)籍”即可獲贈Python從入門(mén)到進(jìn)階共10本電子書(shū)
  今
  日
  雞
  湯
  潮平兩岸闊,風(fēng)正一帆懸。
  大家好,我是杯酒先生,這是我第一次寫(xiě)這種分享項目的文章,可能很水,很不全面,而且肯定存在說(shuō)錯的地方,希望大家可以評論里加以指點(diǎn),不勝感激!
  一、前言
  網(wǎng)絡(luò )爬蟲(chóng)(又稱(chēng)為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò )機器人),是一種按照一定的規則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動(dòng)索引、模擬程序或者蠕蟲(chóng)。------百度百科
  說(shuō)人話(huà)就是,爬蟲(chóng)是用來(lái)海量規則化獲取數據,然后進(jìn)行處理和運用,在大數據、金融、機器學(xué)習等等方面都是必須的支撐條件之一。
  目前在一線(xiàn)城市中,爬蟲(chóng)的崗位薪資待遇都是比較客觀(guān)的,之后提升到中、高級爬蟲(chóng)工程師,數據分析師、大數據開(kāi)發(fā)崗位等,都是很好的過(guò)渡。
  二、項目目標
  本此介紹的項目其實(shí)不用想的太過(guò)復雜,最終要實(shí)現的目標也就是將帖子的每條評論爬取到數據庫中,并且做到可以更新數據,防止重復爬取,反爬等措施。
  三、項目準備
  這部分主要是介紹本文需要用到的工具,涉及的庫,網(wǎng)頁(yè)等信息等
  軟件:PyCharm
  需要的庫:Scrapy, selenium, pymongo, user_agent,datetime
  目標網(wǎng)站:
  http://bbs.foodmate.net
  插件:chromedriver(版本要對)
  四、項目分析1、確定爬取網(wǎng)站的結構
  簡(jiǎn)而言之:確定網(wǎng)站的加載方式,怎樣才能正確的一級一級的進(jìn)入到帖子中抓取數據,使用什么格式保存數據等。
  其次,觀(guān)察網(wǎng)站的層級結構,也就是說(shuō),怎么根據板塊,一點(diǎn)點(diǎn)進(jìn)入到帖子頁(yè)面中,這對本次爬蟲(chóng)任務(wù)非常重要,也是主要編寫(xiě)代碼的部分。
  2、如何選擇合適的方式爬取數據?
  
  目前我知道的爬蟲(chóng)方法大概有如下(不全,但是比較常用):
  1)request框架:運用這個(gè)http庫可以很靈活的爬取需要的數據,簡(jiǎn)單但是過(guò)程稍微繁瑣,并且可以配合抓包工具對數據進(jìn)行獲取。但是需要確定headers頭以及相應的請求參數,否則無(wú)法獲取數據;很多app爬取、圖片視頻爬取隨爬隨停,比較輕量靈活,并且高并發(fā)與分布式部署也非常靈活,對于功能可以更好實(shí)現。
  2)scrapy框架:scrapy框架可以說(shuō)是爬蟲(chóng)最常用,最好用的爬蟲(chóng)框架了,優(yōu)點(diǎn)很多:scrapy 是異步的;采取可讀性更強的 xpath 代替正則;強大的統計和 log 系統;同時(shí)在不同的 url 上爬行;支持 shell 方式,方便獨立調試;支持寫(xiě) middleware方便寫(xiě)一些統一的過(guò)濾器;可以通過(guò)管道的方式存入數據庫等等。這也是本次文章所要介紹的框架(結合selenium庫)。
  五、項目實(shí)現1、第一步:確定網(wǎng)站類(lèi)型
  首先解釋一下是什么意思,看什么網(wǎng)站,首先要看網(wǎng)站的加載方式,是靜態(tài)加載,還是動(dòng)態(tài)加載(js加載),還是別的方式;根據不一樣的加載方式需要不同的辦法應對。然后我們觀(guān)察今天爬取的網(wǎng)站,發(fā)現這是一個(gè)有年代感的論壇,首先猜測是靜態(tài)加載的網(wǎng)站;我們開(kāi)啟組織 js 加載的插件,如下圖所示。
  刷新之后發(fā)現確實(shí)是靜態(tài)網(wǎng)站(如果可以正常加載基本都是靜態(tài)加載的)。
  2、第二步:確定層級關(guān)系
  其次,我們今天要爬取的網(wǎng)站是食品論壇網(wǎng)站,是靜態(tài)加載的網(wǎng)站,在之前分析的時(shí)候已經(jīng)了解了,然后是層級結構:
  大概是上面的流程,總共有三級遞進(jìn)訪(fǎng)問(wèn),之后到達帖子頁(yè)面,如下圖所示。
  部分代碼展示:
  一級界面:
  def parse(self, response): self.logger.info("已進(jìn)入網(wǎng)頁(yè)!") self.logger.info("正在獲取版塊列表!") column_path_list = response.css('#ct > div.mn > div:nth-child(2) > div')[:-1] for column_path in column_path_list: col_paths = column_path.css('div > table > tbody > tr > td > div > a').xpath('@href').extract() for path in col_paths: block_url = response.urljoin(path) yield scrapy.Request( url=block_url, callback=self.get_next_path, )
  二級界面:
  def get_next_path(self, response): self.logger.info("已進(jìn)入版塊!") self.logger.info("正在獲取文章列表!") if response.url == 'http://www.foodmate.net/know/': pass else: try: nums = response.css('#fd_page_bottom > div > label > span::text').extract_first().split(' ')[-2] except: nums = 1 for num in range(1, int(nums) + 1): tbody_list = response.css('#threadlisttableid > tbody') for tbody in tbody_list: if 'normalthread' in str(tbody): item = LunTanItem() item['article_url'] = response.urljoin( tbody.css('* > tr > th > a.s.xst').xpath('@href').extract_first()) item['type'] = response.css( '#ct > div > div.bm.bml.pbn > div.bm_h.cl > h1 > a::text').extract_first() item['title'] = tbody.css('* > tr > th > a.s.xst::text').extract_first() item['spider_type'] = "論壇" item['source'] = "食品論壇" if item['article_url'] != 'http://bbs.foodmate.net/': yield scrapy.Request( url=item['article_url'], callback=self.get_data, meta={'item': item, 'content_info': []} ) try: callback_url = response.css('#fd_page_bottom > div > a.nxt').xpath('@href').extract_first() callback_url = response.urljoin(callback_url) yield scrapy.Request( url=callback_url, callback=self.get_next_path, ) except IndexError: pass
  三級界面:
  def get_data(self, response): self.logger.info("正在爬取論壇數據!") item = response.meta['item'] content_list = [] divs = response.xpath('//*[@id="postlist"]/div') user_name = response.css('div > div.pi > div:nth-child(1) > a::text').extract() publish_time = response.css('div.authi > em::text').extract() floor = divs.css('* strong> a> em::text').extract() s_id = divs.xpath('@id').extract() for i in range(len(divs) - 1): content = '' try:<br /> strong = response.css('#postmessage_' + s_id[i].split('_')[-1] + '').xpath('string(.)').extract() for s in strong: content += s.split(';')[-1].lstrip('\r\n') datas = dict(content=content, # 內容 reply_id=0, # 回復的樓層,默認0 user_name=user_name[i], # ?戶(hù)名 publish_time=publish_time[i].split('于 ')[-1], # %Y-%m-%d %H:%M:%S' id='#' + floor[i], # 樓層 ) content_list.append(datas) except IndexError: pass item['content_info'] = response.meta['content_info'] item['scrawl_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S') item['content_info'] += content_list<br /> data_url = response.css('#ct > div.pgbtn > a').xpath('@href').extract_first() if data_url != None: data_url = response.urljoin(data_url) yield scrapy.Request( url=data_url, callback=self.get_data, meta={'item': item, 'content_info': item['content_info']} ) else: item['scrawl_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S') self.logger.info("正在存儲!") print('儲存成功') yield item
  3、第三步:確定爬取方法
  由于是靜態(tài)網(wǎng)頁(yè),首先決定采用的是scrapy框架直接獲取數據,并且通過(guò)前期測試發(fā)現方法確實(shí)可行,不過(guò)當時(shí)年少輕狂,小看了網(wǎng)站的保護措施,由于耐心有限,沒(méi)有加上定時(shí)器限制爬取速度,導致我被網(wǎng)站加了限制,并且網(wǎng)站由靜態(tài)加載網(wǎng)頁(yè)變?yōu)椋簞?dòng)態(tài)加載網(wǎng)頁(yè)驗證算法之后再進(jìn)入到該網(wǎng)頁(yè),直接訪(fǎng)問(wèn)會(huì )被后臺拒絕。
  但是這種問(wèn)題怎么會(huì )難道我這小聰明,經(jīng)過(guò)我短暫地思考(1天),我將方案改為scrapy框架 + selenium庫的方法,通過(guò)調用chromedriver,模擬訪(fǎng)問(wèn)網(wǎng)站,等網(wǎng)站加載完了再爬取不就完了,后續證明這個(gè)方法確實(shí)可行,并且效率也不錯。
  實(shí)現部分代碼如下:
  def process_request(self, request, spider): chrome_options = Options() chrome_options.add_argument('--headless') # 使用無(wú)頭谷歌瀏覽器模式 chrome_options.add_argument('--disable-gpu') chrome_options.add_argument('--no-sandbox') # 指定谷歌瀏覽器路徑 self.driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='E:/pycharm/workspace/爬蟲(chóng)/scrapy/chromedriver') if request.url != 'http://bbs.foodmate.net/': self.driver.get(request.url) html = self.driver.page_source time.sleep(1) self.driver.quit() return scrapy.http.HtmlResponse(url=request.url, body=html.encode('utf-8'), encoding='utf-8', request=request)
  4、第四步:確定爬取數據的儲存格式
  
  這部分不用多說(shuō),根據自己需求,將需要爬取的數據格式設置在items.py中。在工程中引用該格式保存即可:
  5、第五步:確定保存數據庫
  本次項目選擇保存的數據庫為mongodb,由于是非關(guān)系型數據庫,優(yōu)點(diǎn)顯而易見(jiàn),對格式要求沒(méi)有那么高,可以靈活儲存多維數據,一般是爬蟲(chóng)優(yōu)選數據庫(不要和我說(shuō)redis,會(huì )了我也用,主要是不會(huì ))
  代碼:
  import pymongo<br />class FMPipeline(): def __init__(self): super(FMPipeline, self).__init__() # client = pymongo.MongoClient('139.217.92.75') client = pymongo.MongoClient('localhost') db = client.scrapy_FM self.collection = db.FM<br /> def process_item(self, item, spider): query = { 'article_url': item['article_url'] } self.collection.update_one(query, {"$set": dict(item)}, upsert=True) return item
  這時(shí),有聰明的盆友就會(huì )問(wèn):如果運行兩次爬取到了一樣的數據怎么辦呢?(換句話(huà)說(shuō)就是查重功能)
  這個(gè)問(wèn)題之前我也沒(méi)有考慮,后來(lái)在我詢(xún)問(wèn)大佬的過(guò)程中知道了,在我們存數據的時(shí)候就已經(jīng)做完這件事了,就是這句:
  query = { 'article_url': item['article_url']}self.collection.update_one(query, {"$set": dict(item)}, upsert=True)
  通過(guò)帖子的鏈接確定是否有數據爬取重復,如果重復可以理解為將其覆蓋,這樣也可以做到更新數據。
  6、其他設置
  像多線(xiàn)程、headers頭,管道傳輸順序等問(wèn)題,都在settings.py文件中設置,具體可以參考小編的項目去看,這里不再贅述。
  七、效果展示
  1、點(diǎn)擊運行,結果顯示在控制臺,如下圖所示。
  2、中間會(huì )一直向隊列中堆很多帖子的爬取任務(wù),然后多線(xiàn)程處理,我設置的是16線(xiàn)程,速度還是很可觀(guān)的。
  3、數據庫數據展示:
  content_info中存放著(zhù)每個(gè)帖子的全部留言以及相關(guān)用戶(hù)的公開(kāi)信息。
  八、總結
  1、這篇文章主要給大家介紹了食品網(wǎng)站的數據采集和存儲過(guò)程,詳解了如何分析網(wǎng)頁(yè)結構、爬蟲(chóng)策略、網(wǎng)站類(lèi)型、層級關(guān)系、爬蟲(chóng)方法和數據存儲過(guò)程,最終實(shí)現將帖子的每條評論爬取到數據庫中,并且做到可以更新數據,防止重復爬取,反爬等,干貨滿(mǎn)滿(mǎn)。
  2、本次項目總的來(lái)說(shuō),不是特別難搞,只要思路對了,找到了數據規則,爬起來(lái)可以說(shuō)易如反掌,覺(jué)得難只是之前沒(méi)有完整走過(guò)流程,有了這次比較水的介紹,希望能對你有所幫助,那將是我最大的榮幸。
  3、遇到問(wèn)題首先想的不是問(wèn)同事,朋友,老師,而是去谷歌,百度,看有沒(méi)有相似的情況,看別人的經(jīng)歷,一定要學(xué)會(huì )自己發(fā)現問(wèn)題,思考問(wèn)題,解決問(wèn)題,這對于之后工作有非常大的幫助(我之前就被說(shuō)過(guò)還沒(méi)有脫離學(xué)生時(shí)代,就是我喜歡問(wèn)同事),等網(wǎng)上查詢(xún)了一定資料了,還是沒(méi)有頭緒,再去問(wèn)別人,別人也會(huì )比較愿意幫助你的~
  我是杯酒先生,最后分享我的座右銘給大家:保持獨立思考,不卑不亢不慫。
  最后需要本文項目代碼的小伙伴,請在公眾號后臺回復“食品論壇”關(guān)鍵字進(jìn)行獲取,如果在運行過(guò)程中有遇到任何問(wèn)題,請隨時(shí)留言或者加小編好友,小編看到會(huì )幫助大家解決bug噢! 查看全部

  手把手教你用Scrapy爬蟲(chóng)框架爬取食品論壇數據并存入數據庫
  點(diǎn)擊上方“Python爬蟲(chóng)與數據挖掘”,進(jìn)行關(guān)注
  回復“書(shū)籍”即可獲贈Python從入門(mén)到進(jìn)階共10本電子書(shū)
  今
  日
  雞
  湯
  潮平兩岸闊,風(fēng)正一帆懸。
  大家好,我是杯酒先生,這是我第一次寫(xiě)這種分享項目的文章,可能很水,很不全面,而且肯定存在說(shuō)錯的地方,希望大家可以評論里加以指點(diǎn),不勝感激!
  一、前言
  網(wǎng)絡(luò )爬蟲(chóng)(又稱(chēng)為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò )機器人),是一種按照一定的規則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動(dòng)索引、模擬程序或者蠕蟲(chóng)。------百度百科
  說(shuō)人話(huà)就是,爬蟲(chóng)是用來(lái)海量規則化獲取數據,然后進(jìn)行處理和運用,在大數據、金融、機器學(xué)習等等方面都是必須的支撐條件之一。
  目前在一線(xiàn)城市中,爬蟲(chóng)的崗位薪資待遇都是比較客觀(guān)的,之后提升到中、高級爬蟲(chóng)工程師,數據分析師、大數據開(kāi)發(fā)崗位等,都是很好的過(guò)渡。
  二、項目目標
  本此介紹的項目其實(shí)不用想的太過(guò)復雜,最終要實(shí)現的目標也就是將帖子的每條評論爬取到數據庫中,并且做到可以更新數據,防止重復爬取,反爬等措施。
  三、項目準備
  這部分主要是介紹本文需要用到的工具,涉及的庫,網(wǎng)頁(yè)等信息等
  軟件:PyCharm
  需要的庫:Scrapy, selenium, pymongo, user_agent,datetime
  目標網(wǎng)站:
  http://bbs.foodmate.net
  插件:chromedriver(版本要對)
  四、項目分析1、確定爬取網(wǎng)站的結構
  簡(jiǎn)而言之:確定網(wǎng)站的加載方式,怎樣才能正確的一級一級的進(jìn)入到帖子中抓取數據,使用什么格式保存數據等。
  其次,觀(guān)察網(wǎng)站的層級結構,也就是說(shuō),怎么根據板塊,一點(diǎn)點(diǎn)進(jìn)入到帖子頁(yè)面中,這對本次爬蟲(chóng)任務(wù)非常重要,也是主要編寫(xiě)代碼的部分。
  2、如何選擇合適的方式爬取數據?
  
  目前我知道的爬蟲(chóng)方法大概有如下(不全,但是比較常用):
  1)request框架:運用這個(gè)http庫可以很靈活的爬取需要的數據,簡(jiǎn)單但是過(guò)程稍微繁瑣,并且可以配合抓包工具對數據進(jìn)行獲取。但是需要確定headers頭以及相應的請求參數,否則無(wú)法獲取數據;很多app爬取、圖片視頻爬取隨爬隨停,比較輕量靈活,并且高并發(fā)與分布式部署也非常靈活,對于功能可以更好實(shí)現。
  2)scrapy框架:scrapy框架可以說(shuō)是爬蟲(chóng)最常用,最好用的爬蟲(chóng)框架了,優(yōu)點(diǎn)很多:scrapy 是異步的;采取可讀性更強的 xpath 代替正則;強大的統計和 log 系統;同時(shí)在不同的 url 上爬行;支持 shell 方式,方便獨立調試;支持寫(xiě) middleware方便寫(xiě)一些統一的過(guò)濾器;可以通過(guò)管道的方式存入數據庫等等。這也是本次文章所要介紹的框架(結合selenium庫)。
  五、項目實(shí)現1、第一步:確定網(wǎng)站類(lèi)型
  首先解釋一下是什么意思,看什么網(wǎng)站,首先要看網(wǎng)站的加載方式,是靜態(tài)加載,還是動(dòng)態(tài)加載(js加載),還是別的方式;根據不一樣的加載方式需要不同的辦法應對。然后我們觀(guān)察今天爬取的網(wǎng)站,發(fā)現這是一個(gè)有年代感的論壇,首先猜測是靜態(tài)加載的網(wǎng)站;我們開(kāi)啟組織 js 加載的插件,如下圖所示。
  刷新之后發(fā)現確實(shí)是靜態(tài)網(wǎng)站(如果可以正常加載基本都是靜態(tài)加載的)。
  2、第二步:確定層級關(guān)系
  其次,我們今天要爬取的網(wǎng)站是食品論壇網(wǎng)站,是靜態(tài)加載的網(wǎng)站,在之前分析的時(shí)候已經(jīng)了解了,然后是層級結構:
  大概是上面的流程,總共有三級遞進(jìn)訪(fǎng)問(wèn),之后到達帖子頁(yè)面,如下圖所示。
  部分代碼展示:
  一級界面:
  def parse(self, response): self.logger.info("已進(jìn)入網(wǎng)頁(yè)!") self.logger.info("正在獲取版塊列表!") column_path_list = response.css('#ct > div.mn > div:nth-child(2) > div')[:-1] for column_path in column_path_list: col_paths = column_path.css('div > table > tbody > tr > td > div > a').xpath('@href').extract() for path in col_paths: block_url = response.urljoin(path) yield scrapy.Request( url=block_url, callback=self.get_next_path, )
  二級界面:
  def get_next_path(self, response): self.logger.info("已進(jìn)入版塊!") self.logger.info("正在獲取文章列表!") if response.url == 'http://www.foodmate.net/know/': pass else: try: nums = response.css('#fd_page_bottom > div > label > span::text').extract_first().split(' ')[-2] except: nums = 1 for num in range(1, int(nums) + 1): tbody_list = response.css('#threadlisttableid > tbody') for tbody in tbody_list: if 'normalthread' in str(tbody): item = LunTanItem() item['article_url'] = response.urljoin( tbody.css('* > tr > th > a.s.xst').xpath('@href').extract_first()) item['type'] = response.css( '#ct > div > div.bm.bml.pbn > div.bm_h.cl > h1 > a::text').extract_first() item['title'] = tbody.css('* > tr > th > a.s.xst::text').extract_first() item['spider_type'] = "論壇" item['source'] = "食品論壇" if item['article_url'] != 'http://bbs.foodmate.net/': yield scrapy.Request( url=item['article_url'], callback=self.get_data, meta={'item': item, 'content_info': []} ) try: callback_url = response.css('#fd_page_bottom > div > a.nxt').xpath('@href').extract_first() callback_url = response.urljoin(callback_url) yield scrapy.Request( url=callback_url, callback=self.get_next_path, ) except IndexError: pass
  三級界面:
  def get_data(self, response): self.logger.info("正在爬取論壇數據!") item = response.meta['item'] content_list = [] divs = response.xpath('//*[@id="postlist"]/div') user_name = response.css('div > div.pi > div:nth-child(1) > a::text').extract() publish_time = response.css('div.authi > em::text').extract() floor = divs.css('* strong> a> em::text').extract() s_id = divs.xpath('@id').extract() for i in range(len(divs) - 1): content = '' try:<br /> strong = response.css('#postmessage_' + s_id[i].split('_')[-1] + '').xpath('string(.)').extract() for s in strong: content += s.split(';')[-1].lstrip('\r\n') datas = dict(content=content, # 內容 reply_id=0, # 回復的樓層,默認0 user_name=user_name[i], # ?戶(hù)名 publish_time=publish_time[i].split('于 ')[-1], # %Y-%m-%d %H:%M:%S' id='#' + floor[i], # 樓層 ) content_list.append(datas) except IndexError: pass item['content_info'] = response.meta['content_info'] item['scrawl_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S') item['content_info'] += content_list<br /> data_url = response.css('#ct > div.pgbtn > a').xpath('@href').extract_first() if data_url != None: data_url = response.urljoin(data_url) yield scrapy.Request( url=data_url, callback=self.get_data, meta={'item': item, 'content_info': item['content_info']} ) else: item['scrawl_time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S') self.logger.info("正在存儲!") print('儲存成功') yield item
  3、第三步:確定爬取方法
  由于是靜態(tài)網(wǎng)頁(yè),首先決定采用的是scrapy框架直接獲取數據,并且通過(guò)前期測試發(fā)現方法確實(shí)可行,不過(guò)當時(shí)年少輕狂,小看了網(wǎng)站的保護措施,由于耐心有限,沒(méi)有加上定時(shí)器限制爬取速度,導致我被網(wǎng)站加了限制,并且網(wǎng)站由靜態(tài)加載網(wǎng)頁(yè)變?yōu)椋簞?dòng)態(tài)加載網(wǎng)頁(yè)驗證算法之后再進(jìn)入到該網(wǎng)頁(yè),直接訪(fǎng)問(wèn)會(huì )被后臺拒絕。
  但是這種問(wèn)題怎么會(huì )難道我這小聰明,經(jīng)過(guò)我短暫地思考(1天),我將方案改為scrapy框架 + selenium庫的方法,通過(guò)調用chromedriver,模擬訪(fǎng)問(wèn)網(wǎng)站,等網(wǎng)站加載完了再爬取不就完了,后續證明這個(gè)方法確實(shí)可行,并且效率也不錯。
  實(shí)現部分代碼如下:
  def process_request(self, request, spider): chrome_options = Options() chrome_options.add_argument('--headless') # 使用無(wú)頭谷歌瀏覽器模式 chrome_options.add_argument('--disable-gpu') chrome_options.add_argument('--no-sandbox') # 指定谷歌瀏覽器路徑 self.driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='E:/pycharm/workspace/爬蟲(chóng)/scrapy/chromedriver') if request.url != 'http://bbs.foodmate.net/': self.driver.get(request.url) html = self.driver.page_source time.sleep(1) self.driver.quit() return scrapy.http.HtmlResponse(url=request.url, body=html.encode('utf-8'), encoding='utf-8', request=request)
  4、第四步:確定爬取數據的儲存格式
  
  這部分不用多說(shuō),根據自己需求,將需要爬取的數據格式設置在items.py中。在工程中引用該格式保存即可:
  5、第五步:確定保存數據庫
  本次項目選擇保存的數據庫為mongodb,由于是非關(guān)系型數據庫,優(yōu)點(diǎn)顯而易見(jiàn),對格式要求沒(méi)有那么高,可以靈活儲存多維數據,一般是爬蟲(chóng)優(yōu)選數據庫(不要和我說(shuō)redis,會(huì )了我也用,主要是不會(huì ))
  代碼:
  import pymongo<br />class FMPipeline(): def __init__(self): super(FMPipeline, self).__init__() # client = pymongo.MongoClient('139.217.92.75') client = pymongo.MongoClient('localhost') db = client.scrapy_FM self.collection = db.FM<br /> def process_item(self, item, spider): query = { 'article_url': item['article_url'] } self.collection.update_one(query, {"$set": dict(item)}, upsert=True) return item
  這時(shí),有聰明的盆友就會(huì )問(wèn):如果運行兩次爬取到了一樣的數據怎么辦呢?(換句話(huà)說(shuō)就是查重功能)
  這個(gè)問(wèn)題之前我也沒(méi)有考慮,后來(lái)在我詢(xún)問(wèn)大佬的過(guò)程中知道了,在我們存數據的時(shí)候就已經(jīng)做完這件事了,就是這句:
  query = { 'article_url': item['article_url']}self.collection.update_one(query, {"$set": dict(item)}, upsert=True)
  通過(guò)帖子的鏈接確定是否有數據爬取重復,如果重復可以理解為將其覆蓋,這樣也可以做到更新數據。
  6、其他設置
  像多線(xiàn)程、headers頭,管道傳輸順序等問(wèn)題,都在settings.py文件中設置,具體可以參考小編的項目去看,這里不再贅述。
  七、效果展示
  1、點(diǎn)擊運行,結果顯示在控制臺,如下圖所示。
  2、中間會(huì )一直向隊列中堆很多帖子的爬取任務(wù),然后多線(xiàn)程處理,我設置的是16線(xiàn)程,速度還是很可觀(guān)的。
  3、數據庫數據展示:
  content_info中存放著(zhù)每個(gè)帖子的全部留言以及相關(guān)用戶(hù)的公開(kāi)信息。
  八、總結
  1、這篇文章主要給大家介紹了食品網(wǎng)站的數據采集和存儲過(guò)程,詳解了如何分析網(wǎng)頁(yè)結構、爬蟲(chóng)策略、網(wǎng)站類(lèi)型、層級關(guān)系、爬蟲(chóng)方法和數據存儲過(guò)程,最終實(shí)現將帖子的每條評論爬取到數據庫中,并且做到可以更新數據,防止重復爬取,反爬等,干貨滿(mǎn)滿(mǎn)。
  2、本次項目總的來(lái)說(shuō),不是特別難搞,只要思路對了,找到了數據規則,爬起來(lái)可以說(shuō)易如反掌,覺(jué)得難只是之前沒(méi)有完整走過(guò)流程,有了這次比較水的介紹,希望能對你有所幫助,那將是我最大的榮幸。
  3、遇到問(wèn)題首先想的不是問(wèn)同事,朋友,老師,而是去谷歌,百度,看有沒(méi)有相似的情況,看別人的經(jīng)歷,一定要學(xué)會(huì )自己發(fā)現問(wèn)題,思考問(wèn)題,解決問(wèn)題,這對于之后工作有非常大的幫助(我之前就被說(shuō)過(guò)還沒(méi)有脫離學(xué)生時(shí)代,就是我喜歡問(wèn)同事),等網(wǎng)上查詢(xún)了一定資料了,還是沒(méi)有頭緒,再去問(wèn)別人,別人也會(huì )比較愿意幫助你的~
  我是杯酒先生,最后分享我的座右銘給大家:保持獨立思考,不卑不亢不慫。
  最后需要本文項目代碼的小伙伴,請在公眾號后臺回復“食品論壇”關(guān)鍵字進(jìn)行獲取,如果在運行過(guò)程中有遇到任何問(wèn)題,請隨時(shí)留言或者加小編好友,小編看到會(huì )幫助大家解決bug噢!

手機網(wǎng)頁(yè)抓取數據易語(yǔ)言的開(kāi)發(fā)工具有什么作用?

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 131 次瀏覽 ? 2022-07-06 00:03 ? 來(lái)自相關(guān)話(huà)題

  手機網(wǎng)頁(yè)抓取數據易語(yǔ)言的開(kāi)發(fā)工具有什么作用?
  
  網(wǎng)頁(yè)抓取數據百度百科能夠提供常用的詞條基本信息和部分詳細信息,但是其中的特定詞條不是很完整,并且缺少使用者個(gè)人參與,頁(yè)面加載時(shí)間比較長(cháng),不方便使用者閱讀。手機網(wǎng)頁(yè)抓取,在手機上可以實(shí)現基本的頁(yè)面內容抓取,在移動(dòng)端編寫(xiě)腳本實(shí)現復雜的頁(yè)面關(guān)鍵詞和詞條內容等信息抓取,在手機上瀏覽網(wǎng)頁(yè)方便快捷。手機網(wǎng)頁(yè)抓取數據易語(yǔ)言作為一門(mén)開(kāi)發(fā)工具來(lái)說(shuō),可以在語(yǔ)言中實(shí)現更多功能,比如可以同時(shí)開(kāi)發(fā)一個(gè)名字錄入網(wǎng)站,單詞錄入網(wǎng)站等。
  
  數據來(lái)源于,作為一個(gè)復雜詞庫存在的詞庫,數據來(lái)源于。從來(lái)源來(lái)看,實(shí)現了對于同詞庫,同單詞庫詞匯等的復制粘貼,只需把詞匯的詞源進(jìn)行寫(xiě)入便可實(shí)現等功能。操作系統中可選擇用webview和桌面瀏覽器進(jìn)行頁(yè)面抓取。移動(dòng)端手機端采用webview,移動(dòng)端手機端采用桌面瀏覽器,如果沒(méi)有其他特殊需求,一般采用webview進(jìn)行頁(yè)面抓取即可。
  看你具體的功能了。手機網(wǎng)頁(yè),電腦網(wǎng)頁(yè)抓取。另外可以選擇加上下載功能(對于一些想下載其他的,又不想把微信wap頁(yè)面傳過(guò)來(lái)的人,加上下載功能真是不錯)?;蛘吒娔X網(wǎng)頁(yè)一樣,多頁(yè)面進(jìn)行抓取。簡(jiǎn)單有效方法就是先在wap中寫(xiě)入meta標簽提取所需信息,然后直接利用腳本之類(lèi)的來(lái)讀取meta標簽的內容。程序的話(huà),我還在學(xué)習過(guò)程中。最近還是在研究通信,提取信息。工具的話(huà),appium,phonegap這些都有類(lèi)似的功能。 查看全部

  手機網(wǎng)頁(yè)抓取數據易語(yǔ)言的開(kāi)發(fā)工具有什么作用?
  
  網(wǎng)頁(yè)抓取數據百度百科能夠提供常用的詞條基本信息和部分詳細信息,但是其中的特定詞條不是很完整,并且缺少使用者個(gè)人參與,頁(yè)面加載時(shí)間比較長(cháng),不方便使用者閱讀。手機網(wǎng)頁(yè)抓取,在手機上可以實(shí)現基本的頁(yè)面內容抓取,在移動(dòng)端編寫(xiě)腳本實(shí)現復雜的頁(yè)面關(guān)鍵詞和詞條內容等信息抓取,在手機上瀏覽網(wǎng)頁(yè)方便快捷。手機網(wǎng)頁(yè)抓取數據易語(yǔ)言作為一門(mén)開(kāi)發(fā)工具來(lái)說(shuō),可以在語(yǔ)言中實(shí)現更多功能,比如可以同時(shí)開(kāi)發(fā)一個(gè)名字錄入網(wǎng)站,單詞錄入網(wǎng)站等。
  
  數據來(lái)源于,作為一個(gè)復雜詞庫存在的詞庫,數據來(lái)源于。從來(lái)源來(lái)看,實(shí)現了對于同詞庫,同單詞庫詞匯等的復制粘貼,只需把詞匯的詞源進(jìn)行寫(xiě)入便可實(shí)現等功能。操作系統中可選擇用webview和桌面瀏覽器進(jìn)行頁(yè)面抓取。移動(dòng)端手機端采用webview,移動(dòng)端手機端采用桌面瀏覽器,如果沒(méi)有其他特殊需求,一般采用webview進(jìn)行頁(yè)面抓取即可。
  看你具體的功能了。手機網(wǎng)頁(yè),電腦網(wǎng)頁(yè)抓取。另外可以選擇加上下載功能(對于一些想下載其他的,又不想把微信wap頁(yè)面傳過(guò)來(lái)的人,加上下載功能真是不錯)?;蛘吒娔X網(wǎng)頁(yè)一樣,多頁(yè)面進(jìn)行抓取。簡(jiǎn)單有效方法就是先在wap中寫(xiě)入meta標簽提取所需信息,然后直接利用腳本之類(lèi)的來(lái)讀取meta標簽的內容。程序的話(huà),我還在學(xué)習過(guò)程中。最近還是在研究通信,提取信息。工具的話(huà),appium,phonegap這些都有類(lèi)似的功能。

【干貨】盤(pán)點(diǎn)歷年百度算法總結,你“中雷”了嗎?

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 102 次瀏覽 ? 2022-07-05 16:28 ? 來(lái)自相關(guān)話(huà)題

  【干貨】盤(pán)點(diǎn)歷年百度算法總結,你“中雷”了嗎?
  2017年還有2天就結束了
  2017年還有2天就結束了
  2017年還有2天就結束了
  重要的事情三遍
  講個(gè)站長(cháng)們都怕聽(tīng)到的事:
 ?。╤aha……騙你的)
  百度算法又稱(chēng)百度搜索引擎排名算法,做SEO的不可避免和百度打交道,百度算法可以算是幾乎每隔一段時(shí)間都會(huì )對SEOER進(jìn)行檢驗,說(shuō)到排名算法百度算法網(wǎng)站內容,圖片,網(wǎng)站標簽,頁(yè)面代碼均可對算法造成影響。要做好優(yōu)化需對算法做出調整,不可盲目?jì)?yōu)化。今天小編就來(lái)給盤(pán)點(diǎn)一下百度歷年算法,大家一定要收藏哦??!
  文本算法
  上線(xiàn)時(shí)間:不詳
  文本算法:針對網(wǎng)站文本內容為了與關(guān)鍵詞對應而進(jìn)行的內容惡意堆砌(應該算是百度打擊關(guān)鍵詞堆砌的雛形)。
  超鏈算法
  上線(xiàn)時(shí)間:2012年
  超鏈算法:在當時(shí)如果一個(gè)網(wǎng)站被多個(gè)網(wǎng)站引用,那么搜素引擎就會(huì )認為這個(gè)網(wǎng)站就是符合要求的網(wǎng)站,是好的網(wǎng)站?!皟热轂橥?,外鏈為皇”這句話(huà)現在還在廣為流傳。(參考SEO百度百科定在了2012年,且在那一年,算是百度認真對SEO進(jìn)行調整的開(kāi)始,也算是綠蘿的雛形)。
  百度綠籮算法
  上線(xiàn)時(shí)間:2013年2月19號
  百度綠蘿算法:買(mǎi)賣(mài)鏈接的行為,3種類(lèi)型的網(wǎng)站會(huì )受到干擾:超鏈中介、出賣(mài)鏈接的網(wǎng)站、購買(mǎi)鏈接的網(wǎng)站。據說(shuō)設計這個(gè)策略的是位小姑娘,所以命名的權利也給了這位小姑娘,她選擇了綠蘿這個(gè)名稱(chēng),暗合反作弊的凈化之意。綠籮算法影響了10W+低質(zhì)站點(diǎn)。
  百度石榴算法
  上線(xiàn)時(shí)間:2013年5月17號
  百度石榴算法:針對大量妨礙用戶(hù)正常瀏覽的惡劣廣告的頁(yè)面、低質(zhì)量?jì)热蓓?yè)面。石榴算法針對的尤其以彈出大量低質(zhì)彈窗廣告、混淆頁(yè)面主體內容的垃圾廣告頁(yè)面為代表。
  綠籮算法2.0
  上線(xiàn)時(shí)間:2013年7月1號
  
  綠籮算法2.0:軟文中的外鏈及懲罰發(fā)軟文的站點(diǎn)。
  3種類(lèi)型的網(wǎng)站會(huì )受到影響:軟文交易平臺、軟文發(fā)布站、軟文收益站。
  星火計劃(起源算法)
  上線(xiàn)時(shí)間:2013年10月23號
  星火計劃(起源算法):解決原創(chuàng )內容的搜索排名問(wèn)題。設計一套較完善的原創(chuàng )識別算法,建設原創(chuàng )聯(lián)盟,給予原創(chuàng )、優(yōu)質(zhì)站點(diǎn)更高的發(fā)展空間。
  百度搜索引擎網(wǎng)頁(yè)質(zhì)量白皮書(shū)
  上線(xiàn)時(shí)間:2014年8月7號
  百度搜索引擎網(wǎng)頁(yè)質(zhì)量白皮書(shū):簡(jiǎn)單地從內容質(zhì)量、網(wǎng)頁(yè)瀏覽體驗和可訪(fǎng)問(wèn)性三個(gè)角度闡述了百度對網(wǎng)頁(yè)質(zhì)量的評判標準。
  百度冰桶算法1.0
  上線(xiàn)時(shí)間:2014年8月22號
  百度冰桶算法1.0:移動(dòng)端影響用戶(hù)體驗的落地頁(yè)。
  冰桶1.0主要打擊對象包括強行彈窗app下載、用戶(hù)登錄、大面積廣告等影響用戶(hù)正常瀏覽體驗的頁(yè)面,尤其以必須下載app才能正常使用的站點(diǎn)為代表。
  冰桶算法2.0
  上線(xiàn)時(shí)間:2014年11月18日
  冰桶算法2.0:全屏下載、在狹小的手機頁(yè)面布設大面積廣告遮擋主體內容、強制用戶(hù)登錄才可以使用等。
  白楊算法
  上線(xiàn)時(shí)間:2014年12月04日
  白楊算法:旨在實(shí)現網(wǎng)站移動(dòng)化,為更好滿(mǎn)足用戶(hù)地域化需求,也更好扶持各種地方特色類(lèi)站點(diǎn)。
  效果:(1) 排序優(yōu)化:本地信息靠前;(2) 地域明確化: 城市信息前置。
  瑞麗算法
  上線(xiàn)時(shí)間:2015年1月1號
  瑞麗算法:應該是一種誤傳,且百度官方發(fā)出了以下申明:由于網(wǎng)頁(yè)搜索元旦期間出現相關(guān)系統故障,導致部分網(wǎng)站在百度搜索結果中的排序受到影響而出現相關(guān)波動(dòng)情況,今日在加緊修復中,預計今日晚些會(huì )修復完成,請大家密切關(guān)注平臺信息,不要到處傳播及揣測相關(guān)信息,百度沒(méi)有對.cn及.cc域名歧視,請這部分站點(diǎn)不要聽(tīng)信謠言。
  冰桶算法3.0
  上線(xiàn)時(shí)間:2016年7月7號公布,7月15號上線(xiàn)
  冰桶算法3.0:打斷用戶(hù)完整搜索路徑的行為。
  所謂打斷用戶(hù)完整搜索路徑,主要指的是用戶(hù)訪(fǎng)問(wèn)移動(dòng)頁(yè)面時(shí),被強迫打開(kāi)、下載該網(wǎng)站的APP才能繼續瀏覽或使用,但這些APP又不一定是必要或者常用的,簡(jiǎn)單獲取信息的行為被強行變成復雜或高成本的下載行為。百度移動(dòng)搜索會(huì )大幅降低這類(lèi)頁(yè)面在移動(dòng)搜索中的評價(jià)。
  
  百度天網(wǎng)算法
  上線(xiàn)時(shí)間:2016年8月10號公布
  百度天網(wǎng)算法:盜取用戶(hù)隱私的網(wǎng)站。
  盜取用戶(hù)隱私主要表現為網(wǎng)頁(yè)嵌惡意代碼,用于盜取網(wǎng)民的QQ號、手機號等。被檢測處罰的網(wǎng)站經(jīng)過(guò)整改,達到標準,會(huì )解除處罰。
  冰桶算法4.0
  上線(xiàn)時(shí)間:2016年9月27號公布
  冰桶算法4.0:廣告過(guò)多、影響用戶(hù)體驗的移動(dòng)頁(yè)面。
  SEO需要優(yōu)化頁(yè)面廣告布局,控制每屏廣告的比例,保障用戶(hù)瀏覽體驗,以免被算法策略命中,影響網(wǎng)站排名和流量。
  冰桶算法4.5
  上線(xiàn)時(shí)間:2016年10月26號公布
  冰桶算法4.5:發(fā)布惡劣誘導類(lèi)廣告的頁(yè)面。
  所謂惡劣誘導類(lèi)廣告,指的是通過(guò)色情動(dòng)圖、色情導航、露骨文本、賭博等等吸引眼球的形態(tài)誘導用戶(hù)點(diǎn)擊非法廣告。
  就我所見(jiàn),目前這種頁(yè)面依然很多,但排名能保持的很少。
  百度優(yōu)采云算法
  上線(xiàn)時(shí)間:2016年11月21號公布
  百度優(yōu)采云算法:打擊新聞源售賣(mài)軟文、目錄行為。
  觸發(fā)“優(yōu)采云算法”問(wèn)題網(wǎng)站將被清理出新聞源,同時(shí)降低其在百度搜索系統中的評價(jià)。
  百度烽火計劃
  上線(xiàn)時(shí)間:2017年2月23號公布
  百度烽火計劃:百度移動(dòng)搜索頁(yè)面劫持。
  所謂移動(dòng)搜索頁(yè)面劫持,在瀏覽完落地頁(yè)返回搜索結果頁(yè)時(shí),會(huì )進(jìn)入到虛假的百度移動(dòng)搜索結果頁(yè),該頁(yè)面模擬了百度搜索結果首頁(yè),但實(shí)際上是一個(gè)虛假的風(fēng)險站點(diǎn),用戶(hù)訪(fǎng)問(wèn)存在極大的安全隱患,嚴重影響了用戶(hù)的搜索體驗。
  百度沒(méi)有具體說(shuō)明這種劫持是怎樣實(shí)現的。我猜想的一個(gè)可能方式是連續跳轉加上檢測瀏覽器referrer(看懂就看懂,看不懂不解釋?zhuān)?,以前在唯一的一次網(wǎng)上SEO培訓中提到過(guò)這種方法在搜索廣告中的使用,不知道是不是有心人受到了啟發(fā)?
  百度颶風(fēng)算法
  上線(xiàn)時(shí)間:2017年7月4號公布
  百度颶風(fēng)算法:嚴厲打擊以惡劣采集站點(diǎn)(站群、蜘蛛池、寄生蟲(chóng)、bc、劫持)為內容主要來(lái)源的網(wǎng)站,主要是判斷網(wǎng)站的新聞源是否有采集。
  如果發(fā)現存在惡意采集內容,將會(huì )把關(guān)鍵詞降低排名,同時(shí)還會(huì )清除惡意采集鏈接的行為,給認真做內容的網(wǎng)站更多上升排名的機會(huì ),凈化搜索網(wǎng)絡(luò )的環(huán)境。 查看全部

  【干貨】盤(pán)點(diǎn)歷年百度算法總結,你“中雷”了嗎?
  2017年還有2天就結束了
  2017年還有2天就結束了
  2017年還有2天就結束了
  重要的事情三遍
  講個(gè)站長(cháng)們都怕聽(tīng)到的事:
 ?。╤aha……騙你的)
  百度算法又稱(chēng)百度搜索引擎排名算法,做SEO的不可避免和百度打交道,百度算法可以算是幾乎每隔一段時(shí)間都會(huì )對SEOER進(jìn)行檢驗,說(shuō)到排名算法百度算法網(wǎng)站內容,圖片,網(wǎng)站標簽,頁(yè)面代碼均可對算法造成影響。要做好優(yōu)化需對算法做出調整,不可盲目?jì)?yōu)化。今天小編就來(lái)給盤(pán)點(diǎn)一下百度歷年算法,大家一定要收藏哦??!
  文本算法
  上線(xiàn)時(shí)間:不詳
  文本算法:針對網(wǎng)站文本內容為了與關(guān)鍵詞對應而進(jìn)行的內容惡意堆砌(應該算是百度打擊關(guān)鍵詞堆砌的雛形)。
  超鏈算法
  上線(xiàn)時(shí)間:2012年
  超鏈算法:在當時(shí)如果一個(gè)網(wǎng)站被多個(gè)網(wǎng)站引用,那么搜素引擎就會(huì )認為這個(gè)網(wǎng)站就是符合要求的網(wǎng)站,是好的網(wǎng)站?!皟热轂橥?,外鏈為皇”這句話(huà)現在還在廣為流傳。(參考SEO百度百科定在了2012年,且在那一年,算是百度認真對SEO進(jìn)行調整的開(kāi)始,也算是綠蘿的雛形)。
  百度綠籮算法
  上線(xiàn)時(shí)間:2013年2月19號
  百度綠蘿算法:買(mǎi)賣(mài)鏈接的行為,3種類(lèi)型的網(wǎng)站會(huì )受到干擾:超鏈中介、出賣(mài)鏈接的網(wǎng)站、購買(mǎi)鏈接的網(wǎng)站。據說(shuō)設計這個(gè)策略的是位小姑娘,所以命名的權利也給了這位小姑娘,她選擇了綠蘿這個(gè)名稱(chēng),暗合反作弊的凈化之意。綠籮算法影響了10W+低質(zhì)站點(diǎn)。
  百度石榴算法
  上線(xiàn)時(shí)間:2013年5月17號
  百度石榴算法:針對大量妨礙用戶(hù)正常瀏覽的惡劣廣告的頁(yè)面、低質(zhì)量?jì)热蓓?yè)面。石榴算法針對的尤其以彈出大量低質(zhì)彈窗廣告、混淆頁(yè)面主體內容的垃圾廣告頁(yè)面為代表。
  綠籮算法2.0
  上線(xiàn)時(shí)間:2013年7月1號
  
  綠籮算法2.0:軟文中的外鏈及懲罰發(fā)軟文的站點(diǎn)。
  3種類(lèi)型的網(wǎng)站會(huì )受到影響:軟文交易平臺、軟文發(fā)布站、軟文收益站。
  星火計劃(起源算法)
  上線(xiàn)時(shí)間:2013年10月23號
  星火計劃(起源算法):解決原創(chuàng )內容的搜索排名問(wèn)題。設計一套較完善的原創(chuàng )識別算法,建設原創(chuàng )聯(lián)盟,給予原創(chuàng )、優(yōu)質(zhì)站點(diǎn)更高的發(fā)展空間。
  百度搜索引擎網(wǎng)頁(yè)質(zhì)量白皮書(shū)
  上線(xiàn)時(shí)間:2014年8月7號
  百度搜索引擎網(wǎng)頁(yè)質(zhì)量白皮書(shū):簡(jiǎn)單地從內容質(zhì)量、網(wǎng)頁(yè)瀏覽體驗和可訪(fǎng)問(wèn)性三個(gè)角度闡述了百度對網(wǎng)頁(yè)質(zhì)量的評判標準。
  百度冰桶算法1.0
  上線(xiàn)時(shí)間:2014年8月22號
  百度冰桶算法1.0:移動(dòng)端影響用戶(hù)體驗的落地頁(yè)。
  冰桶1.0主要打擊對象包括強行彈窗app下載、用戶(hù)登錄、大面積廣告等影響用戶(hù)正常瀏覽體驗的頁(yè)面,尤其以必須下載app才能正常使用的站點(diǎn)為代表。
  冰桶算法2.0
  上線(xiàn)時(shí)間:2014年11月18日
  冰桶算法2.0:全屏下載、在狹小的手機頁(yè)面布設大面積廣告遮擋主體內容、強制用戶(hù)登錄才可以使用等。
  白楊算法
  上線(xiàn)時(shí)間:2014年12月04日
  白楊算法:旨在實(shí)現網(wǎng)站移動(dòng)化,為更好滿(mǎn)足用戶(hù)地域化需求,也更好扶持各種地方特色類(lèi)站點(diǎn)。
  效果:(1) 排序優(yōu)化:本地信息靠前;(2) 地域明確化: 城市信息前置。
  瑞麗算法
  上線(xiàn)時(shí)間:2015年1月1號
  瑞麗算法:應該是一種誤傳,且百度官方發(fā)出了以下申明:由于網(wǎng)頁(yè)搜索元旦期間出現相關(guān)系統故障,導致部分網(wǎng)站在百度搜索結果中的排序受到影響而出現相關(guān)波動(dòng)情況,今日在加緊修復中,預計今日晚些會(huì )修復完成,請大家密切關(guān)注平臺信息,不要到處傳播及揣測相關(guān)信息,百度沒(méi)有對.cn及.cc域名歧視,請這部分站點(diǎn)不要聽(tīng)信謠言。
  冰桶算法3.0
  上線(xiàn)時(shí)間:2016年7月7號公布,7月15號上線(xiàn)
  冰桶算法3.0:打斷用戶(hù)完整搜索路徑的行為。
  所謂打斷用戶(hù)完整搜索路徑,主要指的是用戶(hù)訪(fǎng)問(wèn)移動(dòng)頁(yè)面時(shí),被強迫打開(kāi)、下載該網(wǎng)站的APP才能繼續瀏覽或使用,但這些APP又不一定是必要或者常用的,簡(jiǎn)單獲取信息的行為被強行變成復雜或高成本的下載行為。百度移動(dòng)搜索會(huì )大幅降低這類(lèi)頁(yè)面在移動(dòng)搜索中的評價(jià)。
  
  百度天網(wǎng)算法
  上線(xiàn)時(shí)間:2016年8月10號公布
  百度天網(wǎng)算法:盜取用戶(hù)隱私的網(wǎng)站。
  盜取用戶(hù)隱私主要表現為網(wǎng)頁(yè)嵌惡意代碼,用于盜取網(wǎng)民的QQ號、手機號等。被檢測處罰的網(wǎng)站經(jīng)過(guò)整改,達到標準,會(huì )解除處罰。
  冰桶算法4.0
  上線(xiàn)時(shí)間:2016年9月27號公布
  冰桶算法4.0:廣告過(guò)多、影響用戶(hù)體驗的移動(dòng)頁(yè)面。
  SEO需要優(yōu)化頁(yè)面廣告布局,控制每屏廣告的比例,保障用戶(hù)瀏覽體驗,以免被算法策略命中,影響網(wǎng)站排名和流量。
  冰桶算法4.5
  上線(xiàn)時(shí)間:2016年10月26號公布
  冰桶算法4.5:發(fā)布惡劣誘導類(lèi)廣告的頁(yè)面。
  所謂惡劣誘導類(lèi)廣告,指的是通過(guò)色情動(dòng)圖、色情導航、露骨文本、賭博等等吸引眼球的形態(tài)誘導用戶(hù)點(diǎn)擊非法廣告。
  就我所見(jiàn),目前這種頁(yè)面依然很多,但排名能保持的很少。
  百度優(yōu)采云算法
  上線(xiàn)時(shí)間:2016年11月21號公布
  百度優(yōu)采云算法:打擊新聞源售賣(mài)軟文、目錄行為。
  觸發(fā)“優(yōu)采云算法”問(wèn)題網(wǎng)站將被清理出新聞源,同時(shí)降低其在百度搜索系統中的評價(jià)。
  百度烽火計劃
  上線(xiàn)時(shí)間:2017年2月23號公布
  百度烽火計劃:百度移動(dòng)搜索頁(yè)面劫持。
  所謂移動(dòng)搜索頁(yè)面劫持,在瀏覽完落地頁(yè)返回搜索結果頁(yè)時(shí),會(huì )進(jìn)入到虛假的百度移動(dòng)搜索結果頁(yè),該頁(yè)面模擬了百度搜索結果首頁(yè),但實(shí)際上是一個(gè)虛假的風(fēng)險站點(diǎn),用戶(hù)訪(fǎng)問(wèn)存在極大的安全隱患,嚴重影響了用戶(hù)的搜索體驗。
  百度沒(méi)有具體說(shuō)明這種劫持是怎樣實(shí)現的。我猜想的一個(gè)可能方式是連續跳轉加上檢測瀏覽器referrer(看懂就看懂,看不懂不解釋?zhuān)?,以前在唯一的一次網(wǎng)上SEO培訓中提到過(guò)這種方法在搜索廣告中的使用,不知道是不是有心人受到了啟發(fā)?
  百度颶風(fēng)算法
  上線(xiàn)時(shí)間:2017年7月4號公布
  百度颶風(fēng)算法:嚴厲打擊以惡劣采集站點(diǎn)(站群、蜘蛛池、寄生蟲(chóng)、bc、劫持)為內容主要來(lái)源的網(wǎng)站,主要是判斷網(wǎng)站的新聞源是否有采集。
  如果發(fā)現存在惡意采集內容,將會(huì )把關(guān)鍵詞降低排名,同時(shí)還會(huì )清除惡意采集鏈接的行為,給認真做內容的網(wǎng)站更多上升排名的機會(huì ),凈化搜索網(wǎng)絡(luò )的環(huán)境。

百度搜索欄的關(guān)鍵詞是什么?如何判斷?(圖)

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 101 次瀏覽 ? 2022-07-01 01:00 ? 來(lái)自相關(guān)話(huà)題

  百度搜索欄的關(guān)鍵詞是什么?如何判斷?(圖)
  網(wǎng)頁(yè)抓取數據百度百科所謂從哪里獲取更多的信息,獲取的信息本身就是相關(guān)的(關(guān)鍵詞,網(wǎng)站,展示頁(yè))搜索無(wú)外乎就是檢索和分詞了,本身都是分詞的結果,這個(gè)是有一個(gè)平臺用戶(hù)免費提供的。這個(gè)平臺對前期一段時(shí)間展示給用戶(hù)的結果都是毫無(wú)意義的,甚至直接忽略。所以如果沒(méi)有用戶(hù)創(chuàng )造詞匯,可能整個(gè)網(wǎng)站都不會(huì )有太多的詞匯。因為本身存在轉換機制,出現這個(gè)詞匯,和出現那個(gè)詞匯都是前期與搜索引擎有關(guān)的一些關(guān)鍵詞,一旦出現,即使免費創(chuàng )造。
  
  然后又有一些結果展示給用戶(hù)去選擇,這些詞匯不會(huì )有太多的價(jià)值。所以整個(gè)網(wǎng)站也不會(huì )有很多關(guān)鍵詞。大概的機制就是這樣。
  一般來(lái)說(shuō),百度搜索引擎是根據關(guān)鍵詞來(lái)檢索頁(yè)面內容的,那么可以根據下面的一些特征來(lái)檢索一些關(guān)鍵詞:用戶(hù)上傳一個(gè)url時(shí),是否上傳到原生搜索欄,如果上傳原生搜索欄,必須要獲取該url所有權,才能檢索搜索結果。如果沒(méi)有獲取原生搜索欄,那么就沒(méi)有辦法訪(fǎng)問(wèn)原生搜索欄的關(guān)鍵詞。如果上傳原生搜索欄,還上傳了詳細的api,可以獲取頁(yè)面的關(guān)鍵詞。
  
  推薦個(gè)simon_yang系列的博客:/
  用戶(hù)上傳的一個(gè)url,可以抓取每個(gè)獨立鏈接一小段內容,這些特征用戶(hù)可以利用爬蟲(chóng)使用正則匹配去尋找,或者根據url中是否包含關(guān)鍵詞來(lái)判斷。其他的方法應該是類(lèi)似于關(guān)鍵詞的組合(比如按組合來(lái)命名一篇帖子), 查看全部

  百度搜索欄的關(guān)鍵詞是什么?如何判斷?(圖)
  網(wǎng)頁(yè)抓取數據百度百科所謂從哪里獲取更多的信息,獲取的信息本身就是相關(guān)的(關(guān)鍵詞,網(wǎng)站,展示頁(yè))搜索無(wú)外乎就是檢索和分詞了,本身都是分詞的結果,這個(gè)是有一個(gè)平臺用戶(hù)免費提供的。這個(gè)平臺對前期一段時(shí)間展示給用戶(hù)的結果都是毫無(wú)意義的,甚至直接忽略。所以如果沒(méi)有用戶(hù)創(chuàng )造詞匯,可能整個(gè)網(wǎng)站都不會(huì )有太多的詞匯。因為本身存在轉換機制,出現這個(gè)詞匯,和出現那個(gè)詞匯都是前期與搜索引擎有關(guān)的一些關(guān)鍵詞,一旦出現,即使免費創(chuàng )造。
  
  然后又有一些結果展示給用戶(hù)去選擇,這些詞匯不會(huì )有太多的價(jià)值。所以整個(gè)網(wǎng)站也不會(huì )有很多關(guān)鍵詞。大概的機制就是這樣。
  一般來(lái)說(shuō),百度搜索引擎是根據關(guān)鍵詞來(lái)檢索頁(yè)面內容的,那么可以根據下面的一些特征來(lái)檢索一些關(guān)鍵詞:用戶(hù)上傳一個(gè)url時(shí),是否上傳到原生搜索欄,如果上傳原生搜索欄,必須要獲取該url所有權,才能檢索搜索結果。如果沒(méi)有獲取原生搜索欄,那么就沒(méi)有辦法訪(fǎng)問(wèn)原生搜索欄的關(guān)鍵詞。如果上傳原生搜索欄,還上傳了詳細的api,可以獲取頁(yè)面的關(guān)鍵詞。
  
  推薦個(gè)simon_yang系列的博客:/
  用戶(hù)上傳的一個(gè)url,可以抓取每個(gè)獨立鏈接一小段內容,這些特征用戶(hù)可以利用爬蟲(chóng)使用正則匹配去尋找,或者根據url中是否包含關(guān)鍵詞來(lái)判斷。其他的方法應該是類(lèi)似于關(guān)鍵詞的組合(比如按組合來(lái)命名一篇帖子),

把一些好的故事放在機器人小八知識(圖)

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 79 次瀏覽 ? 2022-06-30 10:09 ? 來(lái)自相關(guān)話(huà)題

  把一些好的故事放在機器人小八知識(圖)
  網(wǎng)頁(yè)抓取數據百度百科說(shuō)的是,手機里安裝有搜狗瀏覽器,搜狗瀏覽器的search標簽直接顯示了這個(gè)頁(yè)面的內容,是可以通過(guò)瀏覽器抓取的。通過(guò)機器學(xué)習和深度學(xué)習,通過(guò)每日特征加權和特征提取來(lái)反向,適應搜索用戶(hù)的詞匯偏好和產(chǎn)品偏好的,來(lái)盡可能提高搜索質(zhì)量。
  嘗試了用人工智能來(lái)學(xué)習百度百科的一些方法,結果發(fā)現基本不可行,因為通過(guò)用機器學(xué)習模型去搜索百科詞條是很難積累起對話(huà)系統的,因為搜索即對話(huà),對話(huà)系統不需要產(chǎn)生話(huà)題的。比如用一個(gè)程序員搜索女生,這個(gè)程序員對一個(gè)模糊的美女,清華女孩,北大女孩這三個(gè)詞條都是有自己特定偏好的,如果學(xué)習通過(guò)機器學(xué)習模型來(lái)搜索,即使簡(jiǎn)單來(lái)說(shuō)就是按目標詞條搜索,實(shí)際也可能查出來(lái)一堆。
  那么可能的方法是,需要對話(huà)系統對某一領(lǐng)域進(jìn)行過(guò)一次精確匹配,就像一個(gè)程序員,對清華女孩進(jìn)行一次精確匹配就可以搜索出一堆美女。這個(gè)事情還在研究中。
  
  搜狗百科其實(shí)自己有個(gè)機器人小八呀。把一些好的詞句和故事放在機器人小八知識庫里,小八可以通過(guò)這些文章去查找更多這個(gè)領(lǐng)域的相關(guān)信息。程序員拿到小八信息以后,定向抓取。最開(kāi)始,需要是對應的程序員在搜狗搜索框里輸入關(guān)鍵詞、名字,如果輸入了,搜狗搜索框就會(huì )列出相關(guān)詞條,小八會(huì )過(guò)濾出這些詞條,同時(shí)給出接下來(lái)的文章相關(guān)信息。
  抓取到以后,小八要更新相關(guān)詞條信息。程序員輸入機器人自己的名字,搜狗搜索框自動(dòng)從已經(jīng)產(chǎn)生的文章中找出相關(guān)的詞條列表,其中就包括你對應的詞條。程序員拿到詞條信息以后,要把自己的單獨放在一個(gè)文件夾,通過(guò)搜狗輸入法進(jìn)行搜索。和新聞看新聞一樣,將對應的詞條名放在相應文件夾,搜狗輸入法或者搜狗瀏覽器搜索,相關(guān)的詞條會(huì )返回。機器人小八也是這樣的機制。搜狗用戶(hù):。
  1、百度用戶(hù):
  1、
  
  2、
  3、
  5、
  7、
  8、 查看全部

  把一些好的故事放在機器人小八知識(圖)
  網(wǎng)頁(yè)抓取數據百度百科說(shuō)的是,手機里安裝有搜狗瀏覽器,搜狗瀏覽器的search標簽直接顯示了這個(gè)頁(yè)面的內容,是可以通過(guò)瀏覽器抓取的。通過(guò)機器學(xué)習和深度學(xué)習,通過(guò)每日特征加權和特征提取來(lái)反向,適應搜索用戶(hù)的詞匯偏好和產(chǎn)品偏好的,來(lái)盡可能提高搜索質(zhì)量。
  嘗試了用人工智能來(lái)學(xué)習百度百科的一些方法,結果發(fā)現基本不可行,因為通過(guò)用機器學(xué)習模型去搜索百科詞條是很難積累起對話(huà)系統的,因為搜索即對話(huà),對話(huà)系統不需要產(chǎn)生話(huà)題的。比如用一個(gè)程序員搜索女生,這個(gè)程序員對一個(gè)模糊的美女,清華女孩,北大女孩這三個(gè)詞條都是有自己特定偏好的,如果學(xué)習通過(guò)機器學(xué)習模型來(lái)搜索,即使簡(jiǎn)單來(lái)說(shuō)就是按目標詞條搜索,實(shí)際也可能查出來(lái)一堆。
  那么可能的方法是,需要對話(huà)系統對某一領(lǐng)域進(jìn)行過(guò)一次精確匹配,就像一個(gè)程序員,對清華女孩進(jìn)行一次精確匹配就可以搜索出一堆美女。這個(gè)事情還在研究中。
  
  搜狗百科其實(shí)自己有個(gè)機器人小八呀。把一些好的詞句和故事放在機器人小八知識庫里,小八可以通過(guò)這些文章去查找更多這個(gè)領(lǐng)域的相關(guān)信息。程序員拿到小八信息以后,定向抓取。最開(kāi)始,需要是對應的程序員在搜狗搜索框里輸入關(guān)鍵詞、名字,如果輸入了,搜狗搜索框就會(huì )列出相關(guān)詞條,小八會(huì )過(guò)濾出這些詞條,同時(shí)給出接下來(lái)的文章相關(guān)信息。
  抓取到以后,小八要更新相關(guān)詞條信息。程序員輸入機器人自己的名字,搜狗搜索框自動(dòng)從已經(jīng)產(chǎn)生的文章中找出相關(guān)的詞條列表,其中就包括你對應的詞條。程序員拿到詞條信息以后,要把自己的單獨放在一個(gè)文件夾,通過(guò)搜狗輸入法進(jìn)行搜索。和新聞看新聞一樣,將對應的詞條名放在相應文件夾,搜狗輸入法或者搜狗瀏覽器搜索,相關(guān)的詞條會(huì )返回。機器人小八也是這樣的機制。搜狗用戶(hù):。
  1、百度用戶(hù):
  1、
  
  2、
  3、
  5、
  7、
  8、

網(wǎng)頁(yè)抓取數據百度百科的話(huà),一般這個(gè)詞條名是那些算法

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 64 次瀏覽 ? 2022-06-20 11:01 ? 來(lái)自相關(guān)話(huà)題

  網(wǎng)頁(yè)抓取數據百度百科的話(huà),一般這個(gè)詞條名是那些算法
  網(wǎng)頁(yè)抓取數據百度百科詞條的話(huà),一般這個(gè)詞條名是那些算法根據你上傳的關(guān)鍵詞給你匹配的。例如你要抓取2014年6月14日到6月22日之間購房的人的購房意向,首先從csv里面讀取出來(lái)表明購房意向的記錄,然后把這些購房意向放在一個(gè)excel表里面就可以了。如果是建站的話(huà)有的頁(yè)面會(huì )帶上重定向和反向鏈接,爬蟲(chóng)會(huì )自動(dòng)分析下反向鏈接返回的關(guān)鍵詞。
  javascript的jquery技術(shù)實(shí)現的scrapy框架。原理是基于javascript的簡(jiǎn)單異步方法。
  需要些前端知識,用javascript解析text??梢韵扰廊》慨a(chǎn)網(wǎng)站上的銷(xiāo)售二手房時(shí)可能采用的服務(wù),大致形成你所需要的類(lèi)似頁(yè)面。
  首先你得要有能力。
  別說(shuō)會(huì )javascript了,你就是會(huì )扒字典也能做到。
  看你所需要爬取的意向大小咯,要是熱門(mén)詞,銷(xiāo)售字典可能抓取成本就很高,這東西也就是事后分析手段之一。然后你要有時(shí)間咯,爬蟲(chóng)從事業(yè)單位的話(huà)時(shí)間付出巨大的,如果是建站,一定要找好自己后臺的內容庫,一條條從你爬取的關(guān)鍵詞字典里尋找匹配的字符串,然后做詞性分析,合理轉義、排除惡意詞對等等。當然你也可以專(zhuān)門(mén)做特殊字符,這樣更專(zhuān)業(yè)一些。
  瀏覽器里的javascript代碼吧
  就要看你所抓取的網(wǎng)站了如果是房地產(chǎn)話(huà)基本都是按銷(xiāo)售字典來(lái)抓取要想找熱門(mén)詞字典或者手工爬取也可以如果是汽車(chē)廣告站抓取汽車(chē)的詞根來(lái)爬取 查看全部

  網(wǎng)頁(yè)抓取數據百度百科的話(huà),一般這個(gè)詞條名是那些算法
  網(wǎng)頁(yè)抓取數據百度百科詞條的話(huà),一般這個(gè)詞條名是那些算法根據你上傳的關(guān)鍵詞給你匹配的。例如你要抓取2014年6月14日到6月22日之間購房的人的購房意向,首先從csv里面讀取出來(lái)表明購房意向的記錄,然后把這些購房意向放在一個(gè)excel表里面就可以了。如果是建站的話(huà)有的頁(yè)面會(huì )帶上重定向和反向鏈接,爬蟲(chóng)會(huì )自動(dòng)分析下反向鏈接返回的關(guān)鍵詞。
  javascript的jquery技術(shù)實(shí)現的scrapy框架。原理是基于javascript的簡(jiǎn)單異步方法。
  需要些前端知識,用javascript解析text??梢韵扰廊》慨a(chǎn)網(wǎng)站上的銷(xiāo)售二手房時(shí)可能采用的服務(wù),大致形成你所需要的類(lèi)似頁(yè)面。
  首先你得要有能力。
  別說(shuō)會(huì )javascript了,你就是會(huì )扒字典也能做到。
  看你所需要爬取的意向大小咯,要是熱門(mén)詞,銷(xiāo)售字典可能抓取成本就很高,這東西也就是事后分析手段之一。然后你要有時(shí)間咯,爬蟲(chóng)從事業(yè)單位的話(huà)時(shí)間付出巨大的,如果是建站,一定要找好自己后臺的內容庫,一條條從你爬取的關(guān)鍵詞字典里尋找匹配的字符串,然后做詞性分析,合理轉義、排除惡意詞對等等。當然你也可以專(zhuān)門(mén)做特殊字符,這樣更專(zhuān)業(yè)一些。
  瀏覽器里的javascript代碼吧
  就要看你所抓取的網(wǎng)站了如果是房地產(chǎn)話(huà)基本都是按銷(xiāo)售字典來(lái)抓取要想找熱門(mén)詞字典或者手工爬取也可以如果是汽車(chē)廣告站抓取汽車(chē)的詞根來(lái)爬取

多圖預警?。?!圖解百度背后的搜索引擎

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 108 次瀏覽 ? 2022-06-17 16:46 ? 來(lái)自相關(guān)話(huà)題

  多圖預警?。?!圖解百度背后的搜索引擎
  # 寫(xiě)在前面
  今天準備和盆友們一起學(xué)習下關(guān)于通用搜索引擎的一些技術(shù)點(diǎn)。
  鑒于搜索引擎內容非常多,每一部分都夠寫(xiě)好幾篇文章的所以本文只是拋磚引玉,深入挖掘還得老鐵們親力親為。
  通過(guò)本文你將對通用搜索引擎的基本原理和組成有一個(gè)較為清晰的認識,用心讀完,肯定有所收獲!
  廢話(huà)不說(shuō),各位抓緊上車(chē),沖鴨!
  
  # 初識搜索引擎
  1 搜索引擎分類(lèi)
  搜索引擎根據其使用場(chǎng)景和規模,可以簡(jiǎn)單分為兩大類(lèi):
  通用搜索又稱(chēng)為大搜,諸如谷歌、百度、搜狗、神馬等等都屬于這一類(lèi)。
  
  垂直搜索又稱(chēng)為垂搜,是特定領(lǐng)域的搜索,比如用QQ音樂(lè )搜周杰倫的歌等。
  
  兩類(lèi)搜索引擎雖然數據規模和數據特征不一樣,但都是為了填平用戶(hù)和海量信息之間的鴻溝。
  
  2 搜索和推薦
  搜索和推薦經(jīng)常被相提并論,但是二者存在一些區別和聯(lián)系。
  
  3 搜索引擎評價(jià)標準
  我們每天都和搜索引擎打交道,評價(jià)一個(gè)搜索引擎的好壞可簡(jiǎn)單概括為:精準性、時(shí)效性、響應速度、權威性等。
  換句話(huà)說(shuō),搜索引擎懂得用戶(hù)真正想要找什么,可以快速準確地展示出來(lái),對于一些熱點(diǎn)突發(fā)信息也可以及時(shí)收錄展示,就能很好地博得用戶(hù)。
  這個(gè)目標需要搜索引擎多個(gè)模塊協(xié)作處理,是個(gè)復雜的系統工程,并非易事。
  # 通用搜索引擎的整體概覽
  1 搜索引擎的基本流程
  大白嘗試用樸實(shí)的語(yǔ)言來(lái)整體表達下,通用搜索引擎大致是怎么工作的:
  1. 網(wǎng)絡(luò )蜘蛛爬蟲(chóng)每天不辭辛苦地收錄網(wǎng)頁(yè),然后存儲起來(lái),這樣各個(gè)站點(diǎn)的頁(yè)面就有了一份份鏡像,這個(gè)規模是百億/千億級的。
  
  2. 單純地鏡像也不能直接用,需要加工處理,把一個(gè)個(gè)網(wǎng)頁(yè)進(jìn)行分詞,建立搜索詞和網(wǎng)頁(yè)的對應關(guān)系,這樣用戶(hù)搜索某個(gè)東西時(shí),才會(huì )拿到很多相關(guān)的網(wǎng)頁(yè)。
  
  3. 比如"搜索隱秘的角落"可能會(huì )有100個(gè)相關(guān)網(wǎng)頁(yè)被找到,但是網(wǎng)頁(yè)和檢索詞的關(guān)聯(lián)性肯定有強有弱,因此還需要進(jìn)行網(wǎng)頁(yè)的排序,排序策略有很多,最終把優(yōu)質(zhì)的網(wǎng)頁(yè)排在前面展示給用戶(hù)。
  用戶(hù)看到相關(guān)結果之后,進(jìn)行點(diǎn)擊或者跳過(guò),搜索引擎根據用戶(hù)的相關(guān)動(dòng)作進(jìn)行調整,實(shí)現整個(gè)閉環(huán)過(guò)程。
  4. 為了能更好地理解用戶(hù)的真實(shí)用途,需要進(jìn)行檢索詞的意圖理解、詞條切分、同義詞替換、語(yǔ)法糾錯等處理,再根據這些檢索詞去獲取數據,為用戶(hù)找到心中所想的網(wǎng)頁(yè)。
  比如檢索詞為"老鷹",可能是自然界的老鷹,也可能是NBA的一只球隊:
  2 搜索引擎的基本組成
  我們從整體簡(jiǎn)單看下基本組成以及各個(gè)模塊的主要功能:
  
  接下來(lái),我們將粗淺地介紹幾個(gè)模塊的基本內容和技術(shù)點(diǎn)。
  # 網(wǎng)絡(luò )爬蟲(chóng)模塊簡(jiǎn)介
  網(wǎng)絡(luò )爬蟲(chóng)模塊是通用搜索引擎非常的基礎組件,一般都會(huì )采用分布式爬蟲(chóng)來(lái)實(shí)現,我們來(lái)看看這個(gè)搬運工是如何實(shí)現海量網(wǎng)頁(yè)發(fā)掘的:
  
  網(wǎng)絡(luò )爬蟲(chóng)的基本流程:
  在抓取過(guò)程中會(huì )有多種遍歷策略:深度優(yōu)先遍歷DFS、廣度優(yōu)先遍歷BFS、部分PageRank策略、OPIC在線(xiàn)頁(yè)面重要性計算策略、大站優(yōu)先策略等。
  
  在工程實(shí)踐中需要根據自身情況和搜索引擎特點(diǎn)進(jìn)行選擇某種策略或者多種策略組合。
  網(wǎng)絡(luò )爬蟲(chóng)需要遵循Robots協(xié)議(網(wǎng)絡(luò )爬蟲(chóng)排除標準),這是網(wǎng)絡(luò )爬蟲(chóng)和站點(diǎn)之間的君子協(xié)定,站點(diǎn)通過(guò)協(xié)議告訴網(wǎng)絡(luò )爬蟲(chóng)哪些可以抓哪些不可以。
  網(wǎng)絡(luò )爬蟲(chóng)同時(shí)需要考慮抓取頻率,防止給站點(diǎn)造成過(guò)重負擔,總之,搜索引擎的網(wǎng)絡(luò )爬蟲(chóng)需要是個(gè)謙謙君子。
  # 網(wǎng)頁(yè)內容處理模塊
  爬蟲(chóng)模塊將網(wǎng)頁(yè)內容存儲之后,網(wǎng)頁(yè)內存處理模塊開(kāi)始解析網(wǎng)頁(yè)內容,主要工作包括:數據清洗、網(wǎng)頁(yè)內容分詞、建立正排索引、建立倒排索引等。
  
  數據清洗
  一般來(lái)說(shuō),網(wǎng)頁(yè)中除了具體內容還會(huì )有很多無(wú)關(guān)的東西,比如html標簽、推廣等,這些在實(shí)際搜索引擎中都是無(wú)用的。
  內容處理模塊會(huì )將無(wú)用數據、標簽清洗掉,為后續的分詞做準備。
  2中文分詞
  將清洗完成的內容進(jìn)行分詞提取關(guān)鍵詞,比如一個(gè)網(wǎng)頁(yè)內容有1000字,分詞之后大約有50個(gè)詞,相當于提取了網(wǎng)頁(yè)的主干,并且會(huì )對標題、摘要、正文等不同部分的內容做不同權重處理。
  分詞過(guò)程中會(huì )剔除停用詞、虛詞等,比如"的、得、地"等,從而極力還原網(wǎng)頁(yè)的主干內容。
  我們用在線(xiàn)網(wǎng)頁(yè)分詞工具和真實(shí)網(wǎng)頁(yè)來(lái)模擬下這個(gè)過(guò)程:
  網(wǎng)頁(yè)分詞在線(xiàn)工具:
  抓取網(wǎng)頁(yè):
  可以看到分詞后可以標注詞頻,這些都是后續作為網(wǎng)頁(yè)排序的重要來(lái)源,但是中文是很復雜的,因此分詞算法會(huì )有很多種,常見(jiàn)的包括:
  
  3 正排索引
  假定我們將每個(gè)網(wǎng)頁(yè)進(jìn)行唯一編號docid,經(jīng)過(guò)前面的分詞一個(gè)網(wǎng)頁(yè)將被分成不同權重的多個(gè)實(shí)體詞。
  所謂正排就是根據docid可以拿到屬于該網(wǎng)頁(yè)的所有內容,是一個(gè)符合我們思維的正向過(guò)程,相對而言會(huì )有倒排索引。
  我們以一篇《隱秘的角落》劇情簡(jiǎn)介的頁(yè)面為例,模擬分詞情況,大致如下(本分詞結果純屬腦補,以實(shí)際為準):
  
  4 倒排索引
  假如我們對10000個(gè)網(wǎng)頁(yè)進(jìn)行了分詞,其中包含了一些公共檢索詞:微山湖、智取威虎山、三十而立、隱秘的角落等,因此我們匯總之后將建立檢索詞->網(wǎng)頁(yè)的映射關(guān)系。
  
  那么對于檢索詞"隱秘的角落"出現很多個(gè)網(wǎng)頁(yè),倒排索引就相當于從一個(gè)詞能拉取到多少文章的過(guò)程。
  
  就如同我們提到美食就想到:火鍋、燒烤、烤鴨、炒菜等等,是一個(gè)從點(diǎn)到面的過(guò)程,這種逆向過(guò)程在搜索引擎中非常重要。
  
  5 本章小結
  內容處理模塊將抓取到的網(wǎng)頁(yè)進(jìn)行清洗、提前新URL給爬蟲(chóng)模塊、內容分詞、建立正排索引和倒排索引,是個(gè)承上啟下的中間環(huán)節。
  特別地,提一下正排索引和倒排索引,字面上并不直觀(guān),其實(shí)道理并不難理解:
  正排索引:具體到一篇網(wǎng)頁(yè)有多少關(guān)鍵詞,特指屬于該網(wǎng)頁(yè)本身的內容集合,是一個(gè)網(wǎng)頁(yè)。
  倒排索引:一個(gè)檢索關(guān)鍵詞對應多少相關(guān)聯(lián)的網(wǎng)頁(yè),也就是可備選網(wǎng)頁(yè)集合,是一類(lèi)網(wǎng)頁(yè)。
  # 網(wǎng)頁(yè)排序和用戶(hù)模塊
  1 網(wǎng)頁(yè)排序的必要性
  由于存儲的網(wǎng)頁(yè)是百千億級的,那么一個(gè)檢索詞可能對于幾萬(wàn)、幾十萬(wàn)甚至更多相關(guān)的網(wǎng)頁(yè)。
  網(wǎng)頁(yè)排序需要綜合考慮:相關(guān)性、權威性、時(shí)效性、豐富度等多個(gè)方面。
  搜索引擎要展示優(yōu)質(zhì)的強關(guān)聯(lián)網(wǎng)頁(yè)給用戶(hù),并且放在靠前的位置,否則搜索效果將會(huì )很差,用戶(hù)并不買(mǎi)賬。
  事實(shí)上也是如此,比如搜索引擎返回了10頁(yè)結果,每頁(yè)10條,總結100條,一般用戶(hù)點(diǎn)擊到1-3頁(yè)之后的網(wǎng)頁(yè)大概率就不再點(diǎn)擊了,因此排序的頭部?jì)热輰τ谒阉鹘Y果至關(guān)重要。
  我們仍然以檢索"隱秘的角落"為例,百度共計返回了10頁(yè),其中1-2頁(yè)的內容是強關(guān)聯(lián)的,是個(gè)比較不錯的檢索結果了:
  2 網(wǎng)頁(yè)排序的常見(jiàn)策略
  網(wǎng)頁(yè)排序策略是個(gè)不斷優(yōu)化和提升的演進(jìn)過(guò)程,我們來(lái)一起看下都有哪些排序策略:
  這是早期搜索引擎常采取的方法,相對簡(jiǎn)單但是效果還不錯。
  簡(jiǎn)單來(lái)說(shuō)就是根據網(wǎng)頁(yè)中關(guān)鍵詞的出現頻率以及出現位置作為排序依據,因為普遍認為:檢索詞出現次數越多、位置越重要,網(wǎng)頁(yè)的關(guān)聯(lián)性越好,排名越靠前。
  詞頻并不是單純的統計次數,需要有全局觀(guān)念來(lái)判斷關(guān)鍵詞的相對次數,這就是我們要說(shuō)的TF-IDF逆文檔頻率,來(lái)看下百度百科的解釋?zhuān)?br />   TF-IDF (term frequency–inverse document frequency)是一種用于信息檢索與數據挖掘的常用加權技術(shù)。
  TF是詞頻(Term Frequency),IDF是逆文本頻率指數(Inverse Document Frequency)。
  TF-IDF是一種統計方法,用以評估一字詞對于一個(gè)文件集或一個(gè)語(yǔ)料庫中的其中一份文件的重要程度。
  字詞的重要性隨著(zhù)它在文件中出現的次數成正比增加,但同時(shí)會(huì )隨著(zhù)它在語(yǔ)料庫中出現的頻率成反比下降。
  舉個(gè)栗子:
  網(wǎng)頁(yè)中"吃飯"這個(gè)詞出現了10次,雖然次數很多,但是"吃飯"這個(gè)詞過(guò)于普通,因為在很多其他網(wǎng)頁(yè)都出現了,因此"吃飯"這個(gè)檢索詞的重要性就相對下降了。
  鏈接分析排序認為:網(wǎng)頁(yè)被別的網(wǎng)頁(yè)引用的次數越多或者越權威的網(wǎng)頁(yè)引用,說(shuō)明該網(wǎng)頁(yè)質(zhì)量越高。
  
  基于鏈接分析的排序算法有很多種,其中最有名的PageRank算法被谷歌廣泛采用,是其核心排序算法。
  來(lái)看下PageRank算法的基本思想:
  網(wǎng)頁(yè)的重要程度用PageRank值來(lái)衡量,網(wǎng)頁(yè)的PageRank值體現在兩個(gè)方面:引用該網(wǎng)頁(yè)其他網(wǎng)頁(yè)個(gè)數和引用該頁(yè)面的其他頁(yè)面的重要程度。
  假定一個(gè)網(wǎng)頁(yè)A被另一個(gè)網(wǎng)頁(yè)B引用,網(wǎng)頁(yè)B就將PageRank值分配給網(wǎng)頁(yè)B所引用的網(wǎng)頁(yè),所以越多引用網(wǎng)頁(yè)A則其PageRank值也就越高。
  另外網(wǎng)頁(yè)B越重要,它所引用的頁(yè)面能分配到的PageRank值就越多,網(wǎng)頁(yè)A的PageRank值也就越高越重要。
  其實(shí)這個(gè)算法說(shuō)起來(lái)非常簡(jiǎn)單:比如寫(xiě)公眾號,有大V轉載就相當于引用了,越多其他公眾號轉載,說(shuō)明你的公眾號內容質(zhì)量越高。
  
  PageRank算法也存在一定的問(wèn)題,比如對新頁(yè)面不友好,新頁(yè)面暫時(shí)沒(méi)有被大量引用,因此PageRank值很低,并且PageRank算法強調網(wǎng)頁(yè)之間的引用關(guān)系,對網(wǎng)頁(yè)本身的主題內容可能重視程度不夠,也就是所謂的主題漂流問(wèn)題。
  與PageRank算法類(lèi)似于的還有一些其他算法來(lái)彌補主題關(guān)聯(lián)問(wèn)題,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,本文就不再展開(kāi)了。
  3 網(wǎng)頁(yè)反作弊和SEO
  搜索引擎也存在二八原則,頭部的網(wǎng)頁(yè)占據了大量的點(diǎn)擊流量,也意味著(zhù)巨大的商業(yè)價(jià)值。
  這里就要提到SEO,先看下百度百科對SEO的定義:
  搜索引擎優(yōu)化又稱(chēng)為SEO,即Search Engine Optimization,它是一種通過(guò)分析搜索引擎的排名規律,了解各種搜索引擎怎樣進(jìn)行搜索、怎樣抓取互聯(lián)網(wǎng)頁(yè)面、怎樣確定特定關(guān)鍵詞的搜索結果排名的技術(shù)。
  搜索引擎采用易于被搜索引用的手段,對網(wǎng)站進(jìn)行有針對性的優(yōu)化,提高網(wǎng)站在搜索引擎中的自然排名,吸引更多的用戶(hù)訪(fǎng)問(wèn)網(wǎng)站,提高網(wǎng)站的訪(fǎng)問(wèn)量,提高網(wǎng)站的銷(xiāo)售能力和宣傳能力,從而提升網(wǎng)站的品牌效應。
  道高一尺魔高一丈,只有魔法可以打敗魔法。
  
  網(wǎng)頁(yè)反作弊是搜索引擎需要解決的重要問(wèn)題,常見(jiàn)的有內容反作弊、鏈接分析反作弊等。
  
  比如在網(wǎng)頁(yè)內容中增加大量重復熱詞、在標題/摘要等重要位置增加熱度詞、html標簽作弊等等,比如在一篇主題無(wú)聯(lián)系的網(wǎng)頁(yè)中增加大量"隱秘的角落"熱度詞、增加 等強調性html標簽。
  構建大量相互引用的頁(yè)面集合、購買(mǎi)高排名友鏈等等,就是搞很多可以指向自己網(wǎng)頁(yè)的其他網(wǎng)頁(yè),從而構成一個(gè)作弊引用鏈條。
  4 用戶(hù)搜索意圖理解
  用戶(hù)模塊直接和用戶(hù)交互,接收用戶(hù)的搜索詞,準確理解用戶(hù)的搜索意圖非常重要。
  實(shí)際上用戶(hù)的輸入是五花八門(mén)的,偏口語(yǔ)化,甚至有拼寫(xiě)錯誤、并且不同背景的用戶(hù)對同一個(gè)檢索詞的需求不一樣、無(wú)爭議檢索詞的使用目的也不一樣。
  
  這個(gè)檢索詞算是比較優(yōu)質(zhì)了,但是仍然不明確是想找飯店去吃宮保雞???還是想找宮保雞丁的菜譜?還是想查宮保雞丁的歷史起源?還是宮保雞丁的相關(guān)評價(jià)?所以會(huì )出現很多情況。
  口語(yǔ)化檢索詞并且存在錯別字,其中可能涉及詞語(yǔ)糾錯、同義詞轉換等等,才能找到準確的檢索詞,進(jìn)而明確檢索意圖,召回網(wǎng)頁(yè)。
  # 全文總結
  搜索引擎是個(gè)非常復雜的系統工程,涉及非常多的算法和工程實(shí)現,本文旨在和大家一起簡(jiǎn)單梳理搜索引擎的基本組成和運行原理,算是科普文章了。
  搜索引擎中每一個(gè)模塊做好都不容易,也是互聯(lián)網(wǎng)產(chǎn)品中技術(shù)含金量的典型代表,深挖一個(gè)模塊都受益匪淺。
  <p>?往期推薦?
  <br mpa-from-tpl="t" />握草!查詢(xún)提升200倍,它難道想干掉傳統數據庫?公司多扣了員工15元,倒賠了3萬(wàn)!<br />jar包又沖突了?如何快速確定與哪個(gè)jar包沖突?<br />?
  點(diǎn)擊閱讀原文,獲得編程視頻資料!?</p> 查看全部

  多圖預警?。?!圖解百度背后的搜索引擎
  # 寫(xiě)在前面
  今天準備和盆友們一起學(xué)習下關(guān)于通用搜索引擎的一些技術(shù)點(diǎn)。
  鑒于搜索引擎內容非常多,每一部分都夠寫(xiě)好幾篇文章的所以本文只是拋磚引玉,深入挖掘還得老鐵們親力親為。
  通過(guò)本文你將對通用搜索引擎的基本原理和組成有一個(gè)較為清晰的認識,用心讀完,肯定有所收獲!
  廢話(huà)不說(shuō),各位抓緊上車(chē),沖鴨!
  
  # 初識搜索引擎
  1 搜索引擎分類(lèi)
  搜索引擎根據其使用場(chǎng)景和規模,可以簡(jiǎn)單分為兩大類(lèi):
  通用搜索又稱(chēng)為大搜,諸如谷歌、百度、搜狗、神馬等等都屬于這一類(lèi)。
  
  垂直搜索又稱(chēng)為垂搜,是特定領(lǐng)域的搜索,比如用QQ音樂(lè )搜周杰倫的歌等。
  
  兩類(lèi)搜索引擎雖然數據規模和數據特征不一樣,但都是為了填平用戶(hù)和海量信息之間的鴻溝。
  
  2 搜索和推薦
  搜索和推薦經(jīng)常被相提并論,但是二者存在一些區別和聯(lián)系。
  
  3 搜索引擎評價(jià)標準
  我們每天都和搜索引擎打交道,評價(jià)一個(gè)搜索引擎的好壞可簡(jiǎn)單概括為:精準性、時(shí)效性、響應速度、權威性等。
  換句話(huà)說(shuō),搜索引擎懂得用戶(hù)真正想要找什么,可以快速準確地展示出來(lái),對于一些熱點(diǎn)突發(fā)信息也可以及時(shí)收錄展示,就能很好地博得用戶(hù)。
  這個(gè)目標需要搜索引擎多個(gè)模塊協(xié)作處理,是個(gè)復雜的系統工程,并非易事。
  # 通用搜索引擎的整體概覽
  1 搜索引擎的基本流程
  大白嘗試用樸實(shí)的語(yǔ)言來(lái)整體表達下,通用搜索引擎大致是怎么工作的:
  1. 網(wǎng)絡(luò )蜘蛛爬蟲(chóng)每天不辭辛苦地收錄網(wǎng)頁(yè),然后存儲起來(lái),這樣各個(gè)站點(diǎn)的頁(yè)面就有了一份份鏡像,這個(gè)規模是百億/千億級的。
  
  2. 單純地鏡像也不能直接用,需要加工處理,把一個(gè)個(gè)網(wǎng)頁(yè)進(jìn)行分詞,建立搜索詞和網(wǎng)頁(yè)的對應關(guān)系,這樣用戶(hù)搜索某個(gè)東西時(shí),才會(huì )拿到很多相關(guān)的網(wǎng)頁(yè)。
  
  3. 比如"搜索隱秘的角落"可能會(huì )有100個(gè)相關(guān)網(wǎng)頁(yè)被找到,但是網(wǎng)頁(yè)和檢索詞的關(guān)聯(lián)性肯定有強有弱,因此還需要進(jìn)行網(wǎng)頁(yè)的排序,排序策略有很多,最終把優(yōu)質(zhì)的網(wǎng)頁(yè)排在前面展示給用戶(hù)。
  用戶(hù)看到相關(guān)結果之后,進(jìn)行點(diǎn)擊或者跳過(guò),搜索引擎根據用戶(hù)的相關(guān)動(dòng)作進(jìn)行調整,實(shí)現整個(gè)閉環(huán)過(guò)程。
  4. 為了能更好地理解用戶(hù)的真實(shí)用途,需要進(jìn)行檢索詞的意圖理解、詞條切分、同義詞替換、語(yǔ)法糾錯等處理,再根據這些檢索詞去獲取數據,為用戶(hù)找到心中所想的網(wǎng)頁(yè)。
  比如檢索詞為"老鷹",可能是自然界的老鷹,也可能是NBA的一只球隊:
  2 搜索引擎的基本組成
  我們從整體簡(jiǎn)單看下基本組成以及各個(gè)模塊的主要功能:
  
  接下來(lái),我們將粗淺地介紹幾個(gè)模塊的基本內容和技術(shù)點(diǎn)。
  # 網(wǎng)絡(luò )爬蟲(chóng)模塊簡(jiǎn)介
  網(wǎng)絡(luò )爬蟲(chóng)模塊是通用搜索引擎非常的基礎組件,一般都會(huì )采用分布式爬蟲(chóng)來(lái)實(shí)現,我們來(lái)看看這個(gè)搬運工是如何實(shí)現海量網(wǎng)頁(yè)發(fā)掘的:
  
  網(wǎng)絡(luò )爬蟲(chóng)的基本流程:
  在抓取過(guò)程中會(huì )有多種遍歷策略:深度優(yōu)先遍歷DFS、廣度優(yōu)先遍歷BFS、部分PageRank策略、OPIC在線(xiàn)頁(yè)面重要性計算策略、大站優(yōu)先策略等。
  
  在工程實(shí)踐中需要根據自身情況和搜索引擎特點(diǎn)進(jìn)行選擇某種策略或者多種策略組合。
  網(wǎng)絡(luò )爬蟲(chóng)需要遵循Robots協(xié)議(網(wǎng)絡(luò )爬蟲(chóng)排除標準),這是網(wǎng)絡(luò )爬蟲(chóng)和站點(diǎn)之間的君子協(xié)定,站點(diǎn)通過(guò)協(xié)議告訴網(wǎng)絡(luò )爬蟲(chóng)哪些可以抓哪些不可以。
  網(wǎng)絡(luò )爬蟲(chóng)同時(shí)需要考慮抓取頻率,防止給站點(diǎn)造成過(guò)重負擔,總之,搜索引擎的網(wǎng)絡(luò )爬蟲(chóng)需要是個(gè)謙謙君子。
  # 網(wǎng)頁(yè)內容處理模塊
  爬蟲(chóng)模塊將網(wǎng)頁(yè)內容存儲之后,網(wǎng)頁(yè)內存處理模塊開(kāi)始解析網(wǎng)頁(yè)內容,主要工作包括:數據清洗、網(wǎng)頁(yè)內容分詞、建立正排索引、建立倒排索引等。
  
  數據清洗
  一般來(lái)說(shuō),網(wǎng)頁(yè)中除了具體內容還會(huì )有很多無(wú)關(guān)的東西,比如html標簽、推廣等,這些在實(shí)際搜索引擎中都是無(wú)用的。
  內容處理模塊會(huì )將無(wú)用數據、標簽清洗掉,為后續的分詞做準備。
  2中文分詞
  將清洗完成的內容進(jìn)行分詞提取關(guān)鍵詞,比如一個(gè)網(wǎng)頁(yè)內容有1000字,分詞之后大約有50個(gè)詞,相當于提取了網(wǎng)頁(yè)的主干,并且會(huì )對標題、摘要、正文等不同部分的內容做不同權重處理。
  分詞過(guò)程中會(huì )剔除停用詞、虛詞等,比如"的、得、地"等,從而極力還原網(wǎng)頁(yè)的主干內容。
  我們用在線(xiàn)網(wǎng)頁(yè)分詞工具和真實(shí)網(wǎng)頁(yè)來(lái)模擬下這個(gè)過(guò)程:
  網(wǎng)頁(yè)分詞在線(xiàn)工具:
  抓取網(wǎng)頁(yè):
  可以看到分詞后可以標注詞頻,這些都是后續作為網(wǎng)頁(yè)排序的重要來(lái)源,但是中文是很復雜的,因此分詞算法會(huì )有很多種,常見(jiàn)的包括:
  
  3 正排索引
  假定我們將每個(gè)網(wǎng)頁(yè)進(jìn)行唯一編號docid,經(jīng)過(guò)前面的分詞一個(gè)網(wǎng)頁(yè)將被分成不同權重的多個(gè)實(shí)體詞。
  所謂正排就是根據docid可以拿到屬于該網(wǎng)頁(yè)的所有內容,是一個(gè)符合我們思維的正向過(guò)程,相對而言會(huì )有倒排索引。
  我們以一篇《隱秘的角落》劇情簡(jiǎn)介的頁(yè)面為例,模擬分詞情況,大致如下(本分詞結果純屬腦補,以實(shí)際為準):
  
  4 倒排索引
  假如我們對10000個(gè)網(wǎng)頁(yè)進(jìn)行了分詞,其中包含了一些公共檢索詞:微山湖、智取威虎山、三十而立、隱秘的角落等,因此我們匯總之后將建立檢索詞->網(wǎng)頁(yè)的映射關(guān)系。
  
  那么對于檢索詞"隱秘的角落"出現很多個(gè)網(wǎng)頁(yè),倒排索引就相當于從一個(gè)詞能拉取到多少文章的過(guò)程。
  
  就如同我們提到美食就想到:火鍋、燒烤、烤鴨、炒菜等等,是一個(gè)從點(diǎn)到面的過(guò)程,這種逆向過(guò)程在搜索引擎中非常重要。
  
  5 本章小結
  內容處理模塊將抓取到的網(wǎng)頁(yè)進(jìn)行清洗、提前新URL給爬蟲(chóng)模塊、內容分詞、建立正排索引和倒排索引,是個(gè)承上啟下的中間環(huán)節。
  特別地,提一下正排索引和倒排索引,字面上并不直觀(guān),其實(shí)道理并不難理解:
  正排索引:具體到一篇網(wǎng)頁(yè)有多少關(guān)鍵詞,特指屬于該網(wǎng)頁(yè)本身的內容集合,是一個(gè)網(wǎng)頁(yè)。
  倒排索引:一個(gè)檢索關(guān)鍵詞對應多少相關(guān)聯(lián)的網(wǎng)頁(yè),也就是可備選網(wǎng)頁(yè)集合,是一類(lèi)網(wǎng)頁(yè)。
  # 網(wǎng)頁(yè)排序和用戶(hù)模塊
  1 網(wǎng)頁(yè)排序的必要性
  由于存儲的網(wǎng)頁(yè)是百千億級的,那么一個(gè)檢索詞可能對于幾萬(wàn)、幾十萬(wàn)甚至更多相關(guān)的網(wǎng)頁(yè)。
  網(wǎng)頁(yè)排序需要綜合考慮:相關(guān)性、權威性、時(shí)效性、豐富度等多個(gè)方面。
  搜索引擎要展示優(yōu)質(zhì)的強關(guān)聯(lián)網(wǎng)頁(yè)給用戶(hù),并且放在靠前的位置,否則搜索效果將會(huì )很差,用戶(hù)并不買(mǎi)賬。
  事實(shí)上也是如此,比如搜索引擎返回了10頁(yè)結果,每頁(yè)10條,總結100條,一般用戶(hù)點(diǎn)擊到1-3頁(yè)之后的網(wǎng)頁(yè)大概率就不再點(diǎn)擊了,因此排序的頭部?jì)热輰τ谒阉鹘Y果至關(guān)重要。
  我們仍然以檢索"隱秘的角落"為例,百度共計返回了10頁(yè),其中1-2頁(yè)的內容是強關(guān)聯(lián)的,是個(gè)比較不錯的檢索結果了:
  2 網(wǎng)頁(yè)排序的常見(jiàn)策略
  網(wǎng)頁(yè)排序策略是個(gè)不斷優(yōu)化和提升的演進(jìn)過(guò)程,我們來(lái)一起看下都有哪些排序策略:
  這是早期搜索引擎常采取的方法,相對簡(jiǎn)單但是效果還不錯。
  簡(jiǎn)單來(lái)說(shuō)就是根據網(wǎng)頁(yè)中關(guān)鍵詞的出現頻率以及出現位置作為排序依據,因為普遍認為:檢索詞出現次數越多、位置越重要,網(wǎng)頁(yè)的關(guān)聯(lián)性越好,排名越靠前。
  詞頻并不是單純的統計次數,需要有全局觀(guān)念來(lái)判斷關(guān)鍵詞的相對次數,這就是我們要說(shuō)的TF-IDF逆文檔頻率,來(lái)看下百度百科的解釋?zhuān)?br />   TF-IDF (term frequency–inverse document frequency)是一種用于信息檢索與數據挖掘的常用加權技術(shù)。
  TF是詞頻(Term Frequency),IDF是逆文本頻率指數(Inverse Document Frequency)。
  TF-IDF是一種統計方法,用以評估一字詞對于一個(gè)文件集或一個(gè)語(yǔ)料庫中的其中一份文件的重要程度。
  字詞的重要性隨著(zhù)它在文件中出現的次數成正比增加,但同時(shí)會(huì )隨著(zhù)它在語(yǔ)料庫中出現的頻率成反比下降。
  舉個(gè)栗子:
  網(wǎng)頁(yè)中"吃飯"這個(gè)詞出現了10次,雖然次數很多,但是"吃飯"這個(gè)詞過(guò)于普通,因為在很多其他網(wǎng)頁(yè)都出現了,因此"吃飯"這個(gè)檢索詞的重要性就相對下降了。
  鏈接分析排序認為:網(wǎng)頁(yè)被別的網(wǎng)頁(yè)引用的次數越多或者越權威的網(wǎng)頁(yè)引用,說(shuō)明該網(wǎng)頁(yè)質(zhì)量越高。
  
  基于鏈接分析的排序算法有很多種,其中最有名的PageRank算法被谷歌廣泛采用,是其核心排序算法。
  來(lái)看下PageRank算法的基本思想:
  網(wǎng)頁(yè)的重要程度用PageRank值來(lái)衡量,網(wǎng)頁(yè)的PageRank值體現在兩個(gè)方面:引用該網(wǎng)頁(yè)其他網(wǎng)頁(yè)個(gè)數和引用該頁(yè)面的其他頁(yè)面的重要程度。
  假定一個(gè)網(wǎng)頁(yè)A被另一個(gè)網(wǎng)頁(yè)B引用,網(wǎng)頁(yè)B就將PageRank值分配給網(wǎng)頁(yè)B所引用的網(wǎng)頁(yè),所以越多引用網(wǎng)頁(yè)A則其PageRank值也就越高。
  另外網(wǎng)頁(yè)B越重要,它所引用的頁(yè)面能分配到的PageRank值就越多,網(wǎng)頁(yè)A的PageRank值也就越高越重要。
  其實(shí)這個(gè)算法說(shuō)起來(lái)非常簡(jiǎn)單:比如寫(xiě)公眾號,有大V轉載就相當于引用了,越多其他公眾號轉載,說(shuō)明你的公眾號內容質(zhì)量越高。
  
  PageRank算法也存在一定的問(wèn)題,比如對新頁(yè)面不友好,新頁(yè)面暫時(shí)沒(méi)有被大量引用,因此PageRank值很低,并且PageRank算法強調網(wǎng)頁(yè)之間的引用關(guān)系,對網(wǎng)頁(yè)本身的主題內容可能重視程度不夠,也就是所謂的主題漂流問(wèn)題。
  與PageRank算法類(lèi)似于的還有一些其他算法來(lái)彌補主題關(guān)聯(lián)問(wèn)題,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,本文就不再展開(kāi)了。
  3 網(wǎng)頁(yè)反作弊和SEO
  搜索引擎也存在二八原則,頭部的網(wǎng)頁(yè)占據了大量的點(diǎn)擊流量,也意味著(zhù)巨大的商業(yè)價(jià)值。
  這里就要提到SEO,先看下百度百科對SEO的定義:
  搜索引擎優(yōu)化又稱(chēng)為SEO,即Search Engine Optimization,它是一種通過(guò)分析搜索引擎的排名規律,了解各種搜索引擎怎樣進(jìn)行搜索、怎樣抓取互聯(lián)網(wǎng)頁(yè)面、怎樣確定特定關(guān)鍵詞的搜索結果排名的技術(shù)。
  搜索引擎采用易于被搜索引用的手段,對網(wǎng)站進(jìn)行有針對性的優(yōu)化,提高網(wǎng)站在搜索引擎中的自然排名,吸引更多的用戶(hù)訪(fǎng)問(wèn)網(wǎng)站,提高網(wǎng)站的訪(fǎng)問(wèn)量,提高網(wǎng)站的銷(xiāo)售能力和宣傳能力,從而提升網(wǎng)站的品牌效應。
  道高一尺魔高一丈,只有魔法可以打敗魔法。
  
  網(wǎng)頁(yè)反作弊是搜索引擎需要解決的重要問(wèn)題,常見(jiàn)的有內容反作弊、鏈接分析反作弊等。
  
  比如在網(wǎng)頁(yè)內容中增加大量重復熱詞、在標題/摘要等重要位置增加熱度詞、html標簽作弊等等,比如在一篇主題無(wú)聯(lián)系的網(wǎng)頁(yè)中增加大量"隱秘的角落"熱度詞、增加 等強調性html標簽。
  構建大量相互引用的頁(yè)面集合、購買(mǎi)高排名友鏈等等,就是搞很多可以指向自己網(wǎng)頁(yè)的其他網(wǎng)頁(yè),從而構成一個(gè)作弊引用鏈條。
  4 用戶(hù)搜索意圖理解
  用戶(hù)模塊直接和用戶(hù)交互,接收用戶(hù)的搜索詞,準確理解用戶(hù)的搜索意圖非常重要。
  實(shí)際上用戶(hù)的輸入是五花八門(mén)的,偏口語(yǔ)化,甚至有拼寫(xiě)錯誤、并且不同背景的用戶(hù)對同一個(gè)檢索詞的需求不一樣、無(wú)爭議檢索詞的使用目的也不一樣。
  
  這個(gè)檢索詞算是比較優(yōu)質(zhì)了,但是仍然不明確是想找飯店去吃宮保雞???還是想找宮保雞丁的菜譜?還是想查宮保雞丁的歷史起源?還是宮保雞丁的相關(guān)評價(jià)?所以會(huì )出現很多情況。
  口語(yǔ)化檢索詞并且存在錯別字,其中可能涉及詞語(yǔ)糾錯、同義詞轉換等等,才能找到準確的檢索詞,進(jìn)而明確檢索意圖,召回網(wǎng)頁(yè)。
  # 全文總結
  搜索引擎是個(gè)非常復雜的系統工程,涉及非常多的算法和工程實(shí)現,本文旨在和大家一起簡(jiǎn)單梳理搜索引擎的基本組成和運行原理,算是科普文章了。
  搜索引擎中每一個(gè)模塊做好都不容易,也是互聯(lián)網(wǎng)產(chǎn)品中技術(shù)含金量的典型代表,深挖一個(gè)模塊都受益匪淺。
  <p>?往期推薦?
  <br mpa-from-tpl="t" />握草!查詢(xún)提升200倍,它難道想干掉傳統數據庫?公司多扣了員工15元,倒賠了3萬(wàn)!<br />jar包又沖突了?如何快速確定與哪個(gè)jar包沖突?<br />?
  點(diǎn)擊閱讀原文,獲得編程視頻資料!?</p>

圖解 | 通用搜索引擎背后的技術(shù)點(diǎn)

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 82 次瀏覽 ? 2022-06-17 16:45 ? 來(lái)自相關(guān)話(huà)題

  圖解 | 通用搜索引擎背后的技術(shù)點(diǎn)
  
  
  來(lái)源 |后端技術(shù)指南針頭圖 | 圖蟲(chóng)
  
  寫(xiě)在前面
  今天準備和盆友們一起學(xué)習下關(guān)于通用搜索引擎的一些技術(shù)點(diǎn)。
  鑒于搜索引擎內容非常多,每一部分都夠寫(xiě)好幾篇文章的所以本文只是拋磚引玉,深入挖掘還得老鐵們親力親為。
  通過(guò)本文你將對通用搜索引擎的基本原理和組成有一個(gè)較為清晰的認識,用心讀完,肯定有所收獲!
  廢話(huà)不說(shuō),各位抓緊上車(chē),沖鴨!
  
  初識搜索引擎
  2.1 搜索引擎分類(lèi)
  搜索引擎根據其使用場(chǎng)景和規模,可以簡(jiǎn)單分為兩大類(lèi):
  通用搜索又稱(chēng)為大搜,諸如谷歌、百度、搜狗、神馬等等都屬于這一類(lèi)。
  
  垂直搜索又稱(chēng)為垂搜,是特定領(lǐng)域的搜索,比如用QQ音樂(lè )搜周杰倫的歌等。
  
  兩類(lèi)搜索引擎雖然數據規模和數據特征不一樣,但都是為了填平用戶(hù)和海量信息之間的鴻溝。
  
  2.2 搜索和推薦
  搜索和推薦經(jīng)常被相提并論,但是二者存在一些區別和聯(lián)系。
  
  2.3 搜索引擎評價(jià)標準
  我們每天都和搜索引擎打交道,評價(jià)一個(gè)搜索引擎的好壞可簡(jiǎn)單概括為:精準性、時(shí)效性、響應速度、權威性等。
  換句話(huà)說(shuō),搜索引擎懂得用戶(hù)真正想要找什么,可以快速準確地展示出來(lái),對于一些熱點(diǎn)突發(fā)信息也可以及時(shí)收錄展示,就能很好地博得用戶(hù)。
  這個(gè)目標需要搜索引擎多個(gè)模塊協(xié)作處理,是個(gè)復雜的系統工程,并非易事。
  
  通用搜索引擎的整體概覽
  3.1 搜索引擎的基本流程
  大白嘗試用樸實(shí)的語(yǔ)言來(lái)整體表達下,通用搜索引擎大致是怎么工作的:
  1. 網(wǎng)絡(luò )蜘蛛爬蟲(chóng)每天不辭辛苦地收錄網(wǎng)頁(yè),然后存儲起來(lái),這樣各個(gè)站點(diǎn)的頁(yè)面就有了一份份鏡像,這個(gè)規模是百億/千億級的。
  
  2. 單純地鏡像也不能直接用,需要加工處理,把一個(gè)個(gè)網(wǎng)頁(yè)進(jìn)行分詞,建立搜索詞和網(wǎng)頁(yè)的對應關(guān)系,這樣用戶(hù)搜索某個(gè)東西時(shí),才會(huì )拿到很多相關(guān)的網(wǎng)頁(yè)。
  
  3. 比如"搜索隱秘的角落"可能會(huì )有100個(gè)相關(guān)網(wǎng)頁(yè)被找到,但是網(wǎng)頁(yè)和檢索詞的關(guān)聯(lián)性肯定有強有弱,因此還需要進(jìn)行網(wǎng)頁(yè)的排序,排序策略有很多,最終把優(yōu)質(zhì)的網(wǎng)頁(yè)排在前面展示給用戶(hù)。
  用戶(hù)看到相關(guān)結果之后,進(jìn)行點(diǎn)擊或者跳過(guò),搜索引擎根據用戶(hù)的相關(guān)動(dòng)作進(jìn)行調整,實(shí)現整個(gè)閉環(huán)過(guò)程。
  4. 為了能更好地理解用戶(hù)的真實(shí)用途,需要進(jìn)行檢索詞的意圖理解、詞條切分、同義詞替換、語(yǔ)法糾錯等處理,再根據這些檢索詞去獲取數據,為用戶(hù)找到心中所想的網(wǎng)頁(yè)。
  比如檢索詞為"老鷹",可能是自然界的老鷹,也可能是NBA的一只球隊:
  3.2 搜索引擎的基本組成
  我們從整體簡(jiǎn)單看下基本組成以及各個(gè)模塊的主要功能:
  
  接下來(lái),我們將粗淺地介紹幾個(gè)模塊的基本內容和技術(shù)點(diǎn)。
  
  網(wǎng)絡(luò )爬蟲(chóng)模塊簡(jiǎn)介
  網(wǎng)絡(luò )爬蟲(chóng)模塊是通用搜索引擎非常的基礎組件,一般都會(huì )采用分布式爬蟲(chóng)來(lái)實(shí)現,我們來(lái)看看這個(gè)搬運工是如何實(shí)現海量網(wǎng)頁(yè)發(fā)掘的:
  
  網(wǎng)絡(luò )爬蟲(chóng)的基本流程:
  在抓取過(guò)程中會(huì )有多種遍歷策略:深度優(yōu)先遍歷DFS、廣度優(yōu)先遍歷BFS、部分PageRank策略、OPIC在線(xiàn)頁(yè)面重要性計算策略、大站優(yōu)先策略等。
  
  在工程實(shí)踐中需要根據自身情況和搜索引擎特點(diǎn)進(jìn)行選擇某種策略或者多種策略組合。
  網(wǎng)絡(luò )爬蟲(chóng)需要遵循Robots協(xié)議(網(wǎng)絡(luò )爬蟲(chóng)排除標準),這是網(wǎng)絡(luò )爬蟲(chóng)和站點(diǎn)之間的君子協(xié)定,站點(diǎn)通過(guò)協(xié)議告訴網(wǎng)絡(luò )爬蟲(chóng)哪些可以抓哪些不可以。
  網(wǎng)絡(luò )爬蟲(chóng)同時(shí)需要考慮抓取頻率,防止給站點(diǎn)造成過(guò)重負擔,總之,搜索引擎的網(wǎng)絡(luò )爬蟲(chóng)需要是個(gè)謙謙君子。
  
  網(wǎng)頁(yè)內容處理模塊
  爬蟲(chóng)模塊將網(wǎng)頁(yè)內容存儲之后,網(wǎng)頁(yè)內存處理模塊開(kāi)始解析網(wǎng)頁(yè)內容,主要工作包括:數據清洗、網(wǎng)頁(yè)內容分詞、建立正排索引、建立倒排索引等。
  
  5.1 數據清洗
  一般來(lái)說(shuō),網(wǎng)頁(yè)中除了具體內容還會(huì )有很多無(wú)關(guān)的東西,比如html標簽、推廣等,這些在實(shí)際搜索引擎中都是無(wú)用的。
  內容處理模塊會(huì )將無(wú)用數據、標簽清洗掉,為后續的分詞做準備。
  5.2 中文分詞
  將清洗完成的內容進(jìn)行分詞提取關(guān)鍵詞,比如一個(gè)網(wǎng)頁(yè)內容有1000字,分詞之后大約有50個(gè)詞,相當于提取了網(wǎng)頁(yè)的主干,并且會(huì )對標題、摘要、正文等不同部分的內容做不同權重處理。
  分詞過(guò)程中會(huì )剔除停用詞、虛詞等,比如"的、得、地"等,從而極力還原網(wǎng)頁(yè)的主干內容。
  我們用在線(xiàn)網(wǎng)頁(yè)分詞工具和真實(shí)網(wǎng)頁(yè)來(lái)模擬下這個(gè)過(guò)程:網(wǎng)頁(yè)分詞在線(xiàn)工具:
  抓取網(wǎng)頁(yè):
  可以看到分詞后可以標注詞頻,這些都是后續作為網(wǎng)頁(yè)排序的重要來(lái)源,但是中文是很復雜的,因此分詞算法會(huì )有很多種,常見(jiàn)的包括:
  
  5.3 正排索引
  假定我們將每個(gè)網(wǎng)頁(yè)進(jìn)行唯一編號docid,經(jīng)過(guò)前面的分詞一個(gè)網(wǎng)頁(yè)將被分成不同權重的多個(gè)實(shí)體詞。
  所謂正排就是根據docid可以拿到屬于該網(wǎng)頁(yè)的所有內容,是一個(gè)符合我們思維的正向過(guò)程,相對而言會(huì )有倒排索引。
  我們以一篇《隱秘的角落》劇情簡(jiǎn)介的頁(yè)面為例,模擬分詞情況,大致如下(本分詞結果純屬腦補,以實(shí)際為準):
  
  5.4 倒排索引
  假如我們對10000個(gè)網(wǎng)頁(yè)進(jìn)行了分詞,其中包含了一些公共檢索詞:微山湖、智取威虎山、三十而立、隱秘的角落等,因此我們匯總之后將建立檢索詞->網(wǎng)頁(yè)的映射關(guān)系。
  
  那么對于檢索詞"隱秘的角落"出現很多個(gè)網(wǎng)頁(yè),倒排索引就相當于從一個(gè)詞能拉取到多少文章的過(guò)程。
  
  就如同我們提到美食就想到:火鍋、燒烤、烤鴨、炒菜等等,是一個(gè)從點(diǎn)到面的過(guò)程,這種逆向過(guò)程在搜索引擎中非常重要。
  
  5.5 本章小結
  內容處理模塊將抓取到的網(wǎng)頁(yè)進(jìn)行清洗、提前新URL給爬蟲(chóng)模塊、內容分詞、建立正排索引和倒排索引,是個(gè)承上啟下的中間環(huán)節。
  特別地,提一下正排索引和倒排索引,字面上并不直觀(guān),其實(shí)道理并不難理解:正排索引:具體到一篇網(wǎng)頁(yè)有多少關(guān)鍵詞,特指屬于該網(wǎng)頁(yè)本身的內容集合,是一個(gè)網(wǎng)頁(yè)。倒排索引:一個(gè)檢索關(guān)鍵詞對應多少相關(guān)聯(lián)的網(wǎng)頁(yè),也就是可備選網(wǎng)頁(yè)集合,是一類(lèi)網(wǎng)頁(yè)。
  
  網(wǎng)頁(yè)排序和用戶(hù)模塊
  6.1 網(wǎng)頁(yè)排序的必要性
  由于存儲的網(wǎng)頁(yè)是百千億級的,那么一個(gè)檢索詞可能對于幾萬(wàn)、幾十萬(wàn)甚至更多相關(guān)的網(wǎng)頁(yè)。
  網(wǎng)頁(yè)排序需要綜合考慮:相關(guān)性、權威性、時(shí)效性、豐富度等多個(gè)方面。
  搜索引擎要展示優(yōu)質(zhì)的強關(guān)聯(lián)網(wǎng)頁(yè)給用戶(hù),并且放在靠前的位置,否則搜索效果將會(huì )很差,用戶(hù)并不買(mǎi)賬。
  事實(shí)上也是如此,比如搜索引擎返回了10頁(yè)結果,每頁(yè)10條,總結100條,一般用戶(hù)點(diǎn)擊到1-3頁(yè)之后的網(wǎng)頁(yè)大概率就不再點(diǎn)擊了,因此排序的頭部?jì)热輰τ谒阉鹘Y果至關(guān)重要。
  我們仍然以檢索"隱秘的角落"為例,百度共計返回了10頁(yè),其中1-2頁(yè)的內容是強關(guān)聯(lián)的,是個(gè)比較不錯的檢索結果了:
  6.2 網(wǎng)頁(yè)排序的常見(jiàn)策略
  網(wǎng)頁(yè)排序策略是個(gè)不斷優(yōu)化和提升的演進(jìn)過(guò)程,我們來(lái)一起看下都有哪些排序策略:
  這是早期搜索引擎常采取的方法,相對簡(jiǎn)單但是效果還不錯。
  簡(jiǎn)單來(lái)說(shuō)就是根據網(wǎng)頁(yè)中關(guān)鍵詞的出現頻率以及出現位置作為排序依據,因為普遍認為:檢索詞出現次數越多、位置越重要,網(wǎng)頁(yè)的關(guān)聯(lián)性越好,排名越靠前。詞頻并不是單純的統計次數,需要有全局觀(guān)念來(lái)判斷關(guān)鍵詞的相對次數,這就是我們要說(shuō)的TF-IDF逆文檔頻率,來(lái)看下百度百科的解釋?zhuān)篢F-IDF (term frequency–inverse document frequency)是一種用于信息檢索與數據挖掘的常用加權技術(shù)。TF是詞頻(Term Frequency),IDF是逆文本頻率指數(Inverse Document Frequency)。TF-IDF是一種統計方法,用以評估一字詞對于一個(gè)文件集或一個(gè)語(yǔ)料庫中的其中一份文件的重要程度。字詞的重要性隨著(zhù)它在文件中出現的次數成正比增加,但同時(shí)會(huì )隨著(zhù)它在語(yǔ)料庫中出現的頻率成反比下降。舉個(gè)栗子:
  網(wǎng)頁(yè)中"吃飯"這個(gè)詞出現了10次,雖然次數很多,但是"吃飯"這個(gè)詞過(guò)于普通,因為在很多其他網(wǎng)頁(yè)都出現了,因此"吃飯"這個(gè)檢索詞的重要性就相對下降了。
  鏈接分析排序認為:網(wǎng)頁(yè)被別的網(wǎng)頁(yè)引用的次數越多或者越權威的網(wǎng)頁(yè)引用,說(shuō)明該網(wǎng)頁(yè)質(zhì)量越高。
  
  基于鏈接分析的排序算法有很多種,其中最有名的PageRank算法被谷歌廣泛采用,是其核心排序算法。
  來(lái)看下PageRank算法的基本思想:網(wǎng)頁(yè)的重要程度用PageRank值來(lái)衡量,網(wǎng)頁(yè)的PageRank值體現在兩個(gè)方面:引用該網(wǎng)頁(yè)其他網(wǎng)頁(yè)個(gè)數和引用該頁(yè)面的其他頁(yè)面的重要程度。假定一個(gè)網(wǎng)頁(yè)A被另一個(gè)網(wǎng)頁(yè)B引用,網(wǎng)頁(yè)B就將PageRank值分配給網(wǎng)頁(yè)B所引用的網(wǎng)頁(yè),所以越多引用網(wǎng)頁(yè)A則其PageRank值也就越高。另外網(wǎng)頁(yè)B越重要,它所引用的頁(yè)面能分配到的PageRank值就越多,網(wǎng)頁(yè)A的PageRank值也就越高越重要。其實(shí)這個(gè)算法說(shuō)起來(lái)非常簡(jiǎn)單:比如寫(xiě)公眾號,有大V轉載就相當于引用了,越多其他公眾號轉載,說(shuō)明你的公眾號內容質(zhì)量越高。
  
  PageRank算法也存在一定的問(wèn)題,比如對新頁(yè)面不友好,新頁(yè)面暫時(shí)沒(méi)有被大量引用,因此PageRank值很低,并且PageRank算法強調網(wǎng)頁(yè)之間的引用關(guān)系,對網(wǎng)頁(yè)本身的主題內容可能重視程度不夠,也就是所謂的主題漂流問(wèn)題。
  與PageRank算法類(lèi)似于的還有一些其他算法來(lái)彌補主題關(guān)聯(lián)問(wèn)題,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,本文就不再展開(kāi)了。
  6.3 網(wǎng)頁(yè)反作弊和SEO
  搜索引擎也存在二八原則,頭部的網(wǎng)頁(yè)占據了大量的點(diǎn)擊流量,也意味著(zhù)巨大的商業(yè)價(jià)值。
  這里就要提到SEO,先看下百度百科對SEO的定義:搜索引擎優(yōu)化又稱(chēng)為SEO,即Search Engine Optimization,它是一種通過(guò)分析搜索引擎的排名規律,了解各種搜索引擎怎樣進(jìn)行搜索、怎樣抓取互聯(lián)網(wǎng)頁(yè)面、怎樣確定特定關(guān)鍵詞的搜索結果排名的技術(shù)。搜索引擎采用易于被搜索引用的手段,對網(wǎng)站進(jìn)行有針對性的優(yōu)化,提高網(wǎng)站在搜索引擎中的自然排名,吸引更多的用戶(hù)訪(fǎng)問(wèn)網(wǎng)站,提高網(wǎng)站的訪(fǎng)問(wèn)量,提高網(wǎng)站的銷(xiāo)售能力和宣傳能力,從而提升網(wǎng)站的品牌效應。道高一尺魔高一丈,只有魔法可以打敗魔法。
  
  網(wǎng)頁(yè)反作弊是搜索引擎需要解決的重要問(wèn)題,常見(jiàn)的有內容反作弊、鏈接分析反作弊等。
  
  6.4 用戶(hù)搜索意圖理解
  用戶(hù)模塊直接和用戶(hù)交互,接收用戶(hù)的搜索詞,準確理解用戶(hù)的搜索意圖非常重要。
  實(shí)際上用戶(hù)的輸入是五花八門(mén)的,偏口語(yǔ)化,甚至有拼寫(xiě)錯誤、并且不同背景的用戶(hù)對同一個(gè)檢索詞的需求不一樣、無(wú)爭議檢索詞的使用目的也不一樣。
  
  
  全文總結
  搜索引擎是個(gè)非常復雜的系統工程,涉及非常多的算法和工程實(shí)現,本文旨在和大家一起簡(jiǎn)單梳理搜索引擎的基本組成和運行原理,算是科普文章了。
  搜索引擎中每一個(gè)模塊做好都不容易,也是互聯(lián)網(wǎng)產(chǎn)品中技術(shù)含金量的典型代表,深挖一個(gè)模塊都受益匪淺。
  
  <p class="js_darkmode__17" style="margin: 15px 8px;color: rgb(73, 73, 73);white-space: normal;font-family: -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;font-size: 11pt;line-height: 1.75em;">更多精彩推薦</p>
  ?停滯數年后,ElasticJob 攜首個(gè) Apache 版本 3.0.0-alpha 回歸!?寫(xiě)不出滿(mǎn)分作文怎么辦,GPT-3 來(lái)幫你?互聯(lián)網(wǎng)不相信學(xué)渣?收藏!美國博士明確給出Python的高效學(xué)習技巧?垃圾回收策略和算法,看這篇就夠了?2020 以太坊技術(shù)及應用大會(huì )·中國圓滿(mǎn)落幕,大咖們的演講精華都在這里了!點(diǎn)分享點(diǎn)點(diǎn)贊點(diǎn)在看 查看全部

  圖解 | 通用搜索引擎背后的技術(shù)點(diǎn)
  
  
  來(lái)源 |后端技術(shù)指南針頭圖 | 圖蟲(chóng)
  
  寫(xiě)在前面
  今天準備和盆友們一起學(xué)習下關(guān)于通用搜索引擎的一些技術(shù)點(diǎn)。
  鑒于搜索引擎內容非常多,每一部分都夠寫(xiě)好幾篇文章的所以本文只是拋磚引玉,深入挖掘還得老鐵們親力親為。
  通過(guò)本文你將對通用搜索引擎的基本原理和組成有一個(gè)較為清晰的認識,用心讀完,肯定有所收獲!
  廢話(huà)不說(shuō),各位抓緊上車(chē),沖鴨!
  
  初識搜索引擎
  2.1 搜索引擎分類(lèi)
  搜索引擎根據其使用場(chǎng)景和規模,可以簡(jiǎn)單分為兩大類(lèi):
  通用搜索又稱(chēng)為大搜,諸如谷歌、百度、搜狗、神馬等等都屬于這一類(lèi)。
  
  垂直搜索又稱(chēng)為垂搜,是特定領(lǐng)域的搜索,比如用QQ音樂(lè )搜周杰倫的歌等。
  
  兩類(lèi)搜索引擎雖然數據規模和數據特征不一樣,但都是為了填平用戶(hù)和海量信息之間的鴻溝。
  
  2.2 搜索和推薦
  搜索和推薦經(jīng)常被相提并論,但是二者存在一些區別和聯(lián)系。
  
  2.3 搜索引擎評價(jià)標準
  我們每天都和搜索引擎打交道,評價(jià)一個(gè)搜索引擎的好壞可簡(jiǎn)單概括為:精準性、時(shí)效性、響應速度、權威性等。
  換句話(huà)說(shuō),搜索引擎懂得用戶(hù)真正想要找什么,可以快速準確地展示出來(lái),對于一些熱點(diǎn)突發(fā)信息也可以及時(shí)收錄展示,就能很好地博得用戶(hù)。
  這個(gè)目標需要搜索引擎多個(gè)模塊協(xié)作處理,是個(gè)復雜的系統工程,并非易事。
  
  通用搜索引擎的整體概覽
  3.1 搜索引擎的基本流程
  大白嘗試用樸實(shí)的語(yǔ)言來(lái)整體表達下,通用搜索引擎大致是怎么工作的:
  1. 網(wǎng)絡(luò )蜘蛛爬蟲(chóng)每天不辭辛苦地收錄網(wǎng)頁(yè),然后存儲起來(lái),這樣各個(gè)站點(diǎn)的頁(yè)面就有了一份份鏡像,這個(gè)規模是百億/千億級的。
  
  2. 單純地鏡像也不能直接用,需要加工處理,把一個(gè)個(gè)網(wǎng)頁(yè)進(jìn)行分詞,建立搜索詞和網(wǎng)頁(yè)的對應關(guān)系,這樣用戶(hù)搜索某個(gè)東西時(shí),才會(huì )拿到很多相關(guān)的網(wǎng)頁(yè)。
  
  3. 比如"搜索隱秘的角落"可能會(huì )有100個(gè)相關(guān)網(wǎng)頁(yè)被找到,但是網(wǎng)頁(yè)和檢索詞的關(guān)聯(lián)性肯定有強有弱,因此還需要進(jìn)行網(wǎng)頁(yè)的排序,排序策略有很多,最終把優(yōu)質(zhì)的網(wǎng)頁(yè)排在前面展示給用戶(hù)。
  用戶(hù)看到相關(guān)結果之后,進(jìn)行點(diǎn)擊或者跳過(guò),搜索引擎根據用戶(hù)的相關(guān)動(dòng)作進(jìn)行調整,實(shí)現整個(gè)閉環(huán)過(guò)程。
  4. 為了能更好地理解用戶(hù)的真實(shí)用途,需要進(jìn)行檢索詞的意圖理解、詞條切分、同義詞替換、語(yǔ)法糾錯等處理,再根據這些檢索詞去獲取數據,為用戶(hù)找到心中所想的網(wǎng)頁(yè)。
  比如檢索詞為"老鷹",可能是自然界的老鷹,也可能是NBA的一只球隊:
  3.2 搜索引擎的基本組成
  我們從整體簡(jiǎn)單看下基本組成以及各個(gè)模塊的主要功能:
  
  接下來(lái),我們將粗淺地介紹幾個(gè)模塊的基本內容和技術(shù)點(diǎn)。
  
  網(wǎng)絡(luò )爬蟲(chóng)模塊簡(jiǎn)介
  網(wǎng)絡(luò )爬蟲(chóng)模塊是通用搜索引擎非常的基礎組件,一般都會(huì )采用分布式爬蟲(chóng)來(lái)實(shí)現,我們來(lái)看看這個(gè)搬運工是如何實(shí)現海量網(wǎng)頁(yè)發(fā)掘的:
  
  網(wǎng)絡(luò )爬蟲(chóng)的基本流程:
  在抓取過(guò)程中會(huì )有多種遍歷策略:深度優(yōu)先遍歷DFS、廣度優(yōu)先遍歷BFS、部分PageRank策略、OPIC在線(xiàn)頁(yè)面重要性計算策略、大站優(yōu)先策略等。
  
  在工程實(shí)踐中需要根據自身情況和搜索引擎特點(diǎn)進(jìn)行選擇某種策略或者多種策略組合。
  網(wǎng)絡(luò )爬蟲(chóng)需要遵循Robots協(xié)議(網(wǎng)絡(luò )爬蟲(chóng)排除標準),這是網(wǎng)絡(luò )爬蟲(chóng)和站點(diǎn)之間的君子協(xié)定,站點(diǎn)通過(guò)協(xié)議告訴網(wǎng)絡(luò )爬蟲(chóng)哪些可以抓哪些不可以。
  網(wǎng)絡(luò )爬蟲(chóng)同時(shí)需要考慮抓取頻率,防止給站點(diǎn)造成過(guò)重負擔,總之,搜索引擎的網(wǎng)絡(luò )爬蟲(chóng)需要是個(gè)謙謙君子。
  
  網(wǎng)頁(yè)內容處理模塊
  爬蟲(chóng)模塊將網(wǎng)頁(yè)內容存儲之后,網(wǎng)頁(yè)內存處理模塊開(kāi)始解析網(wǎng)頁(yè)內容,主要工作包括:數據清洗、網(wǎng)頁(yè)內容分詞、建立正排索引、建立倒排索引等。
  
  5.1 數據清洗
  一般來(lái)說(shuō),網(wǎng)頁(yè)中除了具體內容還會(huì )有很多無(wú)關(guān)的東西,比如html標簽、推廣等,這些在實(shí)際搜索引擎中都是無(wú)用的。
  內容處理模塊會(huì )將無(wú)用數據、標簽清洗掉,為后續的分詞做準備。
  5.2 中文分詞
  將清洗完成的內容進(jìn)行分詞提取關(guān)鍵詞,比如一個(gè)網(wǎng)頁(yè)內容有1000字,分詞之后大約有50個(gè)詞,相當于提取了網(wǎng)頁(yè)的主干,并且會(huì )對標題、摘要、正文等不同部分的內容做不同權重處理。
  分詞過(guò)程中會(huì )剔除停用詞、虛詞等,比如"的、得、地"等,從而極力還原網(wǎng)頁(yè)的主干內容。
  我們用在線(xiàn)網(wǎng)頁(yè)分詞工具和真實(shí)網(wǎng)頁(yè)來(lái)模擬下這個(gè)過(guò)程:網(wǎng)頁(yè)分詞在線(xiàn)工具:
  抓取網(wǎng)頁(yè):
  可以看到分詞后可以標注詞頻,這些都是后續作為網(wǎng)頁(yè)排序的重要來(lái)源,但是中文是很復雜的,因此分詞算法會(huì )有很多種,常見(jiàn)的包括:
  
  5.3 正排索引
  假定我們將每個(gè)網(wǎng)頁(yè)進(jìn)行唯一編號docid,經(jīng)過(guò)前面的分詞一個(gè)網(wǎng)頁(yè)將被分成不同權重的多個(gè)實(shí)體詞。
  所謂正排就是根據docid可以拿到屬于該網(wǎng)頁(yè)的所有內容,是一個(gè)符合我們思維的正向過(guò)程,相對而言會(huì )有倒排索引。
  我們以一篇《隱秘的角落》劇情簡(jiǎn)介的頁(yè)面為例,模擬分詞情況,大致如下(本分詞結果純屬腦補,以實(shí)際為準):
  
  5.4 倒排索引
  假如我們對10000個(gè)網(wǎng)頁(yè)進(jìn)行了分詞,其中包含了一些公共檢索詞:微山湖、智取威虎山、三十而立、隱秘的角落等,因此我們匯總之后將建立檢索詞->網(wǎng)頁(yè)的映射關(guān)系。
  
  那么對于檢索詞"隱秘的角落"出現很多個(gè)網(wǎng)頁(yè),倒排索引就相當于從一個(gè)詞能拉取到多少文章的過(guò)程。
  
  就如同我們提到美食就想到:火鍋、燒烤、烤鴨、炒菜等等,是一個(gè)從點(diǎn)到面的過(guò)程,這種逆向過(guò)程在搜索引擎中非常重要。
  
  5.5 本章小結
  內容處理模塊將抓取到的網(wǎng)頁(yè)進(jìn)行清洗、提前新URL給爬蟲(chóng)模塊、內容分詞、建立正排索引和倒排索引,是個(gè)承上啟下的中間環(huán)節。
  特別地,提一下正排索引和倒排索引,字面上并不直觀(guān),其實(shí)道理并不難理解:正排索引:具體到一篇網(wǎng)頁(yè)有多少關(guān)鍵詞,特指屬于該網(wǎng)頁(yè)本身的內容集合,是一個(gè)網(wǎng)頁(yè)。倒排索引:一個(gè)檢索關(guān)鍵詞對應多少相關(guān)聯(lián)的網(wǎng)頁(yè),也就是可備選網(wǎng)頁(yè)集合,是一類(lèi)網(wǎng)頁(yè)。
  
  網(wǎng)頁(yè)排序和用戶(hù)模塊
  6.1 網(wǎng)頁(yè)排序的必要性
  由于存儲的網(wǎng)頁(yè)是百千億級的,那么一個(gè)檢索詞可能對于幾萬(wàn)、幾十萬(wàn)甚至更多相關(guān)的網(wǎng)頁(yè)。
  網(wǎng)頁(yè)排序需要綜合考慮:相關(guān)性、權威性、時(shí)效性、豐富度等多個(gè)方面。
  搜索引擎要展示優(yōu)質(zhì)的強關(guān)聯(lián)網(wǎng)頁(yè)給用戶(hù),并且放在靠前的位置,否則搜索效果將會(huì )很差,用戶(hù)并不買(mǎi)賬。
  事實(shí)上也是如此,比如搜索引擎返回了10頁(yè)結果,每頁(yè)10條,總結100條,一般用戶(hù)點(diǎn)擊到1-3頁(yè)之后的網(wǎng)頁(yè)大概率就不再點(diǎn)擊了,因此排序的頭部?jì)热輰τ谒阉鹘Y果至關(guān)重要。
  我們仍然以檢索"隱秘的角落"為例,百度共計返回了10頁(yè),其中1-2頁(yè)的內容是強關(guān)聯(lián)的,是個(gè)比較不錯的檢索結果了:
  6.2 網(wǎng)頁(yè)排序的常見(jiàn)策略
  網(wǎng)頁(yè)排序策略是個(gè)不斷優(yōu)化和提升的演進(jìn)過(guò)程,我們來(lái)一起看下都有哪些排序策略:
  這是早期搜索引擎常采取的方法,相對簡(jiǎn)單但是效果還不錯。
  簡(jiǎn)單來(lái)說(shuō)就是根據網(wǎng)頁(yè)中關(guān)鍵詞的出現頻率以及出現位置作為排序依據,因為普遍認為:檢索詞出現次數越多、位置越重要,網(wǎng)頁(yè)的關(guān)聯(lián)性越好,排名越靠前。詞頻并不是單純的統計次數,需要有全局觀(guān)念來(lái)判斷關(guān)鍵詞的相對次數,這就是我們要說(shuō)的TF-IDF逆文檔頻率,來(lái)看下百度百科的解釋?zhuān)篢F-IDF (term frequency–inverse document frequency)是一種用于信息檢索與數據挖掘的常用加權技術(shù)。TF是詞頻(Term Frequency),IDF是逆文本頻率指數(Inverse Document Frequency)。TF-IDF是一種統計方法,用以評估一字詞對于一個(gè)文件集或一個(gè)語(yǔ)料庫中的其中一份文件的重要程度。字詞的重要性隨著(zhù)它在文件中出現的次數成正比增加,但同時(shí)會(huì )隨著(zhù)它在語(yǔ)料庫中出現的頻率成反比下降。舉個(gè)栗子:
  網(wǎng)頁(yè)中"吃飯"這個(gè)詞出現了10次,雖然次數很多,但是"吃飯"這個(gè)詞過(guò)于普通,因為在很多其他網(wǎng)頁(yè)都出現了,因此"吃飯"這個(gè)檢索詞的重要性就相對下降了。
  鏈接分析排序認為:網(wǎng)頁(yè)被別的網(wǎng)頁(yè)引用的次數越多或者越權威的網(wǎng)頁(yè)引用,說(shuō)明該網(wǎng)頁(yè)質(zhì)量越高。
  
  基于鏈接分析的排序算法有很多種,其中最有名的PageRank算法被谷歌廣泛采用,是其核心排序算法。
  來(lái)看下PageRank算法的基本思想:網(wǎng)頁(yè)的重要程度用PageRank值來(lái)衡量,網(wǎng)頁(yè)的PageRank值體現在兩個(gè)方面:引用該網(wǎng)頁(yè)其他網(wǎng)頁(yè)個(gè)數和引用該頁(yè)面的其他頁(yè)面的重要程度。假定一個(gè)網(wǎng)頁(yè)A被另一個(gè)網(wǎng)頁(yè)B引用,網(wǎng)頁(yè)B就將PageRank值分配給網(wǎng)頁(yè)B所引用的網(wǎng)頁(yè),所以越多引用網(wǎng)頁(yè)A則其PageRank值也就越高。另外網(wǎng)頁(yè)B越重要,它所引用的頁(yè)面能分配到的PageRank值就越多,網(wǎng)頁(yè)A的PageRank值也就越高越重要。其實(shí)這個(gè)算法說(shuō)起來(lái)非常簡(jiǎn)單:比如寫(xiě)公眾號,有大V轉載就相當于引用了,越多其他公眾號轉載,說(shuō)明你的公眾號內容質(zhì)量越高。
  
  PageRank算法也存在一定的問(wèn)題,比如對新頁(yè)面不友好,新頁(yè)面暫時(shí)沒(méi)有被大量引用,因此PageRank值很低,并且PageRank算法強調網(wǎng)頁(yè)之間的引用關(guān)系,對網(wǎng)頁(yè)本身的主題內容可能重視程度不夠,也就是所謂的主題漂流問(wèn)題。
  與PageRank算法類(lèi)似于的還有一些其他算法來(lái)彌補主題關(guān)聯(lián)問(wèn)題,包括:HillTop算法、Topic-Sensitive PageRank算法、HITS算法等,本文就不再展開(kāi)了。
  6.3 網(wǎng)頁(yè)反作弊和SEO
  搜索引擎也存在二八原則,頭部的網(wǎng)頁(yè)占據了大量的點(diǎn)擊流量,也意味著(zhù)巨大的商業(yè)價(jià)值。
  這里就要提到SEO,先看下百度百科對SEO的定義:搜索引擎優(yōu)化又稱(chēng)為SEO,即Search Engine Optimization,它是一種通過(guò)分析搜索引擎的排名規律,了解各種搜索引擎怎樣進(jìn)行搜索、怎樣抓取互聯(lián)網(wǎng)頁(yè)面、怎樣確定特定關(guān)鍵詞的搜索結果排名的技術(shù)。搜索引擎采用易于被搜索引用的手段,對網(wǎng)站進(jìn)行有針對性的優(yōu)化,提高網(wǎng)站在搜索引擎中的自然排名,吸引更多的用戶(hù)訪(fǎng)問(wèn)網(wǎng)站,提高網(wǎng)站的訪(fǎng)問(wèn)量,提高網(wǎng)站的銷(xiāo)售能力和宣傳能力,從而提升網(wǎng)站的品牌效應。道高一尺魔高一丈,只有魔法可以打敗魔法。
  
  網(wǎng)頁(yè)反作弊是搜索引擎需要解決的重要問(wèn)題,常見(jiàn)的有內容反作弊、鏈接分析反作弊等。
  
  6.4 用戶(hù)搜索意圖理解
  用戶(hù)模塊直接和用戶(hù)交互,接收用戶(hù)的搜索詞,準確理解用戶(hù)的搜索意圖非常重要。
  實(shí)際上用戶(hù)的輸入是五花八門(mén)的,偏口語(yǔ)化,甚至有拼寫(xiě)錯誤、并且不同背景的用戶(hù)對同一個(gè)檢索詞的需求不一樣、無(wú)爭議檢索詞的使用目的也不一樣。
  
  
  全文總結
  搜索引擎是個(gè)非常復雜的系統工程,涉及非常多的算法和工程實(shí)現,本文旨在和大家一起簡(jiǎn)單梳理搜索引擎的基本組成和運行原理,算是科普文章了。
  搜索引擎中每一個(gè)模塊做好都不容易,也是互聯(lián)網(wǎng)產(chǎn)品中技術(shù)含金量的典型代表,深挖一個(gè)模塊都受益匪淺。
  
  <p class="js_darkmode__17" style="margin: 15px 8px;color: rgb(73, 73, 73);white-space: normal;font-family: -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;font-size: 11pt;line-height: 1.75em;">更多精彩推薦</p>
  ?停滯數年后,ElasticJob 攜首個(gè) Apache 版本 3.0.0-alpha 回歸!?寫(xiě)不出滿(mǎn)分作文怎么辦,GPT-3 來(lái)幫你?互聯(lián)網(wǎng)不相信學(xué)渣?收藏!美國博士明確給出Python的高效學(xué)習技巧?垃圾回收策略和算法,看這篇就夠了?2020 以太坊技術(shù)及應用大會(huì )·中國圓滿(mǎn)落幕,大咖們的演講精華都在這里了!點(diǎn)分享點(diǎn)點(diǎn)贊點(diǎn)在看

干貨1:Google是如何收錄你的外貿網(wǎng)站的?

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 82 次瀏覽 ? 2022-06-09 20:23 ? 來(lái)自相關(guān)話(huà)題

  干貨1:Google是如何收錄你的外貿網(wǎng)站的?
  
  Google,作為國外客戶(hù)最常用的搜索引擎,也是外貿人展現自己企業(yè)產(chǎn)品的重要平臺。但是外貿企業(yè)的官網(wǎng)可能會(huì )遇見(jiàn)這種情況,網(wǎng)站沒(méi)有被谷歌所收錄!
  沒(méi)有收錄,就意味著(zhù),網(wǎng)站不可能有好的排名,因為谷歌不知道有這樣一個(gè)網(wǎng)站的存在,詢(xún)盤(pán),訂單自然會(huì )受到極大影響。
  因此需要專(zhuān)業(yè)的谷歌優(yōu)化師去做相關(guān)優(yōu)化設置,以符合谷歌的要求,幫助外貿官網(wǎng)能被收錄,獲得排名,展示到國外買(mǎi)家眼前,獲得更多的訂單機會(huì )!
  那谷歌優(yōu)化工作遵循的搜索引擎收錄原理是什么呢?一起來(lái)了解一下吧~
  一個(gè)新站建好后,搜索引擎是無(wú)法得知它的存在的,除非谷歌派蜘蛛來(lái)抓取。蜘蛛是谷歌的一種重要抓取技術(shù),也是網(wǎng)站被收錄的來(lái)源,而源代碼就相當于它的網(wǎng),讓它爬行于任意網(wǎng)頁(yè)的源代碼中。
  
  當在源代碼中發(fā)現另一個(gè)新的鏈接時(shí),它就會(huì )通過(guò)這個(gè)鏈接穿梭到另一個(gè)頁(yè)面繼續抓取→爬行→抓取→爬行…...從而達到網(wǎng)頁(yè)被收錄的目的。

  問(wèn)題來(lái)了,怎么才能吸引谷歌蜘蛛來(lái)抓取我們的網(wǎng)站?可分為四大點(diǎn):
  網(wǎng)站要保持“新鮮"
  谷歌喜歡抓取新的東西。蜘蛛對新站抓取頻率比較高,但如果你不常去更新,當蜘蛛多次來(lái)時(shí)都沒(méi)有發(fā)現新的信息可以去抓取,那么慢慢地會(huì )減少光顧頻率,從一個(gè)月一次到幾個(gè)月一次。
  當蜘蛛不來(lái)抓取你網(wǎng)頁(yè)的源代碼時(shí),你網(wǎng)頁(yè)中新的信息是不會(huì )出現在搜索引擎里的。所以建議新站在頭1—3個(gè)月之間,要保持經(jīng)常更新信息。
  添加鏈接
  那么蜘蛛會(huì )經(jīng)常關(guān)注什么平臺呢?像Facebook、Twitter、Alibaba、維基百科等大型的平臺都是蜘蛛常去光顧的,這就需要我們將網(wǎng)站鏈接發(fā)布到這些平臺,給蜘蛛增加導入路口。 查看全部

  干貨1:Google是如何收錄你的外貿網(wǎng)站的?
  
  Google,作為國外客戶(hù)最常用的搜索引擎,也是外貿人展現自己企業(yè)產(chǎn)品的重要平臺。但是外貿企業(yè)的官網(wǎng)可能會(huì )遇見(jiàn)這種情況,網(wǎng)站沒(méi)有被谷歌所收錄!
  沒(méi)有收錄,就意味著(zhù),網(wǎng)站不可能有好的排名,因為谷歌不知道有這樣一個(gè)網(wǎng)站的存在,詢(xún)盤(pán),訂單自然會(huì )受到極大影響。
  因此需要專(zhuān)業(yè)的谷歌優(yōu)化師去做相關(guān)優(yōu)化設置,以符合谷歌的要求,幫助外貿官網(wǎng)能被收錄,獲得排名,展示到國外買(mǎi)家眼前,獲得更多的訂單機會(huì )!
  那谷歌優(yōu)化工作遵循的搜索引擎收錄原理是什么呢?一起來(lái)了解一下吧~
  一個(gè)新站建好后,搜索引擎是無(wú)法得知它的存在的,除非谷歌派蜘蛛來(lái)抓取。蜘蛛是谷歌的一種重要抓取技術(shù),也是網(wǎng)站被收錄的來(lái)源,而源代碼就相當于它的網(wǎng),讓它爬行于任意網(wǎng)頁(yè)的源代碼中。
  
  當在源代碼中發(fā)現另一個(gè)新的鏈接時(shí),它就會(huì )通過(guò)這個(gè)鏈接穿梭到另一個(gè)頁(yè)面繼續抓取→爬行→抓取→爬行…...從而達到網(wǎng)頁(yè)被收錄的目的。

  問(wèn)題來(lái)了,怎么才能吸引谷歌蜘蛛來(lái)抓取我們的網(wǎng)站?可分為四大點(diǎn):
  網(wǎng)站要保持“新鮮"
  谷歌喜歡抓取新的東西。蜘蛛對新站抓取頻率比較高,但如果你不常去更新,當蜘蛛多次來(lái)時(shí)都沒(méi)有發(fā)現新的信息可以去抓取,那么慢慢地會(huì )減少光顧頻率,從一個(gè)月一次到幾個(gè)月一次。
  當蜘蛛不來(lái)抓取你網(wǎng)頁(yè)的源代碼時(shí),你網(wǎng)頁(yè)中新的信息是不會(huì )出現在搜索引擎里的。所以建議新站在頭1—3個(gè)月之間,要保持經(jīng)常更新信息。
  添加鏈接
  那么蜘蛛會(huì )經(jīng)常關(guān)注什么平臺呢?像Facebook、Twitter、Alibaba、維基百科等大型的平臺都是蜘蛛常去光顧的,這就需要我們將網(wǎng)站鏈接發(fā)布到這些平臺,給蜘蛛增加導入路口。

手把手教你用免費代理ip爬數據

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 69 次瀏覽 ? 2022-05-24 20:46 ? 來(lái)自相關(guān)話(huà)題

  手把手教你用免費代理ip爬數據
  /1 前言/
  玩爬蟲(chóng)的都避免不了各大網(wǎng)站的反爬措施限制,比較常見(jiàn)的是通過(guò)固定時(shí)間檢測某ip地址訪(fǎng)問(wèn)量來(lái)判斷該用戶(hù)是否為 “網(wǎng)絡(luò )機器人”,也就是所謂的爬蟲(chóng),如果被識別到,就面臨被封ip的風(fēng)險,那樣你就不能訪(fǎng)問(wèn)該網(wǎng)址了。
  通用的解決辦法是用代理ip進(jìn)行爬取,但是收費的代理ip一般都是比較貴的,網(wǎng)上倒是有很多免費的代理ip網(wǎng)站,但是受時(shí)效性影響,大部分地址都不能用,有很多維護代理ip池的教程,即把爬取并檢測后能用代理ip放到“代理池里”,等以后要用的時(shí)候再從里面提取,在我看來(lái),這種效率比較低,因為這類(lèi)IP地址很快就失效,我們要做的是邊檢測邊使用,充分保證免費IP的時(shí)效性。
  /2 抓取IP地址/
  下面就開(kāi)始實(shí)戰操作。
  1.首先我們隨便找一個(gè)免費代理ip網(wǎng)站,如下圖所示。
  
  2、打開(kāi)網(wǎng)頁(yè)查看器,分析其網(wǎng)頁(yè)元素結構,如下圖所示。
  
  3、就是一個(gè)簡(jiǎn)單的靜態(tài)網(wǎng)頁(yè),我們用requests和bs4將ip地址和對應端口爬下,如下圖所示。
  
  4、每一行ip地址都由5個(gè)標簽組成,而我們需要的是第一個(gè)標簽(對應IP地址)和第2個(gè)標簽(對應端口),所以從第一個(gè)開(kāi)始,每隔5個(gè)取出ip地址(item[::5]),從第二個(gè)開(kāi)始,每隔5個(gè)取出對應端口(item[1::5]),參數n為頁(yè)碼,每次只在1頁(yè)取1個(gè)有用的ip地址,最終效果如下圖所示:
  
  /3驗證IP有效性/
  這里把百度百科作為目標網(wǎng)站,這個(gè)看似很普通的網(wǎng)站,反爬措施卻極為嚴格,爬不了幾條內容就開(kāi)始請求失敗了,下面我以在百度百科查詢(xún)全國優(yōu)采云站歸屬地信息為例演示如何使用免費代理ip。
  1、首先我在12306上把所有的優(yōu)采云站名都爬下來(lái)了,但是沒(méi)有歸屬地信息。
  2、然后以站名構造百度百科url信息,分析網(wǎng)頁(yè)元素,把爬取爬取優(yōu)采云站地址信息,網(wǎng)頁(yè)元素如下圖所示:
  
  3、所以,我們只需在class_='basicInfo-item'的標簽內容里查找有無(wú)“省”或者“市”的字符,然后輸出就行了,最后加一個(gè)while True循環(huán),當該ip能正常爬數據時(shí),則break該循環(huán);若該ip被禁,則馬上重新請求一個(gè)新ip進(jìn)行爬取。直接上代碼如下圖所示:
  
  4、其中for循環(huán)是遍歷所有優(yōu)采云站,try是用于檢測該ip還能不能用,若不能,則在except里請求1個(gè)新ip,爬取效果如下圖所示:
  
  下次再遇到爬蟲(chóng)被禁的情況就可以用此辦法解決了。
  /4結語(yǔ)/
  本文基于Python網(wǎng)絡(luò )爬蟲(chóng)技術(shù),主要介紹了去IP代理網(wǎng)站上抓取可用IP,并且Python腳本實(shí)現驗證IP地址的時(shí)效性,如遇到爬蟲(chóng)被禁的情況就可以用本文的辦法進(jìn)行解決。
  關(guān)于本文的代碼,小編已經(jīng)上傳到github了,,如果覺(jué)得不錯,記得給個(gè)star噢! 查看全部

  手把手教你用免費代理ip爬數據
  /1 前言/
  玩爬蟲(chóng)的都避免不了各大網(wǎng)站的反爬措施限制,比較常見(jiàn)的是通過(guò)固定時(shí)間檢測某ip地址訪(fǎng)問(wèn)量來(lái)判斷該用戶(hù)是否為 “網(wǎng)絡(luò )機器人”,也就是所謂的爬蟲(chóng),如果被識別到,就面臨被封ip的風(fēng)險,那樣你就不能訪(fǎng)問(wèn)該網(wǎng)址了。
  通用的解決辦法是用代理ip進(jìn)行爬取,但是收費的代理ip一般都是比較貴的,網(wǎng)上倒是有很多免費的代理ip網(wǎng)站,但是受時(shí)效性影響,大部分地址都不能用,有很多維護代理ip池的教程,即把爬取并檢測后能用代理ip放到“代理池里”,等以后要用的時(shí)候再從里面提取,在我看來(lái),這種效率比較低,因為這類(lèi)IP地址很快就失效,我們要做的是邊檢測邊使用,充分保證免費IP的時(shí)效性。
  /2 抓取IP地址/
  下面就開(kāi)始實(shí)戰操作。
  1.首先我們隨便找一個(gè)免費代理ip網(wǎng)站,如下圖所示。
  
  2、打開(kāi)網(wǎng)頁(yè)查看器,分析其網(wǎng)頁(yè)元素結構,如下圖所示。
  
  3、就是一個(gè)簡(jiǎn)單的靜態(tài)網(wǎng)頁(yè),我們用requests和bs4將ip地址和對應端口爬下,如下圖所示。
  
  4、每一行ip地址都由5個(gè)標簽組成,而我們需要的是第一個(gè)標簽(對應IP地址)和第2個(gè)標簽(對應端口),所以從第一個(gè)開(kāi)始,每隔5個(gè)取出ip地址(item[::5]),從第二個(gè)開(kāi)始,每隔5個(gè)取出對應端口(item[1::5]),參數n為頁(yè)碼,每次只在1頁(yè)取1個(gè)有用的ip地址,最終效果如下圖所示:
  
  /3驗證IP有效性/
  這里把百度百科作為目標網(wǎng)站,這個(gè)看似很普通的網(wǎng)站,反爬措施卻極為嚴格,爬不了幾條內容就開(kāi)始請求失敗了,下面我以在百度百科查詢(xún)全國優(yōu)采云站歸屬地信息為例演示如何使用免費代理ip。
  1、首先我在12306上把所有的優(yōu)采云站名都爬下來(lái)了,但是沒(méi)有歸屬地信息。
  2、然后以站名構造百度百科url信息,分析網(wǎng)頁(yè)元素,把爬取爬取優(yōu)采云站地址信息,網(wǎng)頁(yè)元素如下圖所示:
  
  3、所以,我們只需在class_='basicInfo-item'的標簽內容里查找有無(wú)“省”或者“市”的字符,然后輸出就行了,最后加一個(gè)while True循環(huán),當該ip能正常爬數據時(shí),則break該循環(huán);若該ip被禁,則馬上重新請求一個(gè)新ip進(jìn)行爬取。直接上代碼如下圖所示:
  
  4、其中for循環(huán)是遍歷所有優(yōu)采云站,try是用于檢測該ip還能不能用,若不能,則在except里請求1個(gè)新ip,爬取效果如下圖所示:
  
  下次再遇到爬蟲(chóng)被禁的情況就可以用此辦法解決了。
  /4結語(yǔ)/
  本文基于Python網(wǎng)絡(luò )爬蟲(chóng)技術(shù),主要介紹了去IP代理網(wǎng)站上抓取可用IP,并且Python腳本實(shí)現驗證IP地址的時(shí)效性,如遇到爬蟲(chóng)被禁的情況就可以用本文的辦法進(jìn)行解決。
  關(guān)于本文的代碼,小編已經(jīng)上傳到github了,,如果覺(jué)得不錯,記得給個(gè)star噢!

神策數據創(chuàng )始人桑文鋒:我在百度如何解決用戶(hù)分析問(wèn)題

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 121 次瀏覽 ? 2022-05-24 20:33 ? 來(lái)自相關(guān)話(huà)題

  神策數據創(chuàng )始人桑文鋒:我在百度如何解決用戶(hù)分析問(wèn)題
  - 整理丨周小燕 -
  編者按
  桑文鋒,前百度大數據部技術(shù)經(jīng)理。2007年加入百度,從零構建了百度的用戶(hù)行為大數據處理平臺。2015年4月離職創(chuàng )建神策數據,為互聯(lián)網(wǎng)公司提供大數據分析服務(wù)。目前的客戶(hù)有近200家,包括聚美優(yōu)品、多盟、秒拍、融360等。
  近日,桑文鋒在小飯桌人工智能創(chuàng )業(yè)班上做了主題演講,主要包括以下幾點(diǎn):
  1、百度數據從網(wǎng)頁(yè)數據到用戶(hù)行為數據的演變;
  2、搜索引擎發(fā)展的3個(gè)階段;
  3、提升“百度知道”回答量的幾次試驗;
  4、做數據平臺的兩個(gè)關(guān)鍵問(wèn)題:元數據和數據源。
  小飯桌對此進(jìn)行了不影響原意的整理,以下為分享實(shí)錄:
  2007年,我在“百度知道”做產(chǎn)品研發(fā),在這之后7年多時(shí)間里,我的工作都是圍繞用戶(hù)行為數據建設的。
  去年4月份,我從百度離職后創(chuàng )立“神策數據”,為互聯(lián)網(wǎng)公司解決用戶(hù)行為分析問(wèn)題,下面我的演講內容都與用戶(hù)分析相關(guān)。
  
  百度內部的數據板塊
  百度內部?jì)蓧K數據比較重要:網(wǎng)頁(yè)數據和用戶(hù)行為數據。就網(wǎng)頁(yè)數據而言,百度在2000年做搜索業(yè)務(wù)時(shí),全國中文網(wǎng)頁(yè)數量不超過(guò)2億個(gè),而從網(wǎng)頁(yè)上整體抓下來(lái)的數據中,只有幾十GB。谷歌早期抓了2500多萬(wàn)個(gè)網(wǎng)頁(yè)的內容,在1997年和1998年,從網(wǎng)頁(yè)抓取下來(lái)的數據只有47GB。
  谷歌與百度都在不斷迭代,大約3年前開(kāi)始,百度開(kāi)始進(jìn)入相對穩定狀態(tài),常用網(wǎng)頁(yè)庫數據有幾百PB,網(wǎng)頁(yè)庫數量趨于穩定。
  在用戶(hù)行為數據這一塊,百度經(jīng)歷過(guò)幾個(gè)階段。2008年,百度知道、百度百科等新產(chǎn)品每天共產(chǎn)生幾十TB新數據。去年我離開(kāi)百度時(shí),每天能采集到的用戶(hù)行為數據達到PB級別。而現在百度每天產(chǎn)生的數據比去年還要增長(cháng)50%以上,即差不多幾個(gè)月的時(shí)間就能產(chǎn)生幾百PB數據,跟之前整個(gè)網(wǎng)頁(yè)庫數據一樣大。
  只要我們創(chuàng )造一個(gè)內容之后,它就會(huì )被多次瀏覽、多次訪(fǎng)問(wèn)。所以,用戶(hù)行為數據是比網(wǎng)頁(yè)本身高一個(gè)數量級的數據。
  搜索引擎發(fā)展的3個(gè)階段
  最開(kāi)始,搜索是內容相關(guān)性的。當時(shí),網(wǎng)頁(yè)和線(xiàn)上材料都不多,只要你搜的關(guān)鍵詞與實(shí)際網(wǎng)頁(yè)內容能夠匹配就可以。
  但隨著(zhù)內容增多,誰(shuí)排在前面、誰(shuí)排在后面成了問(wèn)題。最初,所有搜索引擎都基于關(guān)鍵詞匹配相關(guān)內容,但作弊現象開(kāi)始出現,如果將垃圾詞塞進(jìn)去,用戶(hù)根本無(wú)法搜索到有用的東西。
  但當時(shí)有那么幾個(gè)人十分聰明,一個(gè)是谷歌的拉里佩奇,一個(gè)是百度的李彥宏,還有一個(gè)是做學(xué)術(shù)的。
  他們三個(gè)人都意識到,鏈接本身很重要,一個(gè)網(wǎng)頁(yè)被鏈接多少次,決定這個(gè)網(wǎng)頁(yè)本身的權重是多少。而這也是谷歌、百度起家的東西,許多人以為百度抄襲了谷歌,但我研究了一下李彥宏和拉里佩奇發(fā)的專(zhuān)利,李彥宏的專(zhuān)利是在1997年提的,拉里佩奇的專(zhuān)利是1998年提的,李彥宏還更早一些。
  這就進(jìn)入到搜索引擎第二個(gè)階段,基于鏈接關(guān)系決定誰(shuí)排在前面。
  2005年左右,搜索引擎進(jìn)入第三波——基于用戶(hù)行為。雖然從網(wǎng)頁(yè)權重來(lái)看,有些東西排在前面,但新問(wèn)題又產(chǎn)生了——一個(gè)老網(wǎng)頁(yè)一定會(huì )比新網(wǎng)頁(yè)的權重高,但新的頁(yè)面可能更能滿(mǎn)足用戶(hù)需求。而群眾的眼睛是雪亮的,用戶(hù)進(jìn)行搜索時(shí),看到比較好的結果就會(huì )點(diǎn)擊。
  那么,可以基于“用戶(hù)點(diǎn)擊”這個(gè)數據,決定將什么排到前面。到目前為止,用戶(hù)行為已經(jīng)占據非常大的比重,從一些業(yè)內專(zhuān)家的說(shuō)法來(lái)看,用戶(hù)行為權重已經(jīng)超過(guò)50%了。
  在百度7年多的經(jīng)歷
  接下來(lái)我將重點(diǎn)分享,我在百度7年多以來(lái),做用戶(hù)行為數據的經(jīng)歷。
  我在百度知道做了一年研發(fā)后,對于接下來(lái)該怎么做比較困惑?!鞍俣戎馈?005年上線(xiàn),到2008年的時(shí)候已經(jīng)歷時(shí)3年,產(chǎn)品形態(tài)就是一問(wèn)一答,產(chǎn)品本身發(fā)展得非常成熟、數據非常穩定,每天有9萬(wàn)多個(gè)提問(wèn)、25萬(wàn)個(gè)回答。
  我覺(jué)得改造這款產(chǎn)品,需要研究用戶(hù),針對不同用戶(hù)采用不同策略,甚至給他們展示不同的樣式和界面,來(lái)提升百度知道的產(chǎn)品黏性和價(jià)值。
  2008年,為提升百度知道的回答量,我們做了兩個(gè)功能。
  第一個(gè)功能基于核心用戶(hù)。我們抽了35萬(wàn)個(gè)近一個(gè)月回答超過(guò)6個(gè)問(wèn)題的核心用戶(hù),用3個(gè)多月時(shí)間,根據他們以往回答的問(wèn)題抽取了17萬(wàn)多個(gè)興趣詞,結果新版上線(xiàn)后,卻發(fā)現用戶(hù)回答量沒(méi)有發(fā)生變化。
  我們當時(shí)分析原因,發(fā)現做個(gè)性化推薦之后,用戶(hù)無(wú)非從之前到分類(lèi)頁(yè)面回答問(wèn)題變?yōu)榈絺€(gè)人中心,但平均回答6個(gè)問(wèn)題的量沒(méi)有變化。
  后來(lái)我想,提升產(chǎn)品無(wú)非就兩種思路:要么吸引更多用戶(hù),要么在單個(gè)用戶(hù)上榨取更多東西。既然單個(gè)用戶(hù)被榨取得差不多了,我們就拉新,擴大用戶(hù)規模,從做核心用戶(hù)推薦,變?yōu)獒槍λ杏脩?hù)推薦。只要用戶(hù)在百度知道上做了訪(fǎng)問(wèn),我們就去搜集他在全百度的數據。
  百度內部當時(shí)有一個(gè)項目叫“優(yōu)采云”,起源于百度在2008年做個(gè)性化廣告的設想,即,在用戶(hù)搜索時(shí)出現的廣告,不僅基于關(guān)鍵詞,還要基于用戶(hù)行為體驗,雖然當時(shí)做這件事情有點(diǎn)早,但的確幫我們奠定了根基,當時(shí)已經(jīng)搜集了貼吧、知道或網(wǎng)頁(yè)上各類(lèi)用戶(hù)行為數據,我們就在這個(gè)數據集上做訓練。
  用戶(hù)在瀏覽器進(jìn)行訪(fǎng)問(wèn)的時(shí)候,都會(huì )種下一個(gè)cookie,我們基于此將用戶(hù)瀏覽的信息都記錄下來(lái)。
  根據這些信息,我們抽取每個(gè)用戶(hù)權重最高的5個(gè)興趣詞,當用戶(hù)訪(fǎng)問(wèn)百度知道詳情頁(yè)的時(shí)候,我們基于他們的興趣詞做實(shí)時(shí)搜索,將七八個(gè)待解決的問(wèn)題放到頁(yè)面右側。
  做這個(gè)的效果非常好,新版上線(xiàn)后,百度知道的回答量提升了7.5%,而我也因此在2008年獲得“最佳百度人”獎。
  此后,我對百度知道又做了一些改良,包括讓它推薦的問(wèn)題更具多樣性等,還比如將用戶(hù)半年之前的興趣,通過(guò)權重進(jìn)行不斷迭代,使其衰減,而將最近的回答權重進(jìn)行調整。但我發(fā)現,想再做提升不容易。后來(lái)我就開(kāi)始做用戶(hù)行為分析。
  統一數據需求
  百度文化里有一條是——用數據說(shuō)話(huà),不管做產(chǎn)品調研還是效果評估,都要統計數據。做產(chǎn)品訪(fǎng)問(wèn)都會(huì )在服務(wù)器端留下日志,基于日志就可以做統計分析。
  但是,百度有眾多產(chǎn)品,需要對各種各樣的數據進(jìn)行統計分析,如何將數據統計這件事情做得更好一些?
  當時(shí)遇到幾個(gè)問(wèn)題,一是需求周期長(cháng),從提出統計需求到需求被處理,需要排隊,因為一共只有兩三個(gè)工程師處理這件事情,整個(gè)過(guò)程經(jīng)過(guò)寫(xiě)程序、寫(xiě)腳本到上線(xiàn),將統計結果發(fā)送給你需要幾天的時(shí)間。
  此外,運維成本高。每個(gè)需求統計都這樣處理,團隊很快維護了差不多六七百個(gè)統計程序,經(jīng)常出問(wèn)題。比如,貼吧被人爆了都會(huì )導致程序異常。
  還有一點(diǎn),運行速度慢,當時(shí)還是單機,300G文件跑起來(lái)沒(méi)問(wèn)題,但800G文件就跑不出來(lái)了。
  第四個(gè)問(wèn)題,員工成長(cháng)受限。讓員工寫(xiě)統計腳本,他們寫(xiě)3個(gè)月還行,寫(xiě)6個(gè)月就不想干了,寫(xiě)1年就立馬跑路了,這也導致團隊管理產(chǎn)生問(wèn)題。
  當時(shí)在百度內部,會(huì )基于Hadoop去跑一些任務(wù),但對于它能將問(wèn)題解決到什么程度,我心里沒(méi)有底。我們設立的架構是,先提供一個(gè)界面,期望各個(gè)業(yè)務(wù)線(xiàn)的產(chǎn)品經(jīng)理、工程師自己去做統計,而不是每次都把任務(wù)交給我們團隊。將界面設計得小白一點(diǎn)、應用性能高一點(diǎn)。其實(shí)只是讓大家通過(guò)界面配任務(wù),用調度器、代碼生成器,將其生成Hadoop的任務(wù)進(jìn)行調度。
  差不多一年半的時(shí)間里全公司都統一到這個(gè)平臺中去了,這也是我在百度8年期間,做得最有成就感的事情。
  后來(lái),我們與其它團隊進(jìn)行合作,花了兩個(gè)半月的時(shí)間,做了一個(gè)框架,并在2011年申請了專(zhuān)利,讓開(kāi)發(fā)效率提升,以前做一個(gè)統計需要幾天,現在只要幾分鐘或更短的時(shí)間就能搞定。很快,大家都集中到統計平臺,于是又產(chǎn)生了新問(wèn)題——資源過(guò)于膨脹,當時(shí)我們團隊只有五六個(gè)人,我覺(jué)得再這樣下去數據規模太大了,無(wú)法控制。
  當時(shí)我的思路受云計算影響,總想著(zhù)去做一個(gè)更牛的計算引擎,但后來(lái)覺(jué)得這個(gè)思路不對,還是應該以數據為中心。2011年上半年,我和另外一個(gè)項目經(jīng)理商量將兩個(gè)團隊合并,成立一個(gè)數據團隊。后來(lái),我們高級總監又從谷歌那邊挖來(lái)牛人,這個(gè)人之前在雅虎做了7年,后來(lái)在谷歌做了5年,一直做數據倉庫,他帶領(lǐng)我們按照構建整個(gè)用戶(hù)行為的思路去做數據倉庫。
  百度有七八十個(gè)核心業(yè)務(wù)線(xiàn),我們將這些業(yè)務(wù)線(xiàn)產(chǎn)生的數據進(jìn)行結構化,用谷歌的Protocol Buffer將其格式進(jìn)行轉化之后,再統一到一張表里面去。在這個(gè)基礎上,我們再建上層主題數據??傊?,讓全百度各種各樣的用戶(hù)行為數據都統一到一張表。最近這一年多以來(lái),我與很多大的IT公司交流過(guò),他們這一塊的數據都做得非常初級,根本沒(méi)有將基礎數據打通、把底層做好。
  從2008年我開(kāi)始做數據,到2012年,這三四年時(shí)間我慢慢想清楚,歸根結底而言,數據就是一條“流”,我們把數據從源頭搬到平臺上,在這個(gè)基礎上,再對數據進(jìn)行入庫、存儲建設及管理。然后再去做產(chǎn)品分析和各種各樣的應用。
  心得
  數據平臺有兩個(gè)關(guān)鍵環(huán)節,一個(gè)是元數據,一個(gè)是數據源。如果一個(gè)公司既能管理好元數據,又能管理好數據源,整個(gè)平臺就不會(huì )差。
  我們常用的業(yè)務(wù)數據庫,實(shí)際存儲的數據跟元信息都是在一起管理的,所以你感覺(jué)不到元數據本身的重要性,但是在大數據處理的情況下,就要把元數據分離出來(lái)。
  想把數據平臺做好,數據源很重要。拿百度來(lái)說(shuō),網(wǎng)頁(yè)搜索是它最核心的業(yè)務(wù)線(xiàn),其它的都是附屬業(yè)務(wù)線(xiàn),這些業(yè)務(wù)線(xiàn)都會(huì )用到網(wǎng)頁(yè)搜索。如果我要變更搜索,下游依賴(lài)它的業(yè)務(wù)程序可能都會(huì )掛掉,所以我進(jìn)行格式升級前都要事先告訴他們,不然可能會(huì )出問(wèn)題。但如果我們讓源頭本身結構化,下游就不需要跟著(zhù)源頭動(dòng),數據解析效率也會(huì )比較高。
  總結一下,我在百度做用戶(hù)行為數據的心得:
  第一點(diǎn),數據源很重要。這也是我們創(chuàng )業(yè)思路中核心的一點(diǎn)。在數據采集這一塊要“大”、“全”、“細”、“時(shí)”?!按蟆敝傅氖呛暧^(guān)的大而非物理的大。比如每天全國各個(gè)地級市的蘋(píng)果價(jià)格數據只有2MB,但基于它做一個(gè)蘋(píng)果的智能調度系統,就是一個(gè)大數據應用?!叭睆娬{多種數據源;“細”強調數據維度;“時(shí)”強調時(shí)效性。
  第二點(diǎn),用戶(hù)行為事件模型很有效。規范并結構化用戶(hù)行為之后,許多數據分析都會(huì )變得更容易。Event模型指的是事件模型,之前的叫做訪(fǎng)問(wèn)量模型。
  我把2000年后的互聯(lián)網(wǎng)分成3個(gè)階段:
  2000年~2006年是流量時(shí)代,誰(shuí)的流量大誰(shuí)就牛;
  2006年~2011年,進(jìn)入第二個(gè)階段,我們把它叫做用戶(hù)時(shí)代,誰(shuí)的用戶(hù)多誰(shuí)就牛。比如開(kāi)心網(wǎng)、人人網(wǎng)、Facebook,不再考量整體訪(fǎng)問(wèn)量,而是關(guān)心活躍用戶(hù)、注冊用戶(hù)數;
  2011年后到現在屬于訂單時(shí)代。不論是全民團購還是O2O、在線(xiàn)教育、互聯(lián)網(wǎng)金融,無(wú)非是將線(xiàn)下的交易搬到線(xiàn)上,它本身就是和訂單相關(guān)的。 查看全部

  神策數據創(chuàng )始人桑文鋒:我在百度如何解決用戶(hù)分析問(wèn)題
  - 整理丨周小燕 -
  編者按
  桑文鋒,前百度大數據部技術(shù)經(jīng)理。2007年加入百度,從零構建了百度的用戶(hù)行為大數據處理平臺。2015年4月離職創(chuàng )建神策數據,為互聯(lián)網(wǎng)公司提供大數據分析服務(wù)。目前的客戶(hù)有近200家,包括聚美優(yōu)品、多盟、秒拍、融360等。
  近日,桑文鋒在小飯桌人工智能創(chuàng )業(yè)班上做了主題演講,主要包括以下幾點(diǎn):
  1、百度數據從網(wǎng)頁(yè)數據到用戶(hù)行為數據的演變;
  2、搜索引擎發(fā)展的3個(gè)階段;
  3、提升“百度知道”回答量的幾次試驗;
  4、做數據平臺的兩個(gè)關(guān)鍵問(wèn)題:元數據和數據源。
  小飯桌對此進(jìn)行了不影響原意的整理,以下為分享實(shí)錄:
  2007年,我在“百度知道”做產(chǎn)品研發(fā),在這之后7年多時(shí)間里,我的工作都是圍繞用戶(hù)行為數據建設的。
  去年4月份,我從百度離職后創(chuàng )立“神策數據”,為互聯(lián)網(wǎng)公司解決用戶(hù)行為分析問(wèn)題,下面我的演講內容都與用戶(hù)分析相關(guān)。
  
  百度內部的數據板塊
  百度內部?jì)蓧K數據比較重要:網(wǎng)頁(yè)數據和用戶(hù)行為數據。就網(wǎng)頁(yè)數據而言,百度在2000年做搜索業(yè)務(wù)時(shí),全國中文網(wǎng)頁(yè)數量不超過(guò)2億個(gè),而從網(wǎng)頁(yè)上整體抓下來(lái)的數據中,只有幾十GB。谷歌早期抓了2500多萬(wàn)個(gè)網(wǎng)頁(yè)的內容,在1997年和1998年,從網(wǎng)頁(yè)抓取下來(lái)的數據只有47GB。
  谷歌與百度都在不斷迭代,大約3年前開(kāi)始,百度開(kāi)始進(jìn)入相對穩定狀態(tài),常用網(wǎng)頁(yè)庫數據有幾百PB,網(wǎng)頁(yè)庫數量趨于穩定。
  在用戶(hù)行為數據這一塊,百度經(jīng)歷過(guò)幾個(gè)階段。2008年,百度知道、百度百科等新產(chǎn)品每天共產(chǎn)生幾十TB新數據。去年我離開(kāi)百度時(shí),每天能采集到的用戶(hù)行為數據達到PB級別。而現在百度每天產(chǎn)生的數據比去年還要增長(cháng)50%以上,即差不多幾個(gè)月的時(shí)間就能產(chǎn)生幾百PB數據,跟之前整個(gè)網(wǎng)頁(yè)庫數據一樣大。
  只要我們創(chuàng )造一個(gè)內容之后,它就會(huì )被多次瀏覽、多次訪(fǎng)問(wèn)。所以,用戶(hù)行為數據是比網(wǎng)頁(yè)本身高一個(gè)數量級的數據。
  搜索引擎發(fā)展的3個(gè)階段
  最開(kāi)始,搜索是內容相關(guān)性的。當時(shí),網(wǎng)頁(yè)和線(xiàn)上材料都不多,只要你搜的關(guān)鍵詞與實(shí)際網(wǎng)頁(yè)內容能夠匹配就可以。
  但隨著(zhù)內容增多,誰(shuí)排在前面、誰(shuí)排在后面成了問(wèn)題。最初,所有搜索引擎都基于關(guān)鍵詞匹配相關(guān)內容,但作弊現象開(kāi)始出現,如果將垃圾詞塞進(jìn)去,用戶(hù)根本無(wú)法搜索到有用的東西。
  但當時(shí)有那么幾個(gè)人十分聰明,一個(gè)是谷歌的拉里佩奇,一個(gè)是百度的李彥宏,還有一個(gè)是做學(xué)術(shù)的。
  他們三個(gè)人都意識到,鏈接本身很重要,一個(gè)網(wǎng)頁(yè)被鏈接多少次,決定這個(gè)網(wǎng)頁(yè)本身的權重是多少。而這也是谷歌、百度起家的東西,許多人以為百度抄襲了谷歌,但我研究了一下李彥宏和拉里佩奇發(fā)的專(zhuān)利,李彥宏的專(zhuān)利是在1997年提的,拉里佩奇的專(zhuān)利是1998年提的,李彥宏還更早一些。
  這就進(jìn)入到搜索引擎第二個(gè)階段,基于鏈接關(guān)系決定誰(shuí)排在前面。
  2005年左右,搜索引擎進(jìn)入第三波——基于用戶(hù)行為。雖然從網(wǎng)頁(yè)權重來(lái)看,有些東西排在前面,但新問(wèn)題又產(chǎn)生了——一個(gè)老網(wǎng)頁(yè)一定會(huì )比新網(wǎng)頁(yè)的權重高,但新的頁(yè)面可能更能滿(mǎn)足用戶(hù)需求。而群眾的眼睛是雪亮的,用戶(hù)進(jìn)行搜索時(shí),看到比較好的結果就會(huì )點(diǎn)擊。
  那么,可以基于“用戶(hù)點(diǎn)擊”這個(gè)數據,決定將什么排到前面。到目前為止,用戶(hù)行為已經(jīng)占據非常大的比重,從一些業(yè)內專(zhuān)家的說(shuō)法來(lái)看,用戶(hù)行為權重已經(jīng)超過(guò)50%了。
  在百度7年多的經(jīng)歷
  接下來(lái)我將重點(diǎn)分享,我在百度7年多以來(lái),做用戶(hù)行為數據的經(jīng)歷。
  我在百度知道做了一年研發(fā)后,對于接下來(lái)該怎么做比較困惑?!鞍俣戎馈?005年上線(xiàn),到2008年的時(shí)候已經(jīng)歷時(shí)3年,產(chǎn)品形態(tài)就是一問(wèn)一答,產(chǎn)品本身發(fā)展得非常成熟、數據非常穩定,每天有9萬(wàn)多個(gè)提問(wèn)、25萬(wàn)個(gè)回答。
  我覺(jué)得改造這款產(chǎn)品,需要研究用戶(hù),針對不同用戶(hù)采用不同策略,甚至給他們展示不同的樣式和界面,來(lái)提升百度知道的產(chǎn)品黏性和價(jià)值。
  2008年,為提升百度知道的回答量,我們做了兩個(gè)功能。
  第一個(gè)功能基于核心用戶(hù)。我們抽了35萬(wàn)個(gè)近一個(gè)月回答超過(guò)6個(gè)問(wèn)題的核心用戶(hù),用3個(gè)多月時(shí)間,根據他們以往回答的問(wèn)題抽取了17萬(wàn)多個(gè)興趣詞,結果新版上線(xiàn)后,卻發(fā)現用戶(hù)回答量沒(méi)有發(fā)生變化。
  我們當時(shí)分析原因,發(fā)現做個(gè)性化推薦之后,用戶(hù)無(wú)非從之前到分類(lèi)頁(yè)面回答問(wèn)題變?yōu)榈絺€(gè)人中心,但平均回答6個(gè)問(wèn)題的量沒(méi)有變化。
  后來(lái)我想,提升產(chǎn)品無(wú)非就兩種思路:要么吸引更多用戶(hù),要么在單個(gè)用戶(hù)上榨取更多東西。既然單個(gè)用戶(hù)被榨取得差不多了,我們就拉新,擴大用戶(hù)規模,從做核心用戶(hù)推薦,變?yōu)獒槍λ杏脩?hù)推薦。只要用戶(hù)在百度知道上做了訪(fǎng)問(wèn),我們就去搜集他在全百度的數據。
  百度內部當時(shí)有一個(gè)項目叫“優(yōu)采云”,起源于百度在2008年做個(gè)性化廣告的設想,即,在用戶(hù)搜索時(shí)出現的廣告,不僅基于關(guān)鍵詞,還要基于用戶(hù)行為體驗,雖然當時(shí)做這件事情有點(diǎn)早,但的確幫我們奠定了根基,當時(shí)已經(jīng)搜集了貼吧、知道或網(wǎng)頁(yè)上各類(lèi)用戶(hù)行為數據,我們就在這個(gè)數據集上做訓練。
  用戶(hù)在瀏覽器進(jìn)行訪(fǎng)問(wèn)的時(shí)候,都會(huì )種下一個(gè)cookie,我們基于此將用戶(hù)瀏覽的信息都記錄下來(lái)。
  根據這些信息,我們抽取每個(gè)用戶(hù)權重最高的5個(gè)興趣詞,當用戶(hù)訪(fǎng)問(wèn)百度知道詳情頁(yè)的時(shí)候,我們基于他們的興趣詞做實(shí)時(shí)搜索,將七八個(gè)待解決的問(wèn)題放到頁(yè)面右側。
  做這個(gè)的效果非常好,新版上線(xiàn)后,百度知道的回答量提升了7.5%,而我也因此在2008年獲得“最佳百度人”獎。
  此后,我對百度知道又做了一些改良,包括讓它推薦的問(wèn)題更具多樣性等,還比如將用戶(hù)半年之前的興趣,通過(guò)權重進(jìn)行不斷迭代,使其衰減,而將最近的回答權重進(jìn)行調整。但我發(fā)現,想再做提升不容易。后來(lái)我就開(kāi)始做用戶(hù)行為分析。
  統一數據需求
  百度文化里有一條是——用數據說(shuō)話(huà),不管做產(chǎn)品調研還是效果評估,都要統計數據。做產(chǎn)品訪(fǎng)問(wèn)都會(huì )在服務(wù)器端留下日志,基于日志就可以做統計分析。
  但是,百度有眾多產(chǎn)品,需要對各種各樣的數據進(jìn)行統計分析,如何將數據統計這件事情做得更好一些?
  當時(shí)遇到幾個(gè)問(wèn)題,一是需求周期長(cháng),從提出統計需求到需求被處理,需要排隊,因為一共只有兩三個(gè)工程師處理這件事情,整個(gè)過(guò)程經(jīng)過(guò)寫(xiě)程序、寫(xiě)腳本到上線(xiàn),將統計結果發(fā)送給你需要幾天的時(shí)間。
  此外,運維成本高。每個(gè)需求統計都這樣處理,團隊很快維護了差不多六七百個(gè)統計程序,經(jīng)常出問(wèn)題。比如,貼吧被人爆了都會(huì )導致程序異常。
  還有一點(diǎn),運行速度慢,當時(shí)還是單機,300G文件跑起來(lái)沒(méi)問(wèn)題,但800G文件就跑不出來(lái)了。
  第四個(gè)問(wèn)題,員工成長(cháng)受限。讓員工寫(xiě)統計腳本,他們寫(xiě)3個(gè)月還行,寫(xiě)6個(gè)月就不想干了,寫(xiě)1年就立馬跑路了,這也導致團隊管理產(chǎn)生問(wèn)題。
  當時(shí)在百度內部,會(huì )基于Hadoop去跑一些任務(wù),但對于它能將問(wèn)題解決到什么程度,我心里沒(méi)有底。我們設立的架構是,先提供一個(gè)界面,期望各個(gè)業(yè)務(wù)線(xiàn)的產(chǎn)品經(jīng)理、工程師自己去做統計,而不是每次都把任務(wù)交給我們團隊。將界面設計得小白一點(diǎn)、應用性能高一點(diǎn)。其實(shí)只是讓大家通過(guò)界面配任務(wù),用調度器、代碼生成器,將其生成Hadoop的任務(wù)進(jìn)行調度。
  差不多一年半的時(shí)間里全公司都統一到這個(gè)平臺中去了,這也是我在百度8年期間,做得最有成就感的事情。
  后來(lái),我們與其它團隊進(jìn)行合作,花了兩個(gè)半月的時(shí)間,做了一個(gè)框架,并在2011年申請了專(zhuān)利,讓開(kāi)發(fā)效率提升,以前做一個(gè)統計需要幾天,現在只要幾分鐘或更短的時(shí)間就能搞定。很快,大家都集中到統計平臺,于是又產(chǎn)生了新問(wèn)題——資源過(guò)于膨脹,當時(shí)我們團隊只有五六個(gè)人,我覺(jué)得再這樣下去數據規模太大了,無(wú)法控制。
  當時(shí)我的思路受云計算影響,總想著(zhù)去做一個(gè)更牛的計算引擎,但后來(lái)覺(jué)得這個(gè)思路不對,還是應該以數據為中心。2011年上半年,我和另外一個(gè)項目經(jīng)理商量將兩個(gè)團隊合并,成立一個(gè)數據團隊。后來(lái),我們高級總監又從谷歌那邊挖來(lái)牛人,這個(gè)人之前在雅虎做了7年,后來(lái)在谷歌做了5年,一直做數據倉庫,他帶領(lǐng)我們按照構建整個(gè)用戶(hù)行為的思路去做數據倉庫。
  百度有七八十個(gè)核心業(yè)務(wù)線(xiàn),我們將這些業(yè)務(wù)線(xiàn)產(chǎn)生的數據進(jìn)行結構化,用谷歌的Protocol Buffer將其格式進(jìn)行轉化之后,再統一到一張表里面去。在這個(gè)基礎上,我們再建上層主題數據??傊?,讓全百度各種各樣的用戶(hù)行為數據都統一到一張表。最近這一年多以來(lái),我與很多大的IT公司交流過(guò),他們這一塊的數據都做得非常初級,根本沒(méi)有將基礎數據打通、把底層做好。
  從2008年我開(kāi)始做數據,到2012年,這三四年時(shí)間我慢慢想清楚,歸根結底而言,數據就是一條“流”,我們把數據從源頭搬到平臺上,在這個(gè)基礎上,再對數據進(jìn)行入庫、存儲建設及管理。然后再去做產(chǎn)品分析和各種各樣的應用。
  心得
  數據平臺有兩個(gè)關(guān)鍵環(huán)節,一個(gè)是元數據,一個(gè)是數據源。如果一個(gè)公司既能管理好元數據,又能管理好數據源,整個(gè)平臺就不會(huì )差。
  我們常用的業(yè)務(wù)數據庫,實(shí)際存儲的數據跟元信息都是在一起管理的,所以你感覺(jué)不到元數據本身的重要性,但是在大數據處理的情況下,就要把元數據分離出來(lái)。
  想把數據平臺做好,數據源很重要。拿百度來(lái)說(shuō),網(wǎng)頁(yè)搜索是它最核心的業(yè)務(wù)線(xiàn),其它的都是附屬業(yè)務(wù)線(xiàn),這些業(yè)務(wù)線(xiàn)都會(huì )用到網(wǎng)頁(yè)搜索。如果我要變更搜索,下游依賴(lài)它的業(yè)務(wù)程序可能都會(huì )掛掉,所以我進(jìn)行格式升級前都要事先告訴他們,不然可能會(huì )出問(wèn)題。但如果我們讓源頭本身結構化,下游就不需要跟著(zhù)源頭動(dòng),數據解析效率也會(huì )比較高。
  總結一下,我在百度做用戶(hù)行為數據的心得:
  第一點(diǎn),數據源很重要。這也是我們創(chuàng )業(yè)思路中核心的一點(diǎn)。在數據采集這一塊要“大”、“全”、“細”、“時(shí)”?!按蟆敝傅氖呛暧^(guān)的大而非物理的大。比如每天全國各個(gè)地級市的蘋(píng)果價(jià)格數據只有2MB,但基于它做一個(gè)蘋(píng)果的智能調度系統,就是一個(gè)大數據應用?!叭睆娬{多種數據源;“細”強調數據維度;“時(shí)”強調時(shí)效性。
  第二點(diǎn),用戶(hù)行為事件模型很有效。規范并結構化用戶(hù)行為之后,許多數據分析都會(huì )變得更容易。Event模型指的是事件模型,之前的叫做訪(fǎng)問(wèn)量模型。
  我把2000年后的互聯(lián)網(wǎng)分成3個(gè)階段:
  2000年~2006年是流量時(shí)代,誰(shuí)的流量大誰(shuí)就牛;
  2006年~2011年,進(jìn)入第二個(gè)階段,我們把它叫做用戶(hù)時(shí)代,誰(shuí)的用戶(hù)多誰(shuí)就牛。比如開(kāi)心網(wǎng)、人人網(wǎng)、Facebook,不再考量整體訪(fǎng)問(wèn)量,而是關(guān)心活躍用戶(hù)、注冊用戶(hù)數;
  2011年后到現在屬于訂單時(shí)代。不論是全民團購還是O2O、在線(xiàn)教育、互聯(lián)網(wǎng)金融,無(wú)非是將線(xiàn)下的交易搬到線(xiàn)上,它本身就是和訂單相關(guān)的。

網(wǎng)站權重上不去?4個(gè)小技巧網(wǎng)站權重提升輕松搞定!

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 96 次瀏覽 ? 2022-05-10 20:51 ? 來(lái)自相關(guān)話(huà)題

  網(wǎng)站權重上不去?4個(gè)小技巧網(wǎng)站權重提升輕松搞定!
  
  網(wǎng)站權重值是SEO的重要一部分,網(wǎng)站的權重值越大,網(wǎng)站在搜索引擎中的分量就越重, 提升網(wǎng)站的權重值,可以讓網(wǎng)站頁(yè)面擁有更快的收錄速度,對于網(wǎng)站的排名也有著(zhù)很大的影響。
  權重數值越大,說(shuō)明該網(wǎng)站自然流量越大,自然流量大,那么相應的關(guān)鍵詞排名就相對靠前。
  權重、流量、關(guān)鍵詞排名三者之間的關(guān)系是相輔相成的。所以很多企業(yè)在做SEO優(yōu)化時(shí)都會(huì )圍繞提升網(wǎng)站權重來(lái)做。
  
  但很多企業(yè)苦于網(wǎng)站權重一直無(wú)法提高。今天老牛給大家帶來(lái)4個(gè)方面提升網(wǎng)站權重的小技巧:
  一、提高網(wǎng)站內容的質(zhì)量
  這個(gè)主要是提高每個(gè)頁(yè)面的標題和頁(yè)面內容相關(guān)性。
  比如:我們的文章是關(guān)于“奶茶招商加盟的”的。那我們的標題和內容應該圍繞“奶茶招商加盟”來(lái)展開(kāi)。
  同時(shí),文字、圖片和圖標都要傳達“奶茶招商加盟”意思;滿(mǎn)足大部分搜索“奶茶招商加盟”的用戶(hù)潛在需求。
  二、提高并固定網(wǎng)站的更新頻率
  指網(wǎng)站更新的周期,更新頻率最好每天保持定時(shí)、定量的更新。
  文章的內容以原創(chuàng )為主,實(shí)在不能全部進(jìn)行原創(chuàng )的話(huà)那至少也要對轉載原文進(jìn)行偽原創(chuàng )處理,考慮到競爭度的問(wèn)題,文章可以以長(cháng)尾關(guān)鍵詞來(lái)來(lái)進(jìn)行優(yōu)化,這樣能獲得更好的效果。
  如果你的網(wǎng)站是每天更新一次的,最好長(cháng)期保持這個(gè)頻率,并且每天在同一個(gè)時(shí)間點(diǎn)內進(jìn)行更新,讓百度蜘蛛養成習慣每天有規律的來(lái)爬你的網(wǎng)站,同時(shí)每天保持網(wǎng)站的更新也能讓你的快照更新的更快,
  三、選擇友鏈網(wǎng)站時(shí)需要搞清楚的7個(gè)數據
  和同類(lèi)型的網(wǎng)站多做友情鏈接交流,在一定程度上也能夠促進(jìn)網(wǎng)站權重。在友鏈網(wǎng)站的選擇上要注意這幾點(diǎn):
  1)挑選同類(lèi)型的網(wǎng)站,這樣兩個(gè)網(wǎng)站之間相互關(guān)聯(lián)性大,百度等搜索引擎審閱、抓取等而已快速;
  2)挑選安全性高的網(wǎng)站,這兒指的安全性是指做交流鏈接的網(wǎng)站的內容安全性,一旦對方被黑,和其做鏈接交流的網(wǎng)站也很簡(jiǎn)單被降權或許被黑;
  3)適當控制數量,做鏈接的數量最好有必定的約束,數量太多,簡(jiǎn)單分流,網(wǎng)站的權重最后為零。
  四、在高權重網(wǎng)站發(fā)軟文
  在論壇、博客、社區等平臺發(fā)軟文也能提高網(wǎng)站權重,而且平臺自身權重越高對網(wǎng)站自身的權重提升越有利。
  其中,百度搜索權重最高的就是百度自家產(chǎn)品,打開(kāi)百度產(chǎn)品大全即可。
  
  當然不是全部產(chǎn)品都做,推薦的產(chǎn)品有百度知道、百度貼吧 、百度文庫 、百度百科、百度圖片 、百家號 。
  其他平臺就要參考其權重高低,去站長(cháng)工具網(wǎng)站查詢(xún)相關(guān)網(wǎng)站權重,而且現在確定平臺的權重也不要光看百度權重。
  
  更多平臺的選擇可以參照這張思維導圖,篩選掉很多不是特別給力的渠道,將有價(jià)值的平臺給大家展示出來(lái),新人快速上車(chē),老手提提車(chē)速:
  
  
  網(wǎng)站權重的提升是一個(gè)循序漸進(jìn)長(cháng)期的過(guò)程,掌握正確的網(wǎng)站優(yōu)化方法才能讓網(wǎng)站的權重提升的更快、更穩定。
  但現金流受限,各環(huán)節都在節流的后疫情時(shí)代,如果要穩定長(cháng)期投入人力成本去做網(wǎng)站權重以及SEO優(yōu)化等工作,并不是一個(gè)適合的選擇。
  想要互聯(lián)網(wǎng)賺錢(qián)就必需先投錢(qián),投錢(qián)不一定能賺錢(qián),但不投錢(qián)一定不能賺錢(qián)!難以保證投入產(chǎn)出比,風(fēng)險大,老板就沒(méi)安全感!
  疫情期,不轉型互聯(lián)網(wǎng)是等死!但轉型互聯(lián)網(wǎng)投入大量現金流,可能是找死!
  
  6月11日(周四)牛商微講堂線(xiàn)上視頻直播,牛商網(wǎng)網(wǎng)絡(luò )營(yíng)銷(xiāo)實(shí)戰專(zhuān)家劉俊程老師為大家帶來(lái)《如何利用互聯(lián)網(wǎng)工具快速提升企業(yè)官網(wǎng)排名?》專(zhuān)題分享,助力企業(yè)打破現狀!
  課程內容有:
  1.如何做好網(wǎng)站權重的提升?
  2.如何用科學(xué)的方法快速寫(xiě)好文章?
  3.如何了解競爭對手并快速超越?
  4.老板如何利用數據高效管理運營(yíng)團隊?
  課程收獲:
  1.了解企業(yè)低成本提升網(wǎng)站權重的創(chuàng )新型工具及方法
  2.了解企業(yè)低成本提升排名、獲得免費流量的方法
  3.了解企業(yè)如何運用數據化高效管理運營(yíng)團隊
  4.了解企業(yè)快速運營(yíng)見(jiàn)效的互聯(lián)網(wǎng)運營(yíng)工具系統
  話(huà)不多說(shuō),掃碼搶名額!
   查看全部

  網(wǎng)站權重上不去?4個(gè)小技巧網(wǎng)站權重提升輕松搞定!
  
  網(wǎng)站權重值是SEO的重要一部分,網(wǎng)站的權重值越大,網(wǎng)站在搜索引擎中的分量就越重, 提升網(wǎng)站的權重值,可以讓網(wǎng)站頁(yè)面擁有更快的收錄速度,對于網(wǎng)站的排名也有著(zhù)很大的影響。
  權重數值越大,說(shuō)明該網(wǎng)站自然流量越大,自然流量大,那么相應的關(guān)鍵詞排名就相對靠前。
  權重、流量、關(guān)鍵詞排名三者之間的關(guān)系是相輔相成的。所以很多企業(yè)在做SEO優(yōu)化時(shí)都會(huì )圍繞提升網(wǎng)站權重來(lái)做。
  
  但很多企業(yè)苦于網(wǎng)站權重一直無(wú)法提高。今天老牛給大家帶來(lái)4個(gè)方面提升網(wǎng)站權重的小技巧:
  一、提高網(wǎng)站內容的質(zhì)量
  這個(gè)主要是提高每個(gè)頁(yè)面的標題和頁(yè)面內容相關(guān)性。
  比如:我們的文章是關(guān)于“奶茶招商加盟的”的。那我們的標題和內容應該圍繞“奶茶招商加盟”來(lái)展開(kāi)。
  同時(shí),文字、圖片和圖標都要傳達“奶茶招商加盟”意思;滿(mǎn)足大部分搜索“奶茶招商加盟”的用戶(hù)潛在需求。
  二、提高并固定網(wǎng)站的更新頻率
  指網(wǎng)站更新的周期,更新頻率最好每天保持定時(shí)、定量的更新。
  文章的內容以原創(chuàng )為主,實(shí)在不能全部進(jìn)行原創(chuàng )的話(huà)那至少也要對轉載原文進(jìn)行偽原創(chuàng )處理,考慮到競爭度的問(wèn)題,文章可以以長(cháng)尾關(guān)鍵詞來(lái)來(lái)進(jìn)行優(yōu)化,這樣能獲得更好的效果。
  如果你的網(wǎng)站是每天更新一次的,最好長(cháng)期保持這個(gè)頻率,并且每天在同一個(gè)時(shí)間點(diǎn)內進(jìn)行更新,讓百度蜘蛛養成習慣每天有規律的來(lái)爬你的網(wǎng)站,同時(shí)每天保持網(wǎng)站的更新也能讓你的快照更新的更快,
  三、選擇友鏈網(wǎng)站時(shí)需要搞清楚的7個(gè)數據
  和同類(lèi)型的網(wǎng)站多做友情鏈接交流,在一定程度上也能夠促進(jìn)網(wǎng)站權重。在友鏈網(wǎng)站的選擇上要注意這幾點(diǎn):
  1)挑選同類(lèi)型的網(wǎng)站,這樣兩個(gè)網(wǎng)站之間相互關(guān)聯(lián)性大,百度等搜索引擎審閱、抓取等而已快速;
  2)挑選安全性高的網(wǎng)站,這兒指的安全性是指做交流鏈接的網(wǎng)站的內容安全性,一旦對方被黑,和其做鏈接交流的網(wǎng)站也很簡(jiǎn)單被降權或許被黑;
  3)適當控制數量,做鏈接的數量最好有必定的約束,數量太多,簡(jiǎn)單分流,網(wǎng)站的權重最后為零。
  四、在高權重網(wǎng)站發(fā)軟文
  在論壇、博客、社區等平臺發(fā)軟文也能提高網(wǎng)站權重,而且平臺自身權重越高對網(wǎng)站自身的權重提升越有利。
  其中,百度搜索權重最高的就是百度自家產(chǎn)品,打開(kāi)百度產(chǎn)品大全即可。
  
  當然不是全部產(chǎn)品都做,推薦的產(chǎn)品有百度知道、百度貼吧 、百度文庫 、百度百科、百度圖片 、百家號 。
  其他平臺就要參考其權重高低,去站長(cháng)工具網(wǎng)站查詢(xún)相關(guān)網(wǎng)站權重,而且現在確定平臺的權重也不要光看百度權重。
  
  更多平臺的選擇可以參照這張思維導圖,篩選掉很多不是特別給力的渠道,將有價(jià)值的平臺給大家展示出來(lái),新人快速上車(chē),老手提提車(chē)速:
  
  
  網(wǎng)站權重的提升是一個(gè)循序漸進(jìn)長(cháng)期的過(guò)程,掌握正確的網(wǎng)站優(yōu)化方法才能讓網(wǎng)站的權重提升的更快、更穩定。
  但現金流受限,各環(huán)節都在節流的后疫情時(shí)代,如果要穩定長(cháng)期投入人力成本去做網(wǎng)站權重以及SEO優(yōu)化等工作,并不是一個(gè)適合的選擇。
  想要互聯(lián)網(wǎng)賺錢(qián)就必需先投錢(qián),投錢(qián)不一定能賺錢(qián),但不投錢(qián)一定不能賺錢(qián)!難以保證投入產(chǎn)出比,風(fēng)險大,老板就沒(méi)安全感!
  疫情期,不轉型互聯(lián)網(wǎng)是等死!但轉型互聯(lián)網(wǎng)投入大量現金流,可能是找死!
  
  6月11日(周四)牛商微講堂線(xiàn)上視頻直播,牛商網(wǎng)網(wǎng)絡(luò )營(yíng)銷(xiāo)實(shí)戰專(zhuān)家劉俊程老師為大家帶來(lái)《如何利用互聯(lián)網(wǎng)工具快速提升企業(yè)官網(wǎng)排名?》專(zhuān)題分享,助力企業(yè)打破現狀!
  課程內容有:
  1.如何做好網(wǎng)站權重的提升?
  2.如何用科學(xué)的方法快速寫(xiě)好文章?
  3.如何了解競爭對手并快速超越?
  4.老板如何利用數據高效管理運營(yíng)團隊?
  課程收獲:
  1.了解企業(yè)低成本提升網(wǎng)站權重的創(chuàng )新型工具及方法
  2.了解企業(yè)低成本提升排名、獲得免費流量的方法
  3.了解企業(yè)如何運用數據化高效管理運營(yíng)團隊
  4.了解企業(yè)快速運營(yíng)見(jiàn)效的互聯(lián)網(wǎng)運營(yíng)工具系統
  話(huà)不多說(shuō),掃碼搶名額!
  

揭秘Google排名的205個(gè)因素(百度80%管用)--上

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 88 次瀏覽 ? 2022-05-09 19:38 ? 來(lái)自相關(guān)話(huà)題

  揭秘Google排名的205個(gè)因素(百度80%管用)--上
  不少人都知道Google的搜索排名算法使用200多個(gè)因素,但具體是什么呢?
  除了Google的核心算法工程師,幾乎沒(méi)有人知道完整真相。
  而所謂的SEO技術(shù),很多時(shí)候是分析、測試搜索獲得的簡(jiǎn)單結論,有些優(yōu)化方向是明確的,比如良好的用戶(hù)體驗、優(yōu)質(zhì)內容帶來(lái)的用戶(hù)行為變化對SEO的影響;而有些優(yōu)化方向只能靠猜測。
  由于搜索流量的巨大價(jià)值,很多網(wǎng)站不惜挺而走險,利用算法漏洞去作弊,以期獲得更多的流量。
  俗話(huà)說(shuō):“道高一尺魔高一丈”,黑帽SEO與搜索引擎之間的不斷博弈,讓搜索算法也不斷迭代更新。
  除了博弈帶來(lái)的算法變化,新媒體和技術(shù)的誕生也讓搜索引擎的算法不斷進(jìn)化,比如Twitter、Facebook等社交媒體對搜索的影響。
  比如這幾年Google發(fā)布了熊貓算法、企鵝算法的各個(gè)版本,百度也發(fā)布了石榴、綠蘿、冰桶等算法。
  每個(gè)大的搜索算法迭代都有核心目的和互聯(lián)網(wǎng)環(huán)境變化的影響。
  都說(shuō)“讀史可以鑒今”,那我們一起研究下Google使用過(guò)的排名因素(很多現在依然有效),希望能窺探今后搜索引擎演化的端倪。
  以下一共有205條排名因素,有些已被證實(shí),有些有爭議,有些依然只是猜測。
  以下內容翻譯自:Google’s 200 Ranking Factors: The Complete List
  一、域名因素1、域名年齡
  谷歌知名工程師Matt Cutts曾在這個(gè)Youtube視頻中說(shuō)過(guò):“注冊6個(gè)月與注冊一年的域名差別不那么大”。
  換句話(huà)說(shuō):Google確實(shí)使用域名年齡作為一種因素考慮,但權重不高。
  2、頂級域名中出現關(guān)鍵詞
  不像過(guò)去有助于提升排名,但域名中的關(guān)鍵詞仍然作為相關(guān)性的一種信號。
  3、域名開(kāi)頭包含目標關(guān)鍵詞
  在域名開(kāi)頭包含目標關(guān)鍵詞,相對于不含關(guān)鍵詞或尾部包含關(guān)鍵詞的域名有優(yōu)勢。
  4、域名到期時(shí)間
  Google于2015年3月31日申請了“基于歷史數據的信息檢索”的專(zhuān)利,某世界知名SEO討論也討論過(guò)其中的細節,暗示Google確實(shí)研究域名注冊和更新日期。
  (1) 域名注冊日期可以作為網(wǎng)站成立日期的參考
  (2) 域名的一些信息有助于區分合法和非法網(wǎng)站,有價(jià)值的網(wǎng)站(合法)
  一般會(huì )多支付幾年的域名費用,而違法、灰色行業(yè)則很少使用超過(guò)一年。所以打算好好做網(wǎng)站的朋友多續費幾年域名吧。
  5、子域名使用關(guān)鍵詞
  Moz網(wǎng)站2011年的報告指出,子域名中出現關(guān)鍵詞可以提升排名。
  比如我們網(wǎng)站的機械行業(yè)子域名就用了“機械”的拼音,看來(lái)這種做法有一定好處。
  /
  6、域名歷史
  如果域名所有權幾經(jīng)更迭,那Google可能會(huì )重置網(wǎng)站的歷史記錄,以前域名的反向鏈接價(jià)值會(huì )被丟掉。
  7、完全匹配域名
  如果域名和關(guān)鍵詞完全一致,如果網(wǎng)站質(zhì)量很高,這依然是優(yōu)勢。否則反而更容易被識別懲罰。
  
  8、公開(kāi)與隱藏Whois信息
  Matt Cutts在2006年的Pubcon會(huì )議中說(shuō)到:“當檢查網(wǎng)站的Whois時(shí),發(fā)現不少都有隱私保護服務(wù),這很不尋常?!蜷_(kāi)Whois隱私保護并不是默認的(不少是收費服務(wù)),如果把這些因素放到一起考慮,你的網(wǎng)站會(huì )被歸到某個(gè)類(lèi)別對待(打開(kāi)隱私保護的站),而不獨立了(可能被牽連)”
  9、懲罰網(wǎng)站所有者
  如果某人被識別為垃圾郵件發(fā)送者,那Google會(huì )仔細檢查該人擁有的網(wǎng)站是否有意義。
  10、國家專(zhuān)屬域名
  使用國際/地區專(zhuān)屬頂級域名(.cn、.ca等)可以提升在這些國家和地區的排名,但限制了網(wǎng)站在全球獲得排名的能力。
  二、頁(yè)面因素11、標題中包含關(guān)鍵詞
  標題是第二重要的頁(yè)面因素(除頁(yè)面內容之外),在頁(yè)面SEO優(yōu)化中作用巨大。
  根據的數據,標題開(kāi)頭使用關(guān)鍵詞比結尾使用效果要好,如下圖所示:
  
  還有Meta description中出現關(guān)鍵詞也是高相關(guān)性的信號,現在不是特別重要,但依然有些用。
  12、H1標簽中出現關(guān)鍵詞
  H1標簽是”第二個(gè)標題標簽“,也非常重要。
  根據一些相關(guān)性研究表明:
  
  分值越低,說(shuō)明排名越靠前。從測試結果看,H1標簽作用比P標簽對排名的影響大。
  13、頁(yè)面中出現關(guān)鍵詞
  頁(yè)面中有關(guān)鍵詞比其他任何相關(guān)性都更有說(shuō)服力。
  14、內容長(cháng)度
  文章長(cháng)一般會(huì )包含更多關(guān)鍵詞,涵蓋的內容也會(huì )更廣泛,與短小精悍的文章比有優(yōu)勢。
  SERPIQ網(wǎng)站發(fā)現內容長(cháng)度于搜索結果排名相關(guān)。
  
  測試結果:平均長(cháng)度為2500個(gè)單詞的文章排名效果最好,不知道有沒(méi)有人針對百度測試過(guò)中文頁(yè)面篇幅對搜索結果的影響。
  15、關(guān)鍵詞密度
  雖然不像以前那么重要,但依然會(huì )被Google用來(lái)確定網(wǎng)頁(yè)主題。但關(guān)鍵詞密度過(guò)大會(huì )有反作用。
  16、內容中的潛在語(yǔ)義索引關(guān)鍵詞(LSI)
  潛在語(yǔ)義索引關(guān)鍵詞(Latent Semantic Indexing = LSI)幫助搜索引擎從多義詞中提取具體意義(比如 Apple 識別為蘋(píng)果公司還是蘋(píng)果這個(gè)水果),所以頁(yè)面中出現的其他相關(guān)詞很重要。是否存在LSI詞可能作為內容質(zhì)量的評判標準。
  17、Title和Meta Description中的潛在索引關(guān)鍵詞
  與網(wǎng)頁(yè)內容一樣,Meta標簽中的潛在索引關(guān)鍵詞(LSI)有助于Google辨別同義詞,也可以作為頁(yè)面相關(guān)性信號。
  18、頁(yè)面加載速度
  無(wú)論Google還是Bing都使用頁(yè)面加載速度作為一個(gè)排名因素。搜索引擎蜘蛛會(huì )根據頁(yè)面代碼和文件大小估算網(wǎng)站速度。
  19、重復內容
  同一網(wǎng)站上的相同內容(可能稍作修改)可能會(huì )對不少人都知道Google的搜索排名算法使用200多個(gè)因素,但具體是什么呢?
  除了Google的核心算法工程師,幾乎沒(méi)有人知道完整真相。
  而所謂的SEO技術(shù),很多時(shí)候是分析、測試搜索獲得的簡(jiǎn)單結論,有些優(yōu)化方向是明確的,比如良好的用戶(hù)體驗、優(yōu)質(zhì)內容帶來(lái)的用戶(hù)行為變化對SEO的影響;而有些優(yōu)化方向只能靠猜測。
  由于搜索流量的巨大價(jià)值,很多網(wǎng)站不惜挺而走險,利用算法漏洞去作弊,以期獲得更多的流量。
  俗話(huà)說(shuō):“道高一尺魔高一丈”,黑帽SEO與搜索引擎之間的不斷博弈,讓搜索算法也不斷迭代更新。
  除了博弈帶來(lái)的算法變化,新媒體和技術(shù)的誕生也讓搜索引擎的算法不斷進(jìn)化,比如Twitter、Facebook等社交媒體對搜索的影響。
  比如這幾年Google發(fā)布了熊貓算法、企鵝算法的各個(gè)版本,百度也發(fā)布了石榴、綠蘿、冰桶等算法。
  每個(gè)大的搜索算法迭代都有核心目的和互聯(lián)網(wǎng)環(huán)境變化的影響。
  都說(shuō)“讀史可以鑒今”,那我們一起研究下Google使用過(guò)的排名因素(很多現在依然有效),希望能窺探今后搜索引擎演化的端倪。
  以下一共有205條排名因素,有些已被證實(shí),有些有爭議,有些依然只是猜測。網(wǎng)站搜索引擎的收錄和排名有負面影響。
  20、rel=“canonical”標記
  合理使用rel="canonical"標記,會(huì )防止Google誤判網(wǎng)站內容重復而懲罰。
  21、Chrome瀏覽器訪(fǎng)問(wèn)速度
  Google可能會(huì )使用Chrome的用戶(hù)數據來(lái)識別與HTML代碼無(wú)關(guān)的頁(yè)面加載速度情況。
  22、圖像優(yōu)化
  圖片的文件名、Alt文本、Title、Description和Caption都是重要的頁(yè)面相關(guān)性指標。
  23、內容更新速度
  Google Caffeine算法對時(shí)間敏感的搜索很重視,表現就是搜索結果會(huì )顯示內容更新時(shí)間。
  24、內容更新幅度
  編輯和更新也是一個(gè)頁(yè)面新鮮度因素。添加或刪除整個(gè)段落才算重要更新,不能只是調換一些詞的順序。
  25、頁(yè)面歷史更新頻次
  關(guān)鍵詞出現在頁(yè)面前100個(gè)字中似乎是一個(gè)重要的相關(guān)信號。
  26、關(guān)鍵詞突出顯示
  頁(yè)面多久更新?每天、每周、每隔5年?頁(yè)面更新頻率在提升頁(yè)面新鮮度中起到重要作用。
  27、H2/H3標簽中出現關(guān)鍵詞
  將關(guān)鍵詞顯示在H2或H3標簽的副標題中是另一個(gè)弱相關(guān)信號。
  28、關(guān)鍵字匹配
  關(guān)鍵詞全字匹配更重要,比如搜索“cat shaving techniques(給貓剃毛技術(shù))”,針對完全匹配做的優(yōu)化頁(yè)面就比“techniques for shaving a cat”要好,雖然意思一樣。
  29、出站鏈接質(zhì)量
  許多SEO認為鏈接指向權重網(wǎng)站有助于向Google發(fā)送信任信號。
  30、出站鏈接主題
  根據Moz的試驗,搜索引擎可以使用你鏈接指向的頁(yè)面作為相關(guān)性信號。例如:你有一個(gè)汽車(chē)相關(guān)的頁(yè)面鏈接指向了一個(gè)電影相關(guān)的頁(yè)面,這可能會(huì )告訴Google你的頁(yè)面是關(guān)于汽車(chē)電影的,而不只是單指“汽車(chē)”。
  31、語(yǔ)法和拼寫(xiě)
  正確的語(yǔ)法和拼寫(xiě)是一個(gè)頁(yè)面質(zhì)量信號。
  32、復制內容
  頁(yè)面上的內容是否是原創(chuàng )?如果是從Google索引頁(yè)面中采集或復制的,它不會(huì )獲得和原始內容一樣的排名。
  33、有用的補充內容
  根據Google公布的評分指南文件,有用的補充內容是網(wǎng)頁(yè)質(zhì)量的指標(也是排名指標),比如貨幣換算器、貸款利息計算器等。
  34、出站鏈接數
  過(guò)多的Dofollow出站鏈接會(huì )導致PageRank“泄露”,這會(huì )影響到頁(yè)面的排名。(Google已經(jīng)取消很久了,但這條規則應該還適用的)
  35、多媒體
  圖像,視頻和其他多媒體元素可以作為內容質(zhì)量信號。
  36、指向頁(yè)面的內部鏈接的數量
  網(wǎng)站內鏈數量表明它相對于其他頁(yè)面的重要性,越多越重要。
  37、指向頁(yè)面的內部鏈接的質(zhì)量
  網(wǎng)站里高權重(PR)頁(yè)面的內鏈效果比低權重(或無(wú)權重)的效果好很多。
  38、死鏈數量
  頁(yè)面太多死鏈是網(wǎng)站被遺棄或沒(méi)人維護的特征,Google會(huì )使用死鏈來(lái)評估網(wǎng)站首頁(yè)質(zhì)量。
  39、內容可閱讀等級
  Google會(huì )評估網(wǎng)頁(yè)的閱讀難度。但這條規則有爭議,有人認為容易閱讀的淺顯內容有助于吸引讀者,還能提升排名,而有些人則認為容易被認為是內容工廠(chǎng)。
  40、聯(lián)盟鏈接
  聯(lián)盟鏈接(Affiliate Link)本身可能不會(huì )影響排名。但如果太多的話(huà),Google的算法可能會(huì )更加注意你網(wǎng)站的其他質(zhì)量信號,以確保網(wǎng)站不是一個(gè)單薄的聯(lián)盟鏈接網(wǎng)站。
  41、HTML錯誤和W3C驗證
  網(wǎng)站頁(yè)面很多HTML錯誤可能是質(zhì)量差的特征。雖然這點(diǎn)有爭議,但很多SEOer認為,網(wǎng)頁(yè)不能通過(guò)W3C驗證是一種網(wǎng)站質(zhì)量差的信號。
  42、網(wǎng)頁(yè)所在域名權重
  如果其他一切條件相同,權重高的域名頁(yè)面排名更好。
  43、頁(yè)面PageRank
  雖然并不完全相關(guān),但是一般來(lái)說(shuō),頁(yè)面有更高的PR值,排名會(huì )比PR值低的好。(Google現在已經(jīng)沒(méi)有PR值了)
  44、網(wǎng)址長(cháng)度
  URL過(guò)長(cháng)可能會(huì )影響搜索排名。
  45、URL路徑
  目錄層級越淺,越靠近根域名,可以增加URL權重。
  46、人工干預編輯
  雖然未得到證實(shí),但Google提交過(guò)一項允許人工編輯影響搜索引擎結果頁(yè)(SERP)的系統專(zhuān)利。
  47、頁(yè)面類(lèi)別
  頁(yè)面出現在什么類(lèi)別是一個(gè)相關(guān)信號,如果頁(yè)面和類(lèi)別不相關(guān),則很難獲得好的排名。(信息要發(fā)布到正確的分類(lèi))
  48、WordPress標簽
  標簽是WordPress特定的相關(guān)信號。改善搜索引擎優(yōu)化效果的唯一方法是將一個(gè)內容與另一個(gè)內容相關(guān)聯(lián),更具體地說(shuō)是將一組內容相互關(guān)聯(lián)。
  49、URL中的關(guān)鍵字
  URL中出現的關(guān)鍵詞是一個(gè)重要的相關(guān)信號。
  50、URL字符串
  Google會(huì )自動(dòng)識別URL字符串中的目錄和分類(lèi),可以識別出頁(yè)面主題。
  
  51、參考資料和來(lái)源
  引用參考資料和來(lái)源,如學(xué)術(shù)論文,可能是高質(zhì)量?jì)热莸臉酥?。Google質(zhì)量指南規定,引用頁(yè)面時(shí)應注意來(lái)源:“是否是專(zhuān)業(yè)知識或權威來(lái)源,這很很重要”。不過(guò),Google否認他們使用外部鏈接作為排名因素。
  52、無(wú)序和和有序列表
  無(wú)序和和有序列表有助于為讀者分解內容,用戶(hù)體驗會(huì )更好。Google可能更喜歡使用列表的內容。
  53、Sitemap中頁(yè)面優(yōu)先級
  Sitemap.xml文件中指定的頁(yè)面優(yōu)先級可能會(huì )影響排名。
  54、太多出站鏈接
  有些網(wǎng)頁(yè)有太多導出鏈接,會(huì )干擾和分散主要內容。
  55、其他關(guān)鍵字的排名頁(yè)面數量
  如果頁(yè)面獲得了其他關(guān)鍵字的排名,那么這個(gè)詞的排名權重可能會(huì )提升。
  56、頁(yè)面年齡
  雖然Google喜歡新鮮的內容,但是定期更新的舊頁(yè)面可能會(huì )超過(guò)新頁(yè)面。
  57、用戶(hù)友好的布局
  這里再次引用Google質(zhì)量指南文件:“高質(zhì)量的頁(yè)面布局會(huì )讓頁(yè)面主體部分很容易被用戶(hù)看到”。
  58、??坑蛎?
  2011年12月的Google更新降低了??坑蛎乃阉骺梢?jiàn)性。
  59、有用的內容
  正如Backlinko讀者Jared Carrizales所指出,Google可能會(huì )區分“高質(zhì)量”和“有用的”內容的不同。
  三、網(wǎng)站級因素60、內容可以提供價(jià)值和獨特的見(jiàn)解61、聯(lián)系我們頁(yè)面
  Google質(zhì)量文件指出,他們更喜歡具有“適當聯(lián)系信息”的網(wǎng)站。如果網(wǎng)站的聯(lián)系信息和whois信息一致,可能會(huì )有獎勵。
  62、域名信任度
  域名獲得多少來(lái)自種子站點(diǎn)(搜索引擎極度青睞的抓取起始站點(diǎn))的鏈接是一個(gè)非常重要的排名因素。
  63、網(wǎng)站架構
  一個(gè)很好的整合網(wǎng)站架構(尤其是一個(gè)倉筒結構)可以幫助Google識別和抓取、組織你的內容。
  倉筒結構的理解就是把同一類(lèi)內容放到不同的目錄下,就像農民會(huì )把小麥、大麥、燕麥放到獨立的倉庫,如果混在一起,只能稱(chēng)之為”谷物“,反而降低了價(jià)值。結構要點(diǎn):將同類(lèi)型和主題的頁(yè)面放在一起;分離不相關(guān)的頁(yè)面;加強每個(gè)目錄的著(zhù)陸頁(yè)。
  64、網(wǎng)站更新
  網(wǎng)站的更新頻次,尤其是添加新內容時(shí)。這是一個(gè)很好的提升網(wǎng)站新鮮度的信號。
  65、頁(yè)數
  網(wǎng)站頁(yè)面數對權重略有影響。至少一個(gè)擁有很多內容的大型網(wǎng)站比內容薄弱的賺聯(lián)盟費網(wǎng)站要強。
  66、站點(diǎn)地圖
  站點(diǎn)地圖有助于搜索引擎更輕松、更徹底地抓取和索引你的頁(yè)面,提高頁(yè)面可見(jiàn)性(搜索排名)。
  67、網(wǎng)站正常運行時(shí)間
  網(wǎng)站經(jīng)常維護或宕機可能會(huì )影響排名(如果沒(méi)有及時(shí)修復,甚至可能導致減少索引量)
  68、服務(wù)器位置
  服務(wù)器位置可能會(huì )影響網(wǎng)站在不同地區的排名,對于地域相關(guān)的搜索特別重要。
  69、SSL證書(shū)
  已經(jīng)確認Google會(huì )索引SSL證書(shū),并使用HTTPS作為排名信號。
  70、服務(wù)條款和隱私頁(yè)面
  這兩個(gè)頁(yè)面有助于告訴Google你的網(wǎng)站是值得信賴(lài)的。
  71、重復的Meta標簽內容
  網(wǎng)站頁(yè)面使用重復一樣的Meta keywords和Description可能會(huì )降低你的所有頁(yè)面可見(jiàn)性。
  72、面包屑導航(Breadcrumb)
  擁有面包屑導航是用戶(hù)體驗良好的網(wǎng)站結構風(fēng)格,可以幫助用戶(hù)(和搜索引擎)知道他們在網(wǎng)站上的位置。
  和都聲稱(chēng)面包屑是一個(gè)重要排名因素。
  73、移動(dòng)版優(yōu)化
  谷歌的官方建議是創(chuàng )建一個(gè)響應式網(wǎng)站。響應式網(wǎng)站可能會(huì )在移動(dòng)搜索中獲得優(yōu)勢。Google還會(huì )對移動(dòng)搜索結果中沒(méi)有移動(dòng)版的頁(yè)面進(jìn)行降權。
  74、YouTube優(yōu)化
  可能因為Youtube是Google旗下產(chǎn)品,搜索結果頁(yè)面(SERP)中有特殊排名待遇(排名很好),尤其是Google 熊貓算法后,Youtube流量增加顯著(zhù)。
  
  75、網(wǎng)站可用性
  難用的網(wǎng)站一般用戶(hù)停留時(shí)間短、訪(fǎng)問(wèn)深度淺、跳出率高,這些都會(huì )降低排名。這可能是從大量用戶(hù)數據中收集到的獨立算法因素。
  76、Google Analytics(分析)和Google網(wǎng)站管理員工具
  有些人認為,在網(wǎng)站上安裝這兩個(gè)程序可以改善網(wǎng)頁(yè)索引。也可能直接影響排名(因為Google可以獲得網(wǎng)站更準確的跳出率,是否從反向鏈接獲得流量等)。
  國內則對應的是百度統計和百度站長(cháng)工具。
  77、用戶(hù)評價(jià)/網(wǎng)站聲譽(yù)
  Yelp和可能在Google這個(gè)算法中發(fā)揮了重要作用。Google甚至發(fā)布了他們抓住了一個(gè)利用用戶(hù)差評獲得反向鏈接的案例。
  國內應對對應的就是百度口碑網(wǎng)站了:百度口碑
  四、反向鏈接因素78、鏈接的域名年齡
  老域名的反向鏈接可能比新域名作用更大。
  79、鏈接的域名數量
  引用域名數量是Google算法中最重要的排名因素之一,如下圖所示(Moz數據,橫坐標是排名),鏈接域名數量越多排名越高。(請注意:圖中也告訴我們鏈接數是有閾值的,在沒(méi)有突破閾值前,有可能鏈接域名越多,排名反而會(huì )下降)
  
  80、獨立C類(lèi)IP的鏈接數
  來(lái)自不同C類(lèi)IP(Class-C)數量越多,說(shuō)明鏈接廣泛性越好。
  81、鏈接頁(yè)數
  鏈接頁(yè)面的總數很重要,即使部分都來(lái)自同一個(gè)域名,這也對排名有幫助。
  82、Alt標簽(用于圖像鏈接)
  Alt文本可以說(shuō)是圖像的”錨文本“。
  83、來(lái)自.edu或.gov類(lèi)域名鏈接
  雖然Google的Matt Cutts說(shuō)不會(huì )做區別對待。但是,這并不妨礙廣大SEOer認為Google對.gov和.edu域名的權重算法中有特殊的地方,也就說(shuō)大家認為來(lái)自教育機構和政府網(wǎng)站的鏈接價(jià)值更大。
  84、鏈接頁(yè)面的權重
  反向鏈接的頁(yè)面權重(PageRank)是非常重要的排名因素。
  85、鏈接域名的權重
  同等頁(yè)面權重下,域名權重越高越好(PR3站點(diǎn)的PR2頁(yè)面權重小于PR8網(wǎng)站的PR2頁(yè)面)。
  86、來(lái)自競爭對手的鏈接
  如果你能獲得關(guān)鍵詞搜索結果中其他網(wǎng)站的反向鏈接,則對于關(guān)鍵詞排名特別有價(jià)值。
  87、社會(huì )化網(wǎng)站引用頁(yè)面
  被社會(huì )化(設計)網(wǎng)站引用可能會(huì )影響鏈接的價(jià)值,被引用的越多越好。
  88、來(lái)自垃圾網(wǎng)站的鏈接
  來(lái)自垃圾網(wǎng)站的鏈接可能會(huì )傷害網(wǎng)站排名。
  89、用戶(hù)帖子引用
  雖然讓用戶(hù)發(fā)布引用鏈接是白帽SEO的一部分,但如果鏈接來(lái)自簽名或簡(jiǎn)介部分,價(jià)值可能不如頁(yè)面內容里的相關(guān)鏈接,盡量能讓用戶(hù)帖子內容里加鏈接。 查看全部

  揭秘Google排名的205個(gè)因素(百度80%管用)--上
  不少人都知道Google的搜索排名算法使用200多個(gè)因素,但具體是什么呢?
  除了Google的核心算法工程師,幾乎沒(méi)有人知道完整真相。
  而所謂的SEO技術(shù),很多時(shí)候是分析、測試搜索獲得的簡(jiǎn)單結論,有些優(yōu)化方向是明確的,比如良好的用戶(hù)體驗、優(yōu)質(zhì)內容帶來(lái)的用戶(hù)行為變化對SEO的影響;而有些優(yōu)化方向只能靠猜測。
  由于搜索流量的巨大價(jià)值,很多網(wǎng)站不惜挺而走險,利用算法漏洞去作弊,以期獲得更多的流量。
  俗話(huà)說(shuō):“道高一尺魔高一丈”,黑帽SEO與搜索引擎之間的不斷博弈,讓搜索算法也不斷迭代更新。
  除了博弈帶來(lái)的算法變化,新媒體和技術(shù)的誕生也讓搜索引擎的算法不斷進(jìn)化,比如Twitter、Facebook等社交媒體對搜索的影響。
  比如這幾年Google發(fā)布了熊貓算法、企鵝算法的各個(gè)版本,百度也發(fā)布了石榴、綠蘿、冰桶等算法。
  每個(gè)大的搜索算法迭代都有核心目的和互聯(lián)網(wǎng)環(huán)境變化的影響。
  都說(shuō)“讀史可以鑒今”,那我們一起研究下Google使用過(guò)的排名因素(很多現在依然有效),希望能窺探今后搜索引擎演化的端倪。
  以下一共有205條排名因素,有些已被證實(shí),有些有爭議,有些依然只是猜測。
  以下內容翻譯自:Google’s 200 Ranking Factors: The Complete List
  一、域名因素1、域名年齡
  谷歌知名工程師Matt Cutts曾在這個(gè)Youtube視頻中說(shuō)過(guò):“注冊6個(gè)月與注冊一年的域名差別不那么大”。
  換句話(huà)說(shuō):Google確實(shí)使用域名年齡作為一種因素考慮,但權重不高。
  2、頂級域名中出現關(guān)鍵詞
  不像過(guò)去有助于提升排名,但域名中的關(guān)鍵詞仍然作為相關(guān)性的一種信號。
  3、域名開(kāi)頭包含目標關(guān)鍵詞
  在域名開(kāi)頭包含目標關(guān)鍵詞,相對于不含關(guān)鍵詞或尾部包含關(guān)鍵詞的域名有優(yōu)勢。
  4、域名到期時(shí)間
  Google于2015年3月31日申請了“基于歷史數據的信息檢索”的專(zhuān)利,某世界知名SEO討論也討論過(guò)其中的細節,暗示Google確實(shí)研究域名注冊和更新日期。
  (1) 域名注冊日期可以作為網(wǎng)站成立日期的參考
  (2) 域名的一些信息有助于區分合法和非法網(wǎng)站,有價(jià)值的網(wǎng)站(合法)
  一般會(huì )多支付幾年的域名費用,而違法、灰色行業(yè)則很少使用超過(guò)一年。所以打算好好做網(wǎng)站的朋友多續費幾年域名吧。
  5、子域名使用關(guān)鍵詞
  Moz網(wǎng)站2011年的報告指出,子域名中出現關(guān)鍵詞可以提升排名。
  比如我們網(wǎng)站的機械行業(yè)子域名就用了“機械”的拼音,看來(lái)這種做法有一定好處。
  /
  6、域名歷史
  如果域名所有權幾經(jīng)更迭,那Google可能會(huì )重置網(wǎng)站的歷史記錄,以前域名的反向鏈接價(jià)值會(huì )被丟掉。
  7、完全匹配域名
  如果域名和關(guān)鍵詞完全一致,如果網(wǎng)站質(zhì)量很高,這依然是優(yōu)勢。否則反而更容易被識別懲罰。
  
  8、公開(kāi)與隱藏Whois信息
  Matt Cutts在2006年的Pubcon會(huì )議中說(shuō)到:“當檢查網(wǎng)站的Whois時(shí),發(fā)現不少都有隱私保護服務(wù),這很不尋常?!蜷_(kāi)Whois隱私保護并不是默認的(不少是收費服務(wù)),如果把這些因素放到一起考慮,你的網(wǎng)站會(huì )被歸到某個(gè)類(lèi)別對待(打開(kāi)隱私保護的站),而不獨立了(可能被牽連)”
  9、懲罰網(wǎng)站所有者
  如果某人被識別為垃圾郵件發(fā)送者,那Google會(huì )仔細檢查該人擁有的網(wǎng)站是否有意義。
  10、國家專(zhuān)屬域名
  使用國際/地區專(zhuān)屬頂級域名(.cn、.ca等)可以提升在這些國家和地區的排名,但限制了網(wǎng)站在全球獲得排名的能力。
  二、頁(yè)面因素11、標題中包含關(guān)鍵詞
  標題是第二重要的頁(yè)面因素(除頁(yè)面內容之外),在頁(yè)面SEO優(yōu)化中作用巨大。
  根據的數據,標題開(kāi)頭使用關(guān)鍵詞比結尾使用效果要好,如下圖所示:
  
  還有Meta description中出現關(guān)鍵詞也是高相關(guān)性的信號,現在不是特別重要,但依然有些用。
  12、H1標簽中出現關(guān)鍵詞
  H1標簽是”第二個(gè)標題標簽“,也非常重要。
  根據一些相關(guān)性研究表明:
  
  分值越低,說(shuō)明排名越靠前。從測試結果看,H1標簽作用比P標簽對排名的影響大。
  13、頁(yè)面中出現關(guān)鍵詞
  頁(yè)面中有關(guān)鍵詞比其他任何相關(guān)性都更有說(shuō)服力。
  14、內容長(cháng)度
  文章長(cháng)一般會(huì )包含更多關(guān)鍵詞,涵蓋的內容也會(huì )更廣泛,與短小精悍的文章比有優(yōu)勢。
  SERPIQ網(wǎng)站發(fā)現內容長(cháng)度于搜索結果排名相關(guān)。
  
  測試結果:平均長(cháng)度為2500個(gè)單詞的文章排名效果最好,不知道有沒(méi)有人針對百度測試過(guò)中文頁(yè)面篇幅對搜索結果的影響。
  15、關(guān)鍵詞密度
  雖然不像以前那么重要,但依然會(huì )被Google用來(lái)確定網(wǎng)頁(yè)主題。但關(guān)鍵詞密度過(guò)大會(huì )有反作用。
  16、內容中的潛在語(yǔ)義索引關(guān)鍵詞(LSI)
  潛在語(yǔ)義索引關(guān)鍵詞(Latent Semantic Indexing = LSI)幫助搜索引擎從多義詞中提取具體意義(比如 Apple 識別為蘋(píng)果公司還是蘋(píng)果這個(gè)水果),所以頁(yè)面中出現的其他相關(guān)詞很重要。是否存在LSI詞可能作為內容質(zhì)量的評判標準。
  17、Title和Meta Description中的潛在索引關(guān)鍵詞
  與網(wǎng)頁(yè)內容一樣,Meta標簽中的潛在索引關(guān)鍵詞(LSI)有助于Google辨別同義詞,也可以作為頁(yè)面相關(guān)性信號。
  18、頁(yè)面加載速度
  無(wú)論Google還是Bing都使用頁(yè)面加載速度作為一個(gè)排名因素。搜索引擎蜘蛛會(huì )根據頁(yè)面代碼和文件大小估算網(wǎng)站速度。
  19、重復內容
  同一網(wǎng)站上的相同內容(可能稍作修改)可能會(huì )對不少人都知道Google的搜索排名算法使用200多個(gè)因素,但具體是什么呢?
  除了Google的核心算法工程師,幾乎沒(méi)有人知道完整真相。
  而所謂的SEO技術(shù),很多時(shí)候是分析、測試搜索獲得的簡(jiǎn)單結論,有些優(yōu)化方向是明確的,比如良好的用戶(hù)體驗、優(yōu)質(zhì)內容帶來(lái)的用戶(hù)行為變化對SEO的影響;而有些優(yōu)化方向只能靠猜測。
  由于搜索流量的巨大價(jià)值,很多網(wǎng)站不惜挺而走險,利用算法漏洞去作弊,以期獲得更多的流量。
  俗話(huà)說(shuō):“道高一尺魔高一丈”,黑帽SEO與搜索引擎之間的不斷博弈,讓搜索算法也不斷迭代更新。
  除了博弈帶來(lái)的算法變化,新媒體和技術(shù)的誕生也讓搜索引擎的算法不斷進(jìn)化,比如Twitter、Facebook等社交媒體對搜索的影響。
  比如這幾年Google發(fā)布了熊貓算法、企鵝算法的各個(gè)版本,百度也發(fā)布了石榴、綠蘿、冰桶等算法。
  每個(gè)大的搜索算法迭代都有核心目的和互聯(lián)網(wǎng)環(huán)境變化的影響。
  都說(shuō)“讀史可以鑒今”,那我們一起研究下Google使用過(guò)的排名因素(很多現在依然有效),希望能窺探今后搜索引擎演化的端倪。
  以下一共有205條排名因素,有些已被證實(shí),有些有爭議,有些依然只是猜測。網(wǎng)站搜索引擎的收錄和排名有負面影響。
  20、rel=“canonical”標記
  合理使用rel="canonical"標記,會(huì )防止Google誤判網(wǎng)站內容重復而懲罰。
  21、Chrome瀏覽器訪(fǎng)問(wèn)速度
  Google可能會(huì )使用Chrome的用戶(hù)數據來(lái)識別與HTML代碼無(wú)關(guān)的頁(yè)面加載速度情況。
  22、圖像優(yōu)化
  圖片的文件名、Alt文本、Title、Description和Caption都是重要的頁(yè)面相關(guān)性指標。
  23、內容更新速度
  Google Caffeine算法對時(shí)間敏感的搜索很重視,表現就是搜索結果會(huì )顯示內容更新時(shí)間。
  24、內容更新幅度
  編輯和更新也是一個(gè)頁(yè)面新鮮度因素。添加或刪除整個(gè)段落才算重要更新,不能只是調換一些詞的順序。
  25、頁(yè)面歷史更新頻次
  關(guān)鍵詞出現在頁(yè)面前100個(gè)字中似乎是一個(gè)重要的相關(guān)信號。
  26、關(guān)鍵詞突出顯示
  頁(yè)面多久更新?每天、每周、每隔5年?頁(yè)面更新頻率在提升頁(yè)面新鮮度中起到重要作用。
  27、H2/H3標簽中出現關(guān)鍵詞
  將關(guān)鍵詞顯示在H2或H3標簽的副標題中是另一個(gè)弱相關(guān)信號。
  28、關(guān)鍵字匹配
  關(guān)鍵詞全字匹配更重要,比如搜索“cat shaving techniques(給貓剃毛技術(shù))”,針對完全匹配做的優(yōu)化頁(yè)面就比“techniques for shaving a cat”要好,雖然意思一樣。
  29、出站鏈接質(zhì)量
  許多SEO認為鏈接指向權重網(wǎng)站有助于向Google發(fā)送信任信號。
  30、出站鏈接主題
  根據Moz的試驗,搜索引擎可以使用你鏈接指向的頁(yè)面作為相關(guān)性信號。例如:你有一個(gè)汽車(chē)相關(guān)的頁(yè)面鏈接指向了一個(gè)電影相關(guān)的頁(yè)面,這可能會(huì )告訴Google你的頁(yè)面是關(guān)于汽車(chē)電影的,而不只是單指“汽車(chē)”。
  31、語(yǔ)法和拼寫(xiě)
  正確的語(yǔ)法和拼寫(xiě)是一個(gè)頁(yè)面質(zhì)量信號。
  32、復制內容
  頁(yè)面上的內容是否是原創(chuàng )?如果是從Google索引頁(yè)面中采集或復制的,它不會(huì )獲得和原始內容一樣的排名。
  33、有用的補充內容
  根據Google公布的評分指南文件,有用的補充內容是網(wǎng)頁(yè)質(zhì)量的指標(也是排名指標),比如貨幣換算器、貸款利息計算器等。
  34、出站鏈接數
  過(guò)多的Dofollow出站鏈接會(huì )導致PageRank“泄露”,這會(huì )影響到頁(yè)面的排名。(Google已經(jīng)取消很久了,但這條規則應該還適用的)
  35、多媒體
  圖像,視頻和其他多媒體元素可以作為內容質(zhì)量信號。
  36、指向頁(yè)面的內部鏈接的數量
  網(wǎng)站內鏈數量表明它相對于其他頁(yè)面的重要性,越多越重要。
  37、指向頁(yè)面的內部鏈接的質(zhì)量
  網(wǎng)站里高權重(PR)頁(yè)面的內鏈效果比低權重(或無(wú)權重)的效果好很多。
  38、死鏈數量
  頁(yè)面太多死鏈是網(wǎng)站被遺棄或沒(méi)人維護的特征,Google會(huì )使用死鏈來(lái)評估網(wǎng)站首頁(yè)質(zhì)量。
  39、內容可閱讀等級
  Google會(huì )評估網(wǎng)頁(yè)的閱讀難度。但這條規則有爭議,有人認為容易閱讀的淺顯內容有助于吸引讀者,還能提升排名,而有些人則認為容易被認為是內容工廠(chǎng)。
  40、聯(lián)盟鏈接
  聯(lián)盟鏈接(Affiliate Link)本身可能不會(huì )影響排名。但如果太多的話(huà),Google的算法可能會(huì )更加注意你網(wǎng)站的其他質(zhì)量信號,以確保網(wǎng)站不是一個(gè)單薄的聯(lián)盟鏈接網(wǎng)站。
  41、HTML錯誤和W3C驗證
  網(wǎng)站頁(yè)面很多HTML錯誤可能是質(zhì)量差的特征。雖然這點(diǎn)有爭議,但很多SEOer認為,網(wǎng)頁(yè)不能通過(guò)W3C驗證是一種網(wǎng)站質(zhì)量差的信號。
  42、網(wǎng)頁(yè)所在域名權重
  如果其他一切條件相同,權重高的域名頁(yè)面排名更好。
  43、頁(yè)面PageRank
  雖然并不完全相關(guān),但是一般來(lái)說(shuō),頁(yè)面有更高的PR值,排名會(huì )比PR值低的好。(Google現在已經(jīng)沒(méi)有PR值了)
  44、網(wǎng)址長(cháng)度
  URL過(guò)長(cháng)可能會(huì )影響搜索排名。
  45、URL路徑
  目錄層級越淺,越靠近根域名,可以增加URL權重。
  46、人工干預編輯
  雖然未得到證實(shí),但Google提交過(guò)一項允許人工編輯影響搜索引擎結果頁(yè)(SERP)的系統專(zhuān)利。
  47、頁(yè)面類(lèi)別
  頁(yè)面出現在什么類(lèi)別是一個(gè)相關(guān)信號,如果頁(yè)面和類(lèi)別不相關(guān),則很難獲得好的排名。(信息要發(fā)布到正確的分類(lèi))
  48、WordPress標簽
  標簽是WordPress特定的相關(guān)信號。改善搜索引擎優(yōu)化效果的唯一方法是將一個(gè)內容與另一個(gè)內容相關(guān)聯(lián),更具體地說(shuō)是將一組內容相互關(guān)聯(lián)。
  49、URL中的關(guān)鍵字
  URL中出現的關(guān)鍵詞是一個(gè)重要的相關(guān)信號。
  50、URL字符串
  Google會(huì )自動(dòng)識別URL字符串中的目錄和分類(lèi),可以識別出頁(yè)面主題。
  
  51、參考資料和來(lái)源
  引用參考資料和來(lái)源,如學(xué)術(shù)論文,可能是高質(zhì)量?jì)热莸臉酥?。Google質(zhì)量指南規定,引用頁(yè)面時(shí)應注意來(lái)源:“是否是專(zhuān)業(yè)知識或權威來(lái)源,這很很重要”。不過(guò),Google否認他們使用外部鏈接作為排名因素。
  52、無(wú)序和和有序列表
  無(wú)序和和有序列表有助于為讀者分解內容,用戶(hù)體驗會(huì )更好。Google可能更喜歡使用列表的內容。
  53、Sitemap中頁(yè)面優(yōu)先級
  Sitemap.xml文件中指定的頁(yè)面優(yōu)先級可能會(huì )影響排名。
  54、太多出站鏈接
  有些網(wǎng)頁(yè)有太多導出鏈接,會(huì )干擾和分散主要內容。
  55、其他關(guān)鍵字的排名頁(yè)面數量
  如果頁(yè)面獲得了其他關(guān)鍵字的排名,那么這個(gè)詞的排名權重可能會(huì )提升。
  56、頁(yè)面年齡
  雖然Google喜歡新鮮的內容,但是定期更新的舊頁(yè)面可能會(huì )超過(guò)新頁(yè)面。
  57、用戶(hù)友好的布局
  這里再次引用Google質(zhì)量指南文件:“高質(zhì)量的頁(yè)面布局會(huì )讓頁(yè)面主體部分很容易被用戶(hù)看到”。
  58、??坑蛎?
  2011年12月的Google更新降低了??坑蛎乃阉骺梢?jiàn)性。
  59、有用的內容
  正如Backlinko讀者Jared Carrizales所指出,Google可能會(huì )區分“高質(zhì)量”和“有用的”內容的不同。
  三、網(wǎng)站級因素60、內容可以提供價(jià)值和獨特的見(jiàn)解61、聯(lián)系我們頁(yè)面
  Google質(zhì)量文件指出,他們更喜歡具有“適當聯(lián)系信息”的網(wǎng)站。如果網(wǎng)站的聯(lián)系信息和whois信息一致,可能會(huì )有獎勵。
  62、域名信任度
  域名獲得多少來(lái)自種子站點(diǎn)(搜索引擎極度青睞的抓取起始站點(diǎn))的鏈接是一個(gè)非常重要的排名因素。
  63、網(wǎng)站架構
  一個(gè)很好的整合網(wǎng)站架構(尤其是一個(gè)倉筒結構)可以幫助Google識別和抓取、組織你的內容。
  倉筒結構的理解就是把同一類(lèi)內容放到不同的目錄下,就像農民會(huì )把小麥、大麥、燕麥放到獨立的倉庫,如果混在一起,只能稱(chēng)之為”谷物“,反而降低了價(jià)值。結構要點(diǎn):將同類(lèi)型和主題的頁(yè)面放在一起;分離不相關(guān)的頁(yè)面;加強每個(gè)目錄的著(zhù)陸頁(yè)。
  64、網(wǎng)站更新
  網(wǎng)站的更新頻次,尤其是添加新內容時(shí)。這是一個(gè)很好的提升網(wǎng)站新鮮度的信號。
  65、頁(yè)數
  網(wǎng)站頁(yè)面數對權重略有影響。至少一個(gè)擁有很多內容的大型網(wǎng)站比內容薄弱的賺聯(lián)盟費網(wǎng)站要強。
  66、站點(diǎn)地圖
  站點(diǎn)地圖有助于搜索引擎更輕松、更徹底地抓取和索引你的頁(yè)面,提高頁(yè)面可見(jiàn)性(搜索排名)。
  67、網(wǎng)站正常運行時(shí)間
  網(wǎng)站經(jīng)常維護或宕機可能會(huì )影響排名(如果沒(méi)有及時(shí)修復,甚至可能導致減少索引量)
  68、服務(wù)器位置
  服務(wù)器位置可能會(huì )影響網(wǎng)站在不同地區的排名,對于地域相關(guān)的搜索特別重要。
  69、SSL證書(shū)
  已經(jīng)確認Google會(huì )索引SSL證書(shū),并使用HTTPS作為排名信號。
  70、服務(wù)條款和隱私頁(yè)面
  這兩個(gè)頁(yè)面有助于告訴Google你的網(wǎng)站是值得信賴(lài)的。
  71、重復的Meta標簽內容
  網(wǎng)站頁(yè)面使用重復一樣的Meta keywords和Description可能會(huì )降低你的所有頁(yè)面可見(jiàn)性。
  72、面包屑導航(Breadcrumb)
  擁有面包屑導航是用戶(hù)體驗良好的網(wǎng)站結構風(fēng)格,可以幫助用戶(hù)(和搜索引擎)知道他們在網(wǎng)站上的位置。
  和都聲稱(chēng)面包屑是一個(gè)重要排名因素。
  73、移動(dòng)版優(yōu)化
  谷歌的官方建議是創(chuàng )建一個(gè)響應式網(wǎng)站。響應式網(wǎng)站可能會(huì )在移動(dòng)搜索中獲得優(yōu)勢。Google還會(huì )對移動(dòng)搜索結果中沒(méi)有移動(dòng)版的頁(yè)面進(jìn)行降權。
  74、YouTube優(yōu)化
  可能因為Youtube是Google旗下產(chǎn)品,搜索結果頁(yè)面(SERP)中有特殊排名待遇(排名很好),尤其是Google 熊貓算法后,Youtube流量增加顯著(zhù)。
  
  75、網(wǎng)站可用性
  難用的網(wǎng)站一般用戶(hù)停留時(shí)間短、訪(fǎng)問(wèn)深度淺、跳出率高,這些都會(huì )降低排名。這可能是從大量用戶(hù)數據中收集到的獨立算法因素。
  76、Google Analytics(分析)和Google網(wǎng)站管理員工具
  有些人認為,在網(wǎng)站上安裝這兩個(gè)程序可以改善網(wǎng)頁(yè)索引。也可能直接影響排名(因為Google可以獲得網(wǎng)站更準確的跳出率,是否從反向鏈接獲得流量等)。
  國內則對應的是百度統計和百度站長(cháng)工具。
  77、用戶(hù)評價(jià)/網(wǎng)站聲譽(yù)
  Yelp和可能在Google這個(gè)算法中發(fā)揮了重要作用。Google甚至發(fā)布了他們抓住了一個(gè)利用用戶(hù)差評獲得反向鏈接的案例。
  國內應對對應的就是百度口碑網(wǎng)站了:百度口碑
  四、反向鏈接因素78、鏈接的域名年齡
  老域名的反向鏈接可能比新域名作用更大。
  79、鏈接的域名數量
  引用域名數量是Google算法中最重要的排名因素之一,如下圖所示(Moz數據,橫坐標是排名),鏈接域名數量越多排名越高。(請注意:圖中也告訴我們鏈接數是有閾值的,在沒(méi)有突破閾值前,有可能鏈接域名越多,排名反而會(huì )下降)
  
  80、獨立C類(lèi)IP的鏈接數
  來(lái)自不同C類(lèi)IP(Class-C)數量越多,說(shuō)明鏈接廣泛性越好。
  81、鏈接頁(yè)數
  鏈接頁(yè)面的總數很重要,即使部分都來(lái)自同一個(gè)域名,這也對排名有幫助。
  82、Alt標簽(用于圖像鏈接)
  Alt文本可以說(shuō)是圖像的”錨文本“。
  83、來(lái)自.edu或.gov類(lèi)域名鏈接
  雖然Google的Matt Cutts說(shuō)不會(huì )做區別對待。但是,這并不妨礙廣大SEOer認為Google對.gov和.edu域名的權重算法中有特殊的地方,也就說(shuō)大家認為來(lái)自教育機構和政府網(wǎng)站的鏈接價(jià)值更大。
  84、鏈接頁(yè)面的權重
  反向鏈接的頁(yè)面權重(PageRank)是非常重要的排名因素。
  85、鏈接域名的權重
  同等頁(yè)面權重下,域名權重越高越好(PR3站點(diǎn)的PR2頁(yè)面權重小于PR8網(wǎng)站的PR2頁(yè)面)。
  86、來(lái)自競爭對手的鏈接
  如果你能獲得關(guān)鍵詞搜索結果中其他網(wǎng)站的反向鏈接,則對于關(guān)鍵詞排名特別有價(jià)值。
  87、社會(huì )化網(wǎng)站引用頁(yè)面
  被社會(huì )化(設計)網(wǎng)站引用可能會(huì )影響鏈接的價(jià)值,被引用的越多越好。
  88、來(lái)自垃圾網(wǎng)站的鏈接
  來(lái)自垃圾網(wǎng)站的鏈接可能會(huì )傷害網(wǎng)站排名。
  89、用戶(hù)帖子引用
  雖然讓用戶(hù)發(fā)布引用鏈接是白帽SEO的一部分,但如果鏈接來(lái)自簽名或簡(jiǎn)介部分,價(jià)值可能不如頁(yè)面內容里的相關(guān)鏈接,盡量能讓用戶(hù)帖子內容里加鏈接。

RPA數據爬蟲(chóng)會(huì )比python方便100倍嗎?一文詳細解讀

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 312 次瀏覽 ? 2022-05-08 04:22 ? 來(lái)自相關(guān)話(huà)題

  RPA數據爬蟲(chóng)會(huì )比python方便100倍嗎?一文詳細解讀
  數據時(shí)代已經(jīng)到來(lái),當大家也想按照大數據的思想重新定義我們的工作及找項目等等時(shí),忽然發(fā)現之前我們從不在乎的數據離我們那么遙遠。
  大數據分析之所以大,是因為其分析的數據是全量數據(或接近全量),其和以前的采樣分析(樣本)有著(zhù)本質(zhì)的區分。為此,我們?yōu)榱四軌蜻M(jìn)行分析,我們就需要獲取全量的數據,這往往是很難得到的。
  
  目前,可以獲取我們想要的數據主要是爬蟲(chóng)獲?。?
  1.通過(guò)爬蟲(chóng)獲?。〝祿ト。?
  這是大家最主要使用的方法,包括:第三方的爬蟲(chóng)客戶(hù)端、第三方的爬蟲(chóng)平臺、開(kāi)源的爬蟲(chóng)以及自己使用Python編寫(xiě)的爬蟲(chóng)。
  爬蟲(chóng)的方式獲取數據尤其優(yōu)勢,就是爬取自己想要的內容,其針對性很強。但也有其劣勢,即:用好爬蟲(chóng)是需要一定技術(shù)的,而且爬取的網(wǎng)站也在改變,需要隨時(shí)更新爬蟲(chóng)規則。
  2.實(shí)際上python抓取數據的話(huà)是很麻煩的(分四步)
  確定目標:確定抓取哪個(gè)網(wǎng)站的哪些頁(yè)面的哪部分數據。比如是:抓取百度百科詞條標題及鏈接。
  分析目標:分析要抓取的url的格式,限定抓取范圍,分析要抓取的數據的格式。要分析標題和簡(jiǎn)介這兩個(gè)數據所在的標簽的格式。分析要抓取的頁(yè)面編碼的格式,在網(wǎng)頁(yè)解析器部分,要指定網(wǎng)頁(yè)編碼,然后才能進(jìn)行正確的解析。
  編寫(xiě)代碼:在網(wǎng)頁(yè)解析器部分,要使用到分析目標得到的結果。
  執行爬蟲(chóng):進(jìn)行數據抓取。
  可以看見(jiàn)我們編寫(xiě)的代碼是很多的,反正小編是看不懂,小編是非編程人員。
  
  3.RPA機器人抓取百度數據
  今天小編教你一個(gè)超級簡(jiǎn)單的方法,那就是用RPA機器人來(lái)進(jìn)行數據抓取。
  第一步:自行搜索想要的“關(guān)鍵詞”
  
  第二步:使用RPA工具的數據抓取功能
  
  選擇你想要的數據(標題和鏈接)
  
  輸出我們的數據,當然我沒(méi)有去把數據寫(xiě)進(jìn)表格,寫(xiě)進(jìn)表格也是一條中文代碼的事情。
  
  如果你還在想去學(xué)習python來(lái)進(jìn)行爬蟲(chóng),可能不是一個(gè)明智的選擇。跟學(xué)長(cháng)一起學(xué)習RPA機器人吧。
  
  點(diǎn)個(gè)贊
  
  、分享給身邊其他小伙伴,一起學(xué)習RPA吧。 查看全部

  RPA數據爬蟲(chóng)會(huì )比python方便100倍嗎?一文詳細解讀
  數據時(shí)代已經(jīng)到來(lái),當大家也想按照大數據的思想重新定義我們的工作及找項目等等時(shí),忽然發(fā)現之前我們從不在乎的數據離我們那么遙遠。
  大數據分析之所以大,是因為其分析的數據是全量數據(或接近全量),其和以前的采樣分析(樣本)有著(zhù)本質(zhì)的區分。為此,我們?yōu)榱四軌蜻M(jìn)行分析,我們就需要獲取全量的數據,這往往是很難得到的。
  
  目前,可以獲取我們想要的數據主要是爬蟲(chóng)獲?。?
  1.通過(guò)爬蟲(chóng)獲?。〝祿ト。?
  這是大家最主要使用的方法,包括:第三方的爬蟲(chóng)客戶(hù)端、第三方的爬蟲(chóng)平臺、開(kāi)源的爬蟲(chóng)以及自己使用Python編寫(xiě)的爬蟲(chóng)。
  爬蟲(chóng)的方式獲取數據尤其優(yōu)勢,就是爬取自己想要的內容,其針對性很強。但也有其劣勢,即:用好爬蟲(chóng)是需要一定技術(shù)的,而且爬取的網(wǎng)站也在改變,需要隨時(shí)更新爬蟲(chóng)規則。
  2.實(shí)際上python抓取數據的話(huà)是很麻煩的(分四步)
  確定目標:確定抓取哪個(gè)網(wǎng)站的哪些頁(yè)面的哪部分數據。比如是:抓取百度百科詞條標題及鏈接。
  分析目標:分析要抓取的url的格式,限定抓取范圍,分析要抓取的數據的格式。要分析標題和簡(jiǎn)介這兩個(gè)數據所在的標簽的格式。分析要抓取的頁(yè)面編碼的格式,在網(wǎng)頁(yè)解析器部分,要指定網(wǎng)頁(yè)編碼,然后才能進(jìn)行正確的解析。
  編寫(xiě)代碼:在網(wǎng)頁(yè)解析器部分,要使用到分析目標得到的結果。
  執行爬蟲(chóng):進(jìn)行數據抓取。
  可以看見(jiàn)我們編寫(xiě)的代碼是很多的,反正小編是看不懂,小編是非編程人員。
  
  3.RPA機器人抓取百度數據
  今天小編教你一個(gè)超級簡(jiǎn)單的方法,那就是用RPA機器人來(lái)進(jìn)行數據抓取。
  第一步:自行搜索想要的“關(guān)鍵詞
  
  第二步:使用RPA工具的數據抓取功能
  
  選擇你想要的數據(標題和鏈接)
  
  輸出我們的數據,當然我沒(méi)有去把數據寫(xiě)進(jìn)表格,寫(xiě)進(jìn)表格也是一條中文代碼的事情。
  
  如果你還在想去學(xué)習python來(lái)進(jìn)行爬蟲(chóng),可能不是一個(gè)明智的選擇。跟學(xué)長(cháng)一起學(xué)習RPA機器人吧。
  
  點(diǎn)個(gè)贊
  
  、分享給身邊其他小伙伴,一起學(xué)習RPA吧。

Python網(wǎng)頁(yè)爬蟲(chóng)入門(mén)指導

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 107 次瀏覽 ? 2022-05-08 04:22 ? 來(lái)自相關(guān)話(huà)題

  Python網(wǎng)頁(yè)爬蟲(chóng)入門(mén)指導
  以林志玲的百度詞條為首頁(yè)開(kāi)始爬取。
  第四步,查看源碼,
  很多人都知道查看源碼的快捷鍵是F12,不管是谷歌瀏覽器還是IE瀏覽器,都是這樣,但是當按下F12之后會(huì )不由得疑問(wèn),"這是什么東西?",令人毫無(wú)頭緒。
  
  當然,可以一步一步的去了解源碼,學(xué)習html的知識,然后用正則表達式去一步一步、一個(gè)單元一個(gè)單元的匹配我們想要的信息,但是這樣未免太復雜了,我個(gè)人推薦使用檢查工具。
  
  爬取內部鏈接
  指向我們想要了解的元素,
  
  素,鼠標右鍵->檢查,能夠快速定位我們關(guān)注的元素。
  我覺(jué)得到這一步就已經(jīng)夠了,最簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng)就是反復的重復以下兩個(gè)步驟:
  通過(guò)檢查功能可以看到,百科詞條內部鏈接部分的源碼是這樣的,
  元素1:
  凱渥模特經(jīng)紀公司</a><br />
  元素2:
  決戰剎馬鎮</a><br />
  元素3:
  月之戀人</a><br />
  元素4:
  AKIRA</a><br />
  從上述4個(gè)元素可以看出,我們想要的信息詞條內部鏈接在標簽中,標簽中有以下幾個(gè)屬性:
  可以看出,我們想要的信息就在href中,也就是詞條的內部鏈接。因此,我們爬蟲(chóng)的目標就很明確了,就是解析出href超鏈接。
  到這里,瀏覽器檢查功能已經(jīng)發(fā)揮了它的作用,下一步問(wèn)題就變成了我們怎么解析出標簽中href的鏈接?
  這時(shí),BeautifulSoup4就派上用場(chǎng)了。
  用BeautifulSoup4解析我們從網(wǎng)頁(yè)上抓取的html,
  soup?=?BeautifulSoup(response.text,?'html.parser')<br />
  看到這里也許會(huì )疑惑,html.parser是什么?
  這是一種html的解析器,Python中提供幾種html解析器,它們的主要特點(diǎn)分別是,
  
  綜合來(lái)說(shuō),我們選取html.parser解析器,
  選取好解析器之后就開(kāi)始著(zhù)手匹配我們想要的元素,可是看一下html發(fā)現,網(wǎng)頁(yè)中有很多標簽,我們該匹配哪一類(lèi)呢?
  AKIRA</a><br />
  仔細看一下會(huì )發(fā)現特點(diǎn),target="_blank",屬性href以/item開(kāi)頭的,于是就有了我們的匹配條件,
  {"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")}<br />
  用這樣的匹配條件去匹配符合target、href要求的標簽,
  sub_urls?=?soup.find_all("a",?{"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")})<br />
  完整代碼為,
  def?main():<br />????url?=?BASE_URL?+?START_PAGE<br />????response?=?sessions.post(url)<br />????response.encoding?=?response.apparent_encoding<br />????soup?=?BeautifulSoup(response.text,?'html.parser')<br />????sub_urls?=?soup.find_all("a",?{"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")})<br />????for?sub_url?in?sub_urls:<br />????????print(sub_url)<br />
  輸出結果為,
  幸福額度</a><br />北京·紐約</a><br />多倫多大學(xué)</a><br />刺陵</a><br />決戰剎馬鎮</a><br />北京·紐約</a><br />張國榮</a><br />奧黛麗·赫本</a><br />林健寰</a><br />斯特羅恩中學(xué)</a><br />多倫多大學(xué)</a><br />華岡藝校</a><br />唐安麒</a><br />日本再發(fā)現</a><br />亞太影展</a><br />梁朝偉</a><br />金城武</a><br />......<br />
  在用屬性字段sub_url["href"]過(guò)濾一下即可,
  /item/%E5%B9%B8%E7%A6%8F%E9%A2%9D%E5%BA%A6<br />/item/%E5%8C%97%E4%BA%AC%C2%B7%E7%BA%BD%E7%BA%A6<br />/item/%E5%A4%9A%E4%BC%A6%E5%A4%9A%E5%A4%A7%E5%AD%A6<br />/item/%E5%88%BA%E9%99%B5<br />/item/%E5%86%B3%E6%88%98%E5%88%B9%E9%A9%AC%E9%95%87<br />/item/%E5%8C%97%E4%BA%AC%C2%B7%E7%BA%BD%E7%BA%A6<br />/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3<br />......<br />
  就得到了詞條內部鏈接的后綴部分,然后和基礎的url拼接在一起就是完整的內部鏈接地址。
  同理,用同樣的方法也可以爬取其他內容,比如糗事百科的笑話(huà)、專(zhuān)業(yè)網(wǎng)站的素材、百度百科的詞條,當然,有些文本信息比較雜亂,這個(gè)過(guò)程中需要一些信息的篩選過(guò)程,例如利用正則表達式來(lái)匹配一段文本中有價(jià)值的信息,方法與上述大同小異。
  下載圖片
  
  和爬取內部鏈接一樣,要善于利用瀏覽器的檢查功能,檢查一下詞條內部圖片的鏈接,
  <br />
  發(fā)現,圖片鏈接存放在標簽內部,用上述方法可以匹配到圖片的完整鏈接,
  response?=?sessions.post(url)<br />response.encoding?=?response.apparent_encoding<br />soup?=?BeautifulSoup(response.text,?"html.parser")<br />image_urls?=?soup.find_all("img",?{"class":?"picture"})<br />for?image_url?in?image_urls:<br />????print(image_url["src"])<br />
  輸出如下,
  https://gss2.bdstatic.com/9fo3 ... %3Bbr />https://gss2.bdstatic.com/-fo3 ... %3Bbr />...<br />
  然后用requests發(fā)送請求,獲取圖片的數據,然后以讀寫(xiě)文件的方式存儲到本地,
  for?image_url?in?image_urls:<br />????url?=?image_url["src"]<br />????response?=?requests.get(url,?headers=headers)<br />????with?open(url[-10:],?'wb')?as?f:<br />????????f.write(response.content)<br />
  除了requests之外,還可以使用urllib.request.urlretrieve下載圖片,urlretrieve相對要方便一些,但是對于大文件,requests可以分段讀寫(xiě),更具有優(yōu)勢。
  上述介紹的方法是比較簡(jiǎn)單的一種,如果精力有限也可以嘗試一下Selenium或者Scrapy,這兩款工具的確非常強大,尤其是Selenium,它本是一款自動(dòng)化測試工具,但是后來(lái)發(fā)現它同樣可以用于網(wǎng)頁(yè)爬蟲(chóng),讓瀏覽器幫助你自動(dòng)爬取數據的工具,它可以以用戶(hù)訪(fǎng)問(wèn)網(wǎng)頁(yè)類(lèi)似的行為去瀏覽網(wǎng)頁(yè)并抓取數據,非常高效,感興趣的可以嘗試一下。
  福利
  
  我整理了一些計算機視覺(jué)、Python、強化學(xué)習、優(yōu)化算法等方面的電子書(shū)籍、學(xué)習資料,同時(shí)還打包了一些我認為比較實(shí)用的工具,如果需要請關(guān)注公眾號,回復相應的關(guān)鍵字即可獲取~
  
  發(fā)現更多精彩 查看全部

  Python網(wǎng)頁(yè)爬蟲(chóng)入門(mén)指導
  以林志玲的百度詞條為首頁(yè)開(kāi)始爬取。
  第四步,查看源碼,
  很多人都知道查看源碼的快捷鍵是F12,不管是谷歌瀏覽器還是IE瀏覽器,都是這樣,但是當按下F12之后會(huì )不由得疑問(wèn),"這是什么東西?",令人毫無(wú)頭緒。
  
  當然,可以一步一步的去了解源碼,學(xué)習html的知識,然后用正則表達式去一步一步、一個(gè)單元一個(gè)單元的匹配我們想要的信息,但是這樣未免太復雜了,我個(gè)人推薦使用檢查工具。
  
  爬取內部鏈接
  指向我們想要了解的元素,
  
  素,鼠標右鍵->檢查,能夠快速定位我們關(guān)注的元素。
  我覺(jué)得到這一步就已經(jīng)夠了,最簡(jiǎn)單的網(wǎng)頁(yè)爬蟲(chóng)就是反復的重復以下兩個(gè)步驟:
  通過(guò)檢查功能可以看到,百科詞條內部鏈接部分的源碼是這樣的,
  元素1:
  凱渥模特經(jīng)紀公司</a><br />
  元素2:
  決戰剎馬鎮</a><br />
  元素3:
  月之戀人</a><br />
  元素4:
  AKIRA</a><br />
  從上述4個(gè)元素可以看出,我們想要的信息詞條內部鏈接在標簽中,標簽中有以下幾個(gè)屬性:
  可以看出,我們想要的信息就在href中,也就是詞條的內部鏈接。因此,我們爬蟲(chóng)的目標就很明確了,就是解析出href超鏈接。
  到這里,瀏覽器檢查功能已經(jīng)發(fā)揮了它的作用,下一步問(wèn)題就變成了我們怎么解析出標簽中href的鏈接?
  這時(shí),BeautifulSoup4就派上用場(chǎng)了。
  用BeautifulSoup4解析我們從網(wǎng)頁(yè)上抓取的html,
  soup?=?BeautifulSoup(response.text,?'html.parser')<br />
  看到這里也許會(huì )疑惑,html.parser是什么?
  這是一種html的解析器,Python中提供幾種html解析器,它們的主要特點(diǎn)分別是,
  
  綜合來(lái)說(shuō),我們選取html.parser解析器,
  選取好解析器之后就開(kāi)始著(zhù)手匹配我們想要的元素,可是看一下html發(fā)現,網(wǎng)頁(yè)中有很多標簽,我們該匹配哪一類(lèi)呢?
  AKIRA</a><br />
  仔細看一下會(huì )發(fā)現特點(diǎn),target="_blank",屬性href以/item開(kāi)頭的,于是就有了我們的匹配條件,
  {"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")}<br />
  用這樣的匹配條件去匹配符合target、href要求的標簽,
  sub_urls?=?soup.find_all("a",?{"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")})<br />
  完整代碼為,
  def?main():<br />????url?=?BASE_URL?+?START_PAGE<br />????response?=?sessions.post(url)<br />????response.encoding?=?response.apparent_encoding<br />????soup?=?BeautifulSoup(response.text,?'html.parser')<br />????sub_urls?=?soup.find_all("a",?{"target":?"_blank",?"href":?re.compile("/item/(%.{2})+$")})<br />????for?sub_url?in?sub_urls:<br />????????print(sub_url)<br />
  輸出結果為,
  幸福額度</a><br />北京·紐約</a><br />多倫多大學(xué)</a><br />刺陵</a><br />決戰剎馬鎮</a><br />北京·紐約</a><br />張國榮</a><br />奧黛麗·赫本</a><br />林健寰</a><br />斯特羅恩中學(xué)</a><br />多倫多大學(xué)</a><br />華岡藝校</a><br />唐安麒</a><br />日本再發(fā)現</a><br />亞太影展</a><br />梁朝偉</a><br />金城武</a><br />......<br />
  在用屬性字段sub_url["href"]過(guò)濾一下即可,
  /item/%E5%B9%B8%E7%A6%8F%E9%A2%9D%E5%BA%A6<br />/item/%E5%8C%97%E4%BA%AC%C2%B7%E7%BA%BD%E7%BA%A6<br />/item/%E5%A4%9A%E4%BC%A6%E5%A4%9A%E5%A4%A7%E5%AD%A6<br />/item/%E5%88%BA%E9%99%B5<br />/item/%E5%86%B3%E6%88%98%E5%88%B9%E9%A9%AC%E9%95%87<br />/item/%E5%8C%97%E4%BA%AC%C2%B7%E7%BA%BD%E7%BA%A6<br />/item/%E5%BC%A0%E5%9B%BD%E8%8D%A3<br />......<br />
  就得到了詞條內部鏈接的后綴部分,然后和基礎的url拼接在一起就是完整的內部鏈接地址。
  同理,用同樣的方法也可以爬取其他內容,比如糗事百科的笑話(huà)、專(zhuān)業(yè)網(wǎng)站的素材、百度百科的詞條,當然,有些文本信息比較雜亂,這個(gè)過(guò)程中需要一些信息的篩選過(guò)程,例如利用正則表達式來(lái)匹配一段文本中有價(jià)值的信息,方法與上述大同小異。
  下載圖片
  
  和爬取內部鏈接一樣,要善于利用瀏覽器的檢查功能,檢查一下詞條內部圖片的鏈接,
  <br />
  發(fā)現,圖片鏈接存放在標簽內部,用上述方法可以匹配到圖片的完整鏈接,
  response?=?sessions.post(url)<br />response.encoding?=?response.apparent_encoding<br />soup?=?BeautifulSoup(response.text,?"html.parser")<br />image_urls?=?soup.find_all("img",?{"class":?"picture"})<br />for?image_url?in?image_urls:<br />????print(image_url["src"])<br />
  輸出如下,
  https://gss2.bdstatic.com/9fo3 ... %3Bbr />https://gss2.bdstatic.com/-fo3 ... %3Bbr />...<br />
  然后用requests發(fā)送請求,獲取圖片的數據,然后以讀寫(xiě)文件的方式存儲到本地,
  for?image_url?in?image_urls:<br />????url?=?image_url["src"]<br />????response?=?requests.get(url,?headers=headers)<br />????with?open(url[-10:],?'wb')?as?f:<br />????????f.write(response.content)<br />
  除了requests之外,還可以使用urllib.request.urlretrieve下載圖片,urlretrieve相對要方便一些,但是對于大文件,requests可以分段讀寫(xiě),更具有優(yōu)勢。
  上述介紹的方法是比較簡(jiǎn)單的一種,如果精力有限也可以嘗試一下Selenium或者Scrapy,這兩款工具的確非常強大,尤其是Selenium,它本是一款自動(dòng)化測試工具,但是后來(lái)發(fā)現它同樣可以用于網(wǎng)頁(yè)爬蟲(chóng),讓瀏覽器幫助你自動(dòng)爬取數據的工具,它可以以用戶(hù)訪(fǎng)問(wèn)網(wǎng)頁(yè)類(lèi)似的行為去瀏覽網(wǎng)頁(yè)并抓取數據,非常高效,感興趣的可以嘗試一下。
  福利
  
  我整理了一些計算機視覺(jué)、Python、強化學(xué)習、優(yōu)化算法等方面的電子書(shū)籍、學(xué)習資料,同時(shí)還打包了一些我認為比較實(shí)用的工具,如果需要請關(guān)注公眾號,回復相應的關(guān)鍵字即可獲取~
  
  發(fā)現更多精彩

如何把百度流量引到你的網(wǎng)站?

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 99 次瀏覽 ? 2022-05-08 04:20 ? 來(lái)自相關(guān)話(huà)題

  如何把百度流量引到你的網(wǎng)站?
  
  點(diǎn)擊上方“電商干貨邦” 可以訂閱哦!
  
  百度一直牢牢占據著(zhù)國內搜索引擎霸主的位置。弄懂了百度算法,就意味著(zhù)Hold住了網(wǎng)站排名和流量。想讓網(wǎng)站在百度排名靠前,有三種方法,第一給百度錢(qián),第二是百度旗下的公司或產(chǎn)品,第三提供有價(jià)值的內容(即百度免費排名),提高了百度搜索的用戶(hù)體驗。下面我們圍繞這三種理由,展開(kāi)我們的分析。
  1百度競價(jià)
  百度競價(jià)主要是根據關(guān)鍵詞出價(jià)獲得排名
  百度付費的廣告排名控制在第2-3是最好的狀態(tài)。排名第一,基本是競爭對手在點(diǎn)擊你的網(wǎng)站。百度競價(jià)的好處:排名時(shí)間快,一投放廣告,馬上就有排名,所以不少的企業(yè)選擇百度競價(jià)做前期推廣。百度競價(jià)的原理非常簡(jiǎn)單,即付費給百度,然后百度通過(guò)其后臺直接操作排名。百度競價(jià)成本較高,除了百度競價(jià),還可以用下面的方法。
  
  2百度旗下產(chǎn)品
  如百度文庫、百度知道、百度百科、百度經(jīng)驗、百度百家,均由百度自己開(kāi)發(fā)而成,通過(guò)阿拉丁通道排名,會(huì )在百度排名中優(yōu)先顯示。
  前面說(shuō)到付費競價(jià)推廣是通過(guò)后臺直接給出排名,而百度旗下產(chǎn)品的平臺與付費推廣不一樣,他們不屬于推廣,而是直接優(yōu)先展示他們網(wǎng)站的排名。展現形式與普通網(wǎng)站自然排名一樣。阿拉丁通道的排名沒(méi)有收錄規則,審核通過(guò)的內容基本會(huì )直接收錄,所以收不收錄需要看內容是否會(huì )通過(guò)審核。
  3
  百度免費排名
  
  不是百度家的親戚,也不是土豪玩家,那就選擇百度免費排名。百度免費排名的算法和規則是圍著(zhù)信譽(yù)度(權重)展開(kāi)的,而信譽(yù)度要從綜合因素判斷,并非單一的優(yōu)勢。做信譽(yù)度首先要讓百度收錄我們,收錄規則主要分為抓取、識別、釋放三個(gè)階段:
  a.抓?。?
  百度收錄一個(gè)網(wǎng)站或頁(yè)面的前提是網(wǎng)站被百度抓取過(guò),也就是百度的機器來(lái)過(guò)你的站點(diǎn),來(lái)你站點(diǎn)的前提是有一個(gè)入口,百度的入口有三個(gè),第一自己提交、第二SEO外鏈、第三瀏覽器。瀏覽器大家可能不是很明白,當新建網(wǎng)站后,沒(méi)有人知道此新網(wǎng)站,百度也不會(huì )知道。這個(gè)時(shí)候可以用百度瀏覽器打開(kāi)這個(gè)新網(wǎng)站,如此百度瀏覽器就知道了這個(gè)站點(diǎn)的存在,數據也交給了百度搜索引擎,從而達到抓取的效果。
  b.識別:
  抓取一個(gè)頁(yè)面,需要有可識別的文字內容,百度搜索引擎無(wú)法識別視頻、圖片、flash所以前期要以文字為主。另外沒(méi)有內容的頁(yè)面,如登錄注冊頁(yè)面、關(guān)于我們、聯(lián)系我們之類(lèi)的頁(yè)面,會(huì )直接被列入到空白頁(yè)面。
  c.釋放:
  最后是釋放,釋放后才可通過(guò)百度搜索你的URL,那么該怎么釋放呢?
  首先要頁(yè)面站外推薦很多,這需要我們在百度權重較高的網(wǎng)站中發(fā)布高質(zhì)量的內容,并且在中間穿插關(guān)鍵詞;其次是站內推薦,這也意味著(zhù)是這個(gè)頁(yè)面是高質(zhì)量頁(yè)面才會(huì )被站內推薦。除非是互聯(lián)網(wǎng)新聞源最多的內容,其最易被收錄,也可以說(shuō)抄襲者很多的內容最容易被收錄。因為新聞是具有時(shí)效性的,當一篇新聞發(fā)布以后,馬上就有很多媒體轉載,而百度機器識別出來(lái),很多新聞源有同樣的內容,也就被列入了新聞的話(huà)題頁(yè)面。這方面的內容收錄非???,因為如果過(guò)幾天才收錄,新聞內容會(huì )過(guò)時(shí),會(huì )影響百度的體驗。
  百度算法規則
  以下幾個(gè)算法僅供參考:
  百度綠蘿算法:百度綠蘿算法可以算鏈接是否是購買(mǎi)的,其主要原理是根據一個(gè)網(wǎng)站對另一個(gè)網(wǎng)站的鏈接判斷,是否有反向鏈接、鏈接個(gè)數來(lái)進(jìn)行判斷。
  百度石榴算法:石榴算法主要打擊對象為低質(zhì)量頁(yè)面,其中百度蜘蛛是根據網(wǎng)站html代碼來(lái)抓取,搜索引擎是根據文章的標簽(包含排版)、重復度來(lái)判斷網(wǎng)站的質(zhì)量。
  百度星火計劃:星火計劃是為了打擊抄襲者,其原理是判斷重復度來(lái)決定網(wǎng)站是否抄襲,同時(shí)百度蜘蛛也肯定了自己的抓取程序,目前正在往每一個(gè)網(wǎng)站時(shí)刻爬取靠攏。
  百度瑞麗算法:2015年元旦,百度內部相關(guān)程序出現了一些故障,導致國內大量的CN和CC域名站點(diǎn)被K,而不少人預測這是瑞麗算法上線(xiàn)的結果。不過(guò)網(wǎng)銷(xiāo)君從種種跡象推測,瑞麗算法應該是一種誤傳。
  
  End第二十六期【網(wǎng)絡(luò )巨系統】與您相約共享“互聯(lián)網(wǎng)+”時(shí)代!
  
  2016年5月16日-18日
  
  中國·北京第二十六期網(wǎng)絡(luò )巨系統火熱報名中!報名細節請聯(lián)系聚匯合一咨詢(xún)北京、上海、香港、天津、河北、河南、吉林、遼寧、黑龍江、山東、山西、新疆、陜西、寧夏、內蒙、四川、重慶、湖北、湖南、江蘇、江西、廣西、廣東、貴州、云南等各地的分子公司或直接在公眾平臺回復。咨詢(xún)電話(huà): 梁老師
   查看全部

  如何把百度流量引到你的網(wǎng)站?
  
  點(diǎn)擊上方“電商干貨邦” 可以訂閱哦!
  
  百度一直牢牢占據著(zhù)國內搜索引擎霸主的位置。弄懂了百度算法,就意味著(zhù)Hold住了網(wǎng)站排名和流量。想讓網(wǎng)站在百度排名靠前,有三種方法,第一給百度錢(qián),第二是百度旗下的公司或產(chǎn)品,第三提供有價(jià)值的內容(即百度免費排名),提高了百度搜索的用戶(hù)體驗。下面我們圍繞這三種理由,展開(kāi)我們的分析。
  1百度競價(jià)
  百度競價(jià)主要是根據關(guān)鍵詞出價(jià)獲得排名
  百度付費的廣告排名控制在第2-3是最好的狀態(tài)。排名第一,基本是競爭對手在點(diǎn)擊你的網(wǎng)站。百度競價(jià)的好處:排名時(shí)間快,一投放廣告,馬上就有排名,所以不少的企業(yè)選擇百度競價(jià)做前期推廣。百度競價(jià)的原理非常簡(jiǎn)單,即付費給百度,然后百度通過(guò)其后臺直接操作排名。百度競價(jià)成本較高,除了百度競價(jià),還可以用下面的方法。
  
  2百度旗下產(chǎn)品
  如百度文庫、百度知道、百度百科、百度經(jīng)驗、百度百家,均由百度自己開(kāi)發(fā)而成,通過(guò)阿拉丁通道排名,會(huì )在百度排名中優(yōu)先顯示。
  前面說(shuō)到付費競價(jià)推廣是通過(guò)后臺直接給出排名,而百度旗下產(chǎn)品的平臺與付費推廣不一樣,他們不屬于推廣,而是直接優(yōu)先展示他們網(wǎng)站的排名。展現形式與普通網(wǎng)站自然排名一樣。阿拉丁通道的排名沒(méi)有收錄規則,審核通過(guò)的內容基本會(huì )直接收錄,所以收不收錄需要看內容是否會(huì )通過(guò)審核。
  3
  百度免費排名
  
  不是百度家的親戚,也不是土豪玩家,那就選擇百度免費排名。百度免費排名的算法和規則是圍著(zhù)信譽(yù)度(權重)展開(kāi)的,而信譽(yù)度要從綜合因素判斷,并非單一的優(yōu)勢。做信譽(yù)度首先要讓百度收錄我們,收錄規則主要分為抓取、識別、釋放三個(gè)階段:
  a.抓?。?
  百度收錄一個(gè)網(wǎng)站或頁(yè)面的前提是網(wǎng)站被百度抓取過(guò),也就是百度的機器來(lái)過(guò)你的站點(diǎn),來(lái)你站點(diǎn)的前提是有一個(gè)入口,百度的入口有三個(gè),第一自己提交、第二SEO外鏈、第三瀏覽器。瀏覽器大家可能不是很明白,當新建網(wǎng)站后,沒(méi)有人知道此新網(wǎng)站,百度也不會(huì )知道。這個(gè)時(shí)候可以用百度瀏覽器打開(kāi)這個(gè)新網(wǎng)站,如此百度瀏覽器就知道了這個(gè)站點(diǎn)的存在,數據也交給了百度搜索引擎,從而達到抓取的效果。
  b.識別:
  抓取一個(gè)頁(yè)面,需要有可識別的文字內容,百度搜索引擎無(wú)法識別視頻、圖片、flash所以前期要以文字為主。另外沒(méi)有內容的頁(yè)面,如登錄注冊頁(yè)面、關(guān)于我們、聯(lián)系我們之類(lèi)的頁(yè)面,會(huì )直接被列入到空白頁(yè)面。
  c.釋放:
  最后是釋放,釋放后才可通過(guò)百度搜索你的URL,那么該怎么釋放呢?
  首先要頁(yè)面站外推薦很多,這需要我們在百度權重較高的網(wǎng)站中發(fā)布高質(zhì)量的內容,并且在中間穿插關(guān)鍵詞;其次是站內推薦,這也意味著(zhù)是這個(gè)頁(yè)面是高質(zhì)量頁(yè)面才會(huì )被站內推薦。除非是互聯(lián)網(wǎng)新聞源最多的內容,其最易被收錄,也可以說(shuō)抄襲者很多的內容最容易被收錄。因為新聞是具有時(shí)效性的,當一篇新聞發(fā)布以后,馬上就有很多媒體轉載,而百度機器識別出來(lái),很多新聞源有同樣的內容,也就被列入了新聞的話(huà)題頁(yè)面。這方面的內容收錄非???,因為如果過(guò)幾天才收錄,新聞內容會(huì )過(guò)時(shí),會(huì )影響百度的體驗。
  百度算法規則
  以下幾個(gè)算法僅供參考:
  百度綠蘿算法:百度綠蘿算法可以算鏈接是否是購買(mǎi)的,其主要原理是根據一個(gè)網(wǎng)站對另一個(gè)網(wǎng)站的鏈接判斷,是否有反向鏈接、鏈接個(gè)數來(lái)進(jìn)行判斷。
  百度石榴算法:石榴算法主要打擊對象為低質(zhì)量頁(yè)面,其中百度蜘蛛是根據網(wǎng)站html代碼來(lái)抓取,搜索引擎是根據文章的標簽(包含排版)、重復度來(lái)判斷網(wǎng)站的質(zhì)量。
  百度星火計劃:星火計劃是為了打擊抄襲者,其原理是判斷重復度來(lái)決定網(wǎng)站是否抄襲,同時(shí)百度蜘蛛也肯定了自己的抓取程序,目前正在往每一個(gè)網(wǎng)站時(shí)刻爬取靠攏。
  百度瑞麗算法:2015年元旦,百度內部相關(guān)程序出現了一些故障,導致國內大量的CN和CC域名站點(diǎn)被K,而不少人預測這是瑞麗算法上線(xiàn)的結果。不過(guò)網(wǎng)銷(xiāo)君從種種跡象推測,瑞麗算法應該是一種誤傳。
  
  End第二十六期【網(wǎng)絡(luò )巨系統】與您相約共享“互聯(lián)網(wǎng)+”時(shí)代!
  
  2016年5月16日-18日
  
  中國·北京第二十六期網(wǎng)絡(luò )巨系統火熱報名中!報名細節請聯(lián)系聚匯合一咨詢(xún)北京、上海、香港、天津、河北、河南、吉林、遼寧、黑龍江、山東、山西、新疆、陜西、寧夏、內蒙、四川、重慶、湖北、湖南、江蘇、江西、廣西、廣東、貴州、云南等各地的分子公司或直接在公眾平臺回復。咨詢(xún)電話(huà): 梁老師
  

一個(gè)能夠屏蔽百度廣告的爬蟲(chóng):BaiduSpider

網(wǎng)站優(yōu)化 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 85 次瀏覽 ? 2022-05-07 07:14 ? 來(lái)自相關(guān)話(huà)題

  一個(gè)能夠屏蔽百度廣告的爬蟲(chóng):BaiduSpider
  <p style="font-size: inherit;color: inherit;line-height: inherit;">作者:samzhangjy<br />來(lái)源:公眾號「杰哥的IT之旅」<br />ID:Jake_Internet</p>
  前言
  有時(shí)候做數據統計的時(shí)候,常常很難大而全地抓取一個(gè)頁(yè)面上所有的搜索結果,比如百度網(wǎng)頁(yè)搜索,有時(shí)候會(huì )有視頻欄,新聞欄,百科欄,等等。普通的爬蟲(chóng)都不能爬到這些,因為它們的結構跟普通搜索結果是完全不一樣的。但是,BaiduSpider可以,接下來(lái),我們來(lái)看下這期視頻:
  BaiduSpider是一個(gè)能夠抓取百度各類(lèi)搜索結果的爬蟲(chóng),使用Python編寫(xiě)。它十分輕量,但是卻能夠準確地爬取各種類(lèi)型復雜的結果,包括我們上面所說(shuō)的視頻,新聞,百科等。
  目前實(shí)現的功能有百度網(wǎng)頁(yè)搜索,百度圖片搜索,百度知道搜索,百度視頻搜索,百度資訊搜索,百度文庫搜索,百度經(jīng)驗搜索和百度百科搜索。
  除此以外,BaiduSpider還擁有多種不同的平臺,目前有Python原生,Web UI和Web API,并且接下來(lái)還會(huì )推出BaiduSpider CLI,讓你在命令行里完成搜索。
  主要功能
  當然,上面才是它的一點(diǎn)點(diǎn)功能,它最大的賣(mài)點(diǎn)在于,它所爬取的所有搜索結果都沒(méi)有廣告!有了它,你就再也不用去安裝什么AdBlock,AdGuard啦!
  但是,讓我們先來(lái)小試牛刀,看看它爬取搜索結果的準確度和完整度怎么樣吧。比如說(shuō),我們來(lái)搜索一下Python教程視頻:
  
  對比一下百度搜索的頁(yè)面:
  
  我們可以發(fā)現,BaiduSpider爬取到的信息是和百度一模一樣的(除去百度最后一個(gè)是廣告)!可見(jiàn)BaiduSpider的準確度。
  廣告屏蔽
  接下來(lái),我們來(lái)看看它處理廣告的能力:
  
  幾乎一半都是廣告。。。再看看BaiduSpider的:
  
  可以很直接地看出BaiduSpider屏蔽了所有右下角帶有廣告標簽的搜索結果,是不是十分大快人心……
  基本功:Python原生
  說(shuō)了這么多,展示的都是網(wǎng)頁(yè)端的結果,沒(méi)有一個(gè)是能通過(guò)Python調用的。你可能會(huì )問(wèn),這玩意不是Python編寫(xiě)的嗎?怎么沒(méi)有提供Python API?
  別急,接下來(lái)我們就來(lái)介紹它最常用的部分——BaiduSpider Python原生。
  比如,我想要搜索關(guān)于git的結果,通過(guò)Python API調用就只有這么幾行代碼:
  from?baiduspider?import?BaiduSpider<br />from?pprint?import?pprint<br /><br />spider?=?BaiduSpider()<br />pprint(spider.search_web('git'))<br />
  沒(méi)錯,BaiduSpider也發(fā)布了PyPI包!讓我們看一下這段代碼的運行結果如何:
  {'results':?[{'result':?100000000,?'type':?'total'},<br />?????????????{'results':?['git教程',<br />??????????????????????????'github中文官網(wǎng)網(wǎng)頁(yè)',<br />??????????????????????????'小奶貓回家地址github',<br />??????????????????????????'git新手教程',<br />??????????????????????????'git通俗一點(diǎn)是干什么的',<br />??????????????????????????'github官網(wǎng)切換中文',<br />??????????????????????????'git提交代碼的正確步驟',<br />??????????????????????????'Git使用教程',<br />??????????????????????????'游戲源碼'],<br />??????????????'type':?'related'},<br />?????????????{'des':?'Git?is?a?free?and?open?source?distributed?version?'<br />?????????????????????'control?system?designed?to?handle?everything?from?small?'<br />?????????????????????'to?very?larg...',<br />??????????????'origin':?'git-scm.com/',<br />??????????????'time':?None,<br />??????????????'title':?'git官網(wǎng)',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=io2eYwa4OovMW42jQtlgSYuRE1emLSXzGNikMbmxYTe'},<br />?????????????{'des':?'Git 教程 Git 是一個(gè)開(kāi)源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。Git 是?'<br />?????????????????????'Linus?Torvalds?為了幫助管理?Linux?內核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼...',<br />??????????????'origin':?'www.runoob.com/git/git-tutori....',<br />??????????????'time':?None,<br />??????????????'title':?'Git?教程?|?菜鳥(niǎo)教程',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=iTkBZk7h5QyDo6J8fmT4c4ufn7zJnEUhB0fXyBYBg334qXZ4GzWIpu-eV4hqjpk3hYjFlNZZwUPcO9u3nH8xL_'},<br />?????????????{'des':?'Git 教程 Git 是一個(gè)開(kāi)源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。Git 是?'<br />?????????????????????'Linus?Torvalds?為了幫助管理?Linux?內核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼...',<br />??????????????'origin':?None,<br />??????????????'time':?None,<br />??????????????'title':?'git安裝相關(guān)博客',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=Q-zaj4E2-_jaO-ZR5DTM2U8r8ZH3_8JuPtsKgXllLcVQW-4H40hBzIFqcgoByjmrN-jr7_WtIP9Cp55C-nLR2A4LNtpcHCgrBjCs0bUPZHC'},<br />?????????????{'des':?'If?you?already?have?Git?installed,?you?can?get?the?'<br />?????????????????????'latest?development?version?via?Git?itself:?git?clone?'<br />?????????????????????'https://github.com/git/git?...',<br />??????????????'origin':?'www.git-scm.com/download/',<br />??????????????'time':?None,<br />??????????????'title':?'Git?-?Downloads',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=ITh8cnvqErJCQx9ICLrJed8f5hGCEU5JLpVoK1MsUPqqsl5sPnlhfCL8OjxuQLSN'},<br />?????????????{'des':?'If?you?already?have?Git?installed,?you?can?get?the?'<br />?????????????????????'latest?development?version?via?Git?itself:?git?clone?'<br />?????????????????????'https://github.com/git/git?...',<br />??????????????'origin':?None,<br />??????????????'time':?None,<br />??????????????'title':?'Git-開(kāi)源的分布式版本控制系統',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=Tft8L7Dd71mQxbWpuJO7SpT2HR2RDgkQLNSEnk_MxaPQ6ZML0TUpgflG9DOvTGzND3olfU9ScMKmPDKRLO_l33vHKTGNMmwv89PgOFiVmP_'},<br />?????????????{'des':?'Git?Source?Code?Mirror?-?This?is?a?publish-only?'<br />?????????????????????'repository?and?all?pull?requests?are?ignored.?Please?'<br />?????????????????????'follow?Documentation/SubmittingPatches?procedure?for?...',<br />??????????????'origin':?'github',<br />??????????????'time':?None,<br />??????????????'title':?'GitHub?-?git/git:?Git?Source?Code?Mirror?-?This?is?a?'<br />???????????????????????'p...',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=KtsMqw1oBIWWlkZDnq2Y5P1tdu33Uy0n9y5ZYUufiG_ab_m6ky41KrZUkYbXf2gC'},<br />?????????????{'des':?'git?Git?Source?Code?Mirror?-?This?is?a?publish-only?'<br />?????????????????????'repository?and?all?pull?requests?are?ignored.?Please?'<br />?????????????????????'follow?Documentation/SubmittingPat...',<br />??????????????'origin':?'github',<br />??????????????'time':?'2021年1月2日',<br />??????????????'title':?'Git?·?GitHub',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=rxFpc1Ymkb4RTcvH19Qg1VEcf62S5T6eMpHw7v3Xz5W'},<br />?????????????{'des':?'最近要與部門(mén)同事一起做技術(shù)分享,我選擇了Git,因為Git?'<br />?????????????????????'是一種在全球范圍都廣受歡迎的版本控制系統。在開(kāi)發(fā)過(guò)程中,為了跟蹤代碼,文檔,項目等信息中的變化,版本控制...',<br />??????????????'origin':?'博客園',<br />??????????????'time':?None,<br />??????????????'title':?'一個(gè)小時(shí)學(xué)會(huì )Git?-?張果?-?博客園',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=q2JO9SIY9y_8Cvs8mMfkXKUF1pY8HCaS0v1FYPQhzvOncl4HxlUXoVuJXsds_WdG3ibcwYf7JNwuWWGhP00xF_'},<br />?????????????{'des':?'We?bring?the?awesome?Git?VCS?to?Windows',<br />??????????????'origin':?'gitforwindows.org/',<br />??????????????'time':?None,<br />??????????????'title':?'這里下載git?-?Git?for?Windows',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=LJMKB611S4QxZWM5lSLUL2K0ta4zYMZUtzrdx6bvixWSUDtXkBg1Izu5M2CoU3yP'}],<br />?'total':?10}<br />
  可以看出,所有結果都已經(jīng)分好了類(lèi)(此處主要是普通的搜索結果),并且還有總計搜索結果數、總頁(yè)數等附加信息。所有BaiduSpider方法的返回值都是一個(gè)dict,里面有results和total兩個(gè)鍵,分別代表所有搜索結果(list),和總頁(yè)數(int)。
  最后
  看到這里,你是不是已經(jīng)想見(jiàn)識一下這個(gè)神器了呢?什么?多少錢(qián)?不,它是免費的!它不僅免費,而且還開(kāi)源呢。不僅如此,它也提供詳細的文檔(部分還在撰寫(xiě)中),可以說(shuō)是“配套齊全”啦。
  GitHub地址:
  文檔地址:
  文中提到的網(wǎng)頁(yè)版地址(目前還在A(yíng)lpha階段,請適量使用,僅作為demo用途):
  本篇由作者:samzhangjy 投稿,不妨大家可以給他的 GitHub 點(diǎn)個(gè) Star 支持一下。 查看全部

  一個(gè)能夠屏蔽百度廣告的爬蟲(chóng):BaiduSpider
  <p style="font-size: inherit;color: inherit;line-height: inherit;">作者:samzhangjy<br />來(lái)源:公眾號「杰哥的IT之旅」<br />ID:Jake_Internet</p>
  前言
  有時(shí)候做數據統計的時(shí)候,常常很難大而全地抓取一個(gè)頁(yè)面上所有的搜索結果,比如百度網(wǎng)頁(yè)搜索,有時(shí)候會(huì )有視頻欄,新聞欄,百科欄,等等。普通的爬蟲(chóng)都不能爬到這些,因為它們的結構跟普通搜索結果是完全不一樣的。但是,BaiduSpider可以,接下來(lái),我們來(lái)看下這期視頻:
  BaiduSpider是一個(gè)能夠抓取百度各類(lèi)搜索結果的爬蟲(chóng),使用Python編寫(xiě)。它十分輕量,但是卻能夠準確地爬取各種類(lèi)型復雜的結果,包括我們上面所說(shuō)的視頻,新聞,百科等。
  目前實(shí)現的功能有百度網(wǎng)頁(yè)搜索,百度圖片搜索,百度知道搜索,百度視頻搜索,百度資訊搜索,百度文庫搜索,百度經(jīng)驗搜索和百度百科搜索。
  除此以外,BaiduSpider還擁有多種不同的平臺,目前有Python原生,Web UI和Web API,并且接下來(lái)還會(huì )推出BaiduSpider CLI,讓你在命令行里完成搜索。
  主要功能
  當然,上面才是它的一點(diǎn)點(diǎn)功能,它最大的賣(mài)點(diǎn)在于,它所爬取的所有搜索結果都沒(méi)有廣告!有了它,你就再也不用去安裝什么AdBlock,AdGuard啦!
  但是,讓我們先來(lái)小試牛刀,看看它爬取搜索結果的準確度和完整度怎么樣吧。比如說(shuō),我們來(lái)搜索一下Python教程視頻:
  
  對比一下百度搜索的頁(yè)面:
  
  我們可以發(fā)現,BaiduSpider爬取到的信息是和百度一模一樣的(除去百度最后一個(gè)是廣告)!可見(jiàn)BaiduSpider的準確度。
  廣告屏蔽
  接下來(lái),我們來(lái)看看它處理廣告的能力:
  
  幾乎一半都是廣告。。。再看看BaiduSpider的:
  
  可以很直接地看出BaiduSpider屏蔽了所有右下角帶有廣告標簽的搜索結果,是不是十分大快人心……
  基本功:Python原生
  說(shuō)了這么多,展示的都是網(wǎng)頁(yè)端的結果,沒(méi)有一個(gè)是能通過(guò)Python調用的。你可能會(huì )問(wèn),這玩意不是Python編寫(xiě)的嗎?怎么沒(méi)有提供Python API?
  別急,接下來(lái)我們就來(lái)介紹它最常用的部分——BaiduSpider Python原生。
  比如,我想要搜索關(guān)于git的結果,通過(guò)Python API調用就只有這么幾行代碼:
  from?baiduspider?import?BaiduSpider<br />from?pprint?import?pprint<br /><br />spider?=?BaiduSpider()<br />pprint(spider.search_web('git'))<br />
  沒(méi)錯,BaiduSpider也發(fā)布了PyPI包!讓我們看一下這段代碼的運行結果如何:
  {'results':?[{'result':?100000000,?'type':?'total'},<br />?????????????{'results':?['git教程',<br />??????????????????????????'github中文官網(wǎng)網(wǎng)頁(yè)',<br />??????????????????????????'小奶貓回家地址github',<br />??????????????????????????'git新手教程',<br />??????????????????????????'git通俗一點(diǎn)是干什么的',<br />??????????????????????????'github官網(wǎng)切換中文',<br />??????????????????????????'git提交代碼的正確步驟',<br />??????????????????????????'Git使用教程',<br />??????????????????????????'游戲源碼'],<br />??????????????'type':?'related'},<br />?????????????{'des':?'Git?is?a?free?and?open?source?distributed?version?'<br />?????????????????????'control?system?designed?to?handle?everything?from?small?'<br />?????????????????????'to?very?larg...',<br />??????????????'origin':?'git-scm.com/',<br />??????????????'time':?None,<br />??????????????'title':?'git官網(wǎng)',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=io2eYwa4OovMW42jQtlgSYuRE1emLSXzGNikMbmxYTe'},<br />?????????????{'des':?'Git 教程 Git 是一個(gè)開(kāi)源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。Git 是?'<br />?????????????????????'Linus?Torvalds?為了幫助管理?Linux?內核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼...',<br />??????????????'origin':?'www.runoob.com/git/git-tutori....',<br />??????????????'time':?None,<br />??????????????'title':?'Git?教程?|?菜鳥(niǎo)教程',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=iTkBZk7h5QyDo6J8fmT4c4ufn7zJnEUhB0fXyBYBg334qXZ4GzWIpu-eV4hqjpk3hYjFlNZZwUPcO9u3nH8xL_'},<br />?????????????{'des':?'Git 教程 Git 是一個(gè)開(kāi)源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。Git 是?'<br />?????????????????????'Linus?Torvalds?為了幫助管理?Linux?內核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼...',<br />??????????????'origin':?None,<br />??????????????'time':?None,<br />??????????????'title':?'git安裝相關(guān)博客',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=Q-zaj4E2-_jaO-ZR5DTM2U8r8ZH3_8JuPtsKgXllLcVQW-4H40hBzIFqcgoByjmrN-jr7_WtIP9Cp55C-nLR2A4LNtpcHCgrBjCs0bUPZHC'},<br />?????????????{'des':?'If?you?already?have?Git?installed,?you?can?get?the?'<br />?????????????????????'latest?development?version?via?Git?itself:?git?clone?'<br />?????????????????????'https://github.com/git/git?...',<br />??????????????'origin':?'www.git-scm.com/download/',<br />??????????????'time':?None,<br />??????????????'title':?'Git?-?Downloads',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=ITh8cnvqErJCQx9ICLrJed8f5hGCEU5JLpVoK1MsUPqqsl5sPnlhfCL8OjxuQLSN'},<br />?????????????{'des':?'If?you?already?have?Git?installed,?you?can?get?the?'<br />?????????????????????'latest?development?version?via?Git?itself:?git?clone?'<br />?????????????????????'https://github.com/git/git?...',<br />??????????????'origin':?None,<br />??????????????'time':?None,<br />??????????????'title':?'Git-開(kāi)源的分布式版本控制系統',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=Tft8L7Dd71mQxbWpuJO7SpT2HR2RDgkQLNSEnk_MxaPQ6ZML0TUpgflG9DOvTGzND3olfU9ScMKmPDKRLO_l33vHKTGNMmwv89PgOFiVmP_'},<br />?????????????{'des':?'Git?Source?Code?Mirror?-?This?is?a?publish-only?'<br />?????????????????????'repository?and?all?pull?requests?are?ignored.?Please?'<br />?????????????????????'follow?Documentation/SubmittingPatches?procedure?for?...',<br />??????????????'origin':?'github',<br />??????????????'time':?None,<br />??????????????'title':?'GitHub?-?git/git:?Git?Source?Code?Mirror?-?This?is?a?'<br />???????????????????????'p...',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=KtsMqw1oBIWWlkZDnq2Y5P1tdu33Uy0n9y5ZYUufiG_ab_m6ky41KrZUkYbXf2gC'},<br />?????????????{'des':?'git?Git?Source?Code?Mirror?-?This?is?a?publish-only?'<br />?????????????????????'repository?and?all?pull?requests?are?ignored.?Please?'<br />?????????????????????'follow?Documentation/SubmittingPat...',<br />??????????????'origin':?'github',<br />??????????????'time':?'2021年1月2日',<br />??????????????'title':?'Git?·?GitHub',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=rxFpc1Ymkb4RTcvH19Qg1VEcf62S5T6eMpHw7v3Xz5W'},<br />?????????????{'des':?'最近要與部門(mén)同事一起做技術(shù)分享,我選擇了Git,因為Git?'<br />?????????????????????'是一種在全球范圍都廣受歡迎的版本控制系統。在開(kāi)發(fā)過(guò)程中,為了跟蹤代碼,文檔,項目等信息中的變化,版本控制...',<br />??????????????'origin':?'博客園',<br />??????????????'time':?None,<br />??????????????'title':?'一個(gè)小時(shí)學(xué)會(huì )Git?-?張果?-?博客園',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=q2JO9SIY9y_8Cvs8mMfkXKUF1pY8HCaS0v1FYPQhzvOncl4HxlUXoVuJXsds_WdG3ibcwYf7JNwuWWGhP00xF_'},<br />?????????????{'des':?'We?bring?the?awesome?Git?VCS?to?Windows',<br />??????????????'origin':?'gitforwindows.org/',<br />??????????????'time':?None,<br />??????????????'title':?'這里下載git?-?Git?for?Windows',<br />??????????????'type':?'result',<br />??????????????'url':?'http://www.baidu.com/link?url=LJMKB611S4QxZWM5lSLUL2K0ta4zYMZUtzrdx6bvixWSUDtXkBg1Izu5M2CoU3yP'}],<br />?'total':?10}<br />
  可以看出,所有結果都已經(jīng)分好了類(lèi)(此處主要是普通的搜索結果),并且還有總計搜索結果數、總頁(yè)數等附加信息。所有BaiduSpider方法的返回值都是一個(gè)dict,里面有results和total兩個(gè)鍵,分別代表所有搜索結果(list),和總頁(yè)數(int)。
  最后
  看到這里,你是不是已經(jīng)想見(jiàn)識一下這個(gè)神器了呢?什么?多少錢(qián)?不,它是免費的!它不僅免費,而且還開(kāi)源呢。不僅如此,它也提供詳細的文檔(部分還在撰寫(xiě)中),可以說(shuō)是“配套齊全”啦。
  GitHub地址:
  文檔地址:
  文中提到的網(wǎng)頁(yè)版地址(目前還在A(yíng)lpha階段,請適量使用,僅作為demo用途):
  本篇由作者:samzhangjy 投稿,不妨大家可以給他的 GitHub 點(diǎn)個(gè) Star 支持一下。

官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

最近中文字幕2019高清,亚洲人成高清在线播放,男生淦哭男生图片动漫有字,国产亚洲精品九九久在线观看,无码av专区丝袜专区