Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 18在线观看国内精品视频,精品一区二区三区影片,韩国高清色www在线安全

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Google 檢索、索引、搜索引擎排名與原理! 20

          Google 檢索、索引、搜索引擎排名與原理! 2024教學

          oogle SEO 中的爬取、索引跟 搜索引擎排名,分別是什么意思呢?在學習SEO之前,必定要先了解一下谷歌搜索引擎的運作方式。從你的網站文章發布的那一瞬間,你的文章網址會經歷:被找到、被爬取(檢索)、被索引,然后才能出現在 Google 搜索引擎里面并且加入 Google 搜索結果的排名。上面的這個過程,從網址被找到,一直到被爬取跟索引,然后再到開始在 Google 搜索引擎排名,這就是 Google 搜索引擎的運作方式。

          了解 Google 搜索引擎的運作方式非常重要,因為 Google 在檢索、索引到搜索引擎排名的過程當中,有非常多的 SEO 知識在里面。例如 Google 檢索時是檢索哪些東西?Google 索引時是索引哪些東西?當你的文章開始加入 Google 搜索引擎排名,文章的初始排名是怎么決定的?這中間隱含大量的 SEO 知識跟排名要素(Ranking factors)在里面。

          如果你還不知道SEO中的爬取、索引跟排名的整個過程以及運作方式,本篇文章會做一個完整的介紹,讓你了解 Google 搜索引擎的基本運作原理。

          Google 搜索引擎的爬取、索引跟排名,是什么?

          當一個新的網址出現的時候,它一定會經歷「被找到」的過程,所以雖然我們可以將 Google 搜索引擎的運作方式分成:檢索(爬取)、索引跟排名,但其實前面還有一個「找到」網址的過程。

          這里將網址被找到、爬取(檢索)、索引跟排名,簡單說明如下。

          Google 找到網址

          當一個新頁面出現時,Google 的爬蟲必然會先找到該網址,并且將該網址加入網址庫,然后比對一下網址庫里面是不是有這條網址,如果確認是新的網址,就會按排時間去檢索(爬取)。

          在 Google Search Console 里面的「涵蓋范圍」功能當中,你也可以清楚看到一條網址它的「發現方式」,可能是從你提交的 Sitemap 當中發現的,也有可能是從別的網址找到你這條鏈接的。

          seo

          Google 爬存(檢索)

          當有新的網址出現在 Google 數據庫中的網址庫之后,就會安排時間去檢索,其實「檢索」是官方的名稱,熊貓先生也比較喜歡用「檢索」這個詞,不過在 SEO 界里,檢索很常被稱作「爬取」,你只要知道它們指的都是 Crawl 就可以了。無論是爬取還是檢索,都是指 Crawl 。

          在 Google search Console 里面的「涵蓋范圍」功能,你也可以很清楚的看到關于「檢索」的訊息。下面有兩個重要的觀念:

          • 是否允許檢索:如果顯示否,那么該網址可能是出現在robots.txt,也就是網站主在robots.txt這個檔案當中不允許檢索這條網址。
          • 是否允許編入索引:如果顯示否,代表該網址很可能有noindex中繼標記,所以才會出現不允許給頁面被索引的訊息。
          • 這里特別說明:robots.txt 是用來告訴搜索引擎不要爬取特定頁面,而 noindex 則是用來告訴搜索引擎不要索引特定頁面。

          seo

          當爬蟲程序爬取了你的頁面之后,會將整個網頁的信息壓縮并存入數據庫里面,在「檢索」階段,Google 存入數據庫的信息就像是用戶打開瀏覽器時得到的 HTML 網頁,一直要到「索引」階段,才會將檢索的資料去蕪存菁,只索引重要的信息。

          Google 索引

          Google 在索引階段要處理的東西很多,因為 Google 不可能將你網頁上全部的 HTML 源代碼,或是各種文字都存入數據庫,這樣數據庫會變得過于龐大而沒有效益,所以 Google 「索引」階段肯定只會索引重要的東西,而這些東西會影響你這個網址之后在某個「關鍵字」的排名。

          那么,Google 到底索引了哪些東西?常見的會被索引的信息包含如下:

          1.重要的關鍵詞

          Google 是如何提取頁面中的關鍵詞,這個只有 Google 內部人員才知道,通常提取的關鍵詞可能也有 10 個以上,而且每個被提取出來的關鍵詞,其權重加總之后通常不一樣。

          唯一可以肯定的是,頁面中的Meta title、H1、H2肯定是重點。這也是為什么很多SEO人都強調關鍵詞要出現在標題或是H2里面的重要性。

          2.鏈接與錨文字

          頁面中的鏈接與錨點文字也是會被索引的東西。

          3.圖片 Alt text

          圖片當中的 alt text ,也是會被提取的文字。

          4.關鍵字的文字大小(font-size)

          根據 Google 的 Pagerank 原始文件,有特別提到,Google 會提取關鍵字大約的文字大小,文字越大通常重要性也越高。

          5.文章中的粗體字

          粗體字通常是<strong>或是<b>這樣的標簽,粗體字也會是被記錄的信息。

          6.關鍵字在頁面中的位置

          關鍵詞出現在頁面中的位置,也是會被記錄在索引數據庫里面。

          除了上面提到的這幾點資訊以外,Google 肯定還索引了其它東西,但很多東西是我們不知道的,這些被用來索引的東西,通常也可以視為 SEO 排名要素(Ranking factors)。

          Google 排名

          當你的某個頁面網址被索引之后,基本上就已經可以出現在 Google 搜索引擎里面并加入排名了。Google 號稱有兩百多條 SEO 排名要素,這200 多條排名要素都會在整個 SEO 關鍵詞排名中起到一定程度的作用,有些影響作用很大(例如反向鏈接),有些影響作用比較小(例如關鍵字出現在 URL 網址里)。

          Google 搜索引擎的運作原理

          從上面你應該已經了解到,Google 搜索引擎的運作原理,基本上就是四個階段:網址被找到、網址被爬取、網址被索引跟網址被排名。簡單的講,谷歌搜索引擎的運作原理有這四個階段。

          • 網址被找到
          • 爬取(又稱檢索)
          • 索引(又稱收錄)
          • 排名

          從事 SEO 工作的人必須非常了解這四個階段的各種 SEO 細節,你才能從中找到一些問題,例如以下幾個重點:

          • 一個網址如果遲遲沒有被檢索,那會是什么原因?
          • 一個網址如果遲遲沒有被索引,那會是什么原因?

          關于 Google 搜索引擎的運作原理,其實 Matt Cutts 在 Youtube 網站上有一段視頻,講解的非常清楚,這段視頻建議一定要看。Matt Cutts 的這段視頻清楚的解釋了:Google 爬取、索引跟排名的過程。

          在 Google 搜索引擎的關鍵詞排名的過程中,除了參考 Google 索引中的資料,另外還有 Pagerank 跟 200 多條 SEO 排名要素(注意:Google 索引中的資料,有些本身就是排名要素)。

          除了上面這只影片之外,Matt Cutts 在另外一只影片,也提到了 Google 搜索引擎的運作方式,下面這只視頻也建議一定要看,你會對 Google 搜索引擎的運作原理與搜索引擎排名有更深的理解。

          Google 正向索引與倒序索引

          在 Google 的「索引」過程當中,有件事特別重要,那就是「正向索引」跟「倒序索引」,如果不是具有理工背景的人,可能很難理解這兩個概念。

          下面分別解釋 Google 索引中的正向索引與倒序索引。

          正向索引

          每個網址都被指派一個獨一無二的 DocID,這個數據表中儲存著該網頁的重要關鍵詞。

          倒序索引

          Google 透過正向索引的數據,改變其索引方式,換成以關鍵字為鍵值的數據表,每個數據列都有一個 KeywordID,每個 KeywordID 里面包含著重要的網址(DocID)。

          當用戶在 Google 搜索關鍵詞的時候,Google 會去調用倒序索引里面的資料,這樣查詢速度才會快,因為如果使用正向索引資料表,這樣查詢會變得超級慢,因為網路上有上百億個網頁,這計算時間實在太過龐大,這也是為什么原本的正向索引必須改成倒序索引的原因。

          seeo


          除了處理 API 請求和 HTML 等傳統內容外, Web 服務器應處理雙向文件傳輸。 非常大的文件可能需要在不占用太多系統內存的中傳輸。

          您還可以提供對文件目錄的訪問權限 (ands 子目錄,任何深度) 與靜態文件 .

          多部件支持

          為了處理大文件,FastAPI 的上傳和下載 功能需要以下額外模塊:

          • :pip install python-multipart
          • AIO文件:PIP安裝

          上傳文件

          FastAPI 以 API 開發為目標, 本書中的大多數示例都使用了JSON請求 和響應。 但是在最后一章中,你看到了表格,它們的處理方式不同。 本章介紹文件,這些文件在某些方面被視為表單。

          FastAPI 提供兩種文件上傳技術: 文件() 和上傳文件 。

          文件()

          File() 用作直接文件上傳的類型。 您的路徑函數可能是同步的 ( def ) 或異步(異步定義), 但是異步版本更好,因為它不會 在上傳文件時綁定您的 Web 服務器。

          FastAPI 會將文件分成塊并重新組裝 在內存中,所以 File() 應該只用于 相對較小的文件。 而不是假設輸入是 JSON, FastAPI 將文件編碼為表單元素。

          讓我們編寫代碼來請求文件,并對其進行測試。 您可以獲取計算機上的任何文件進行測試, 或者從等網站下載一個。 我從那里拿了一個 1K 文件, 并將其本地保存為 。

          在例 19-1 中, 將這些行添加到您的頂部 :

          使用 FastAPI 處理小文件上傳

           @app  .  post  (  "/small"  ) 
           async   def   upload_small_file  (  small_file  :   bytes=File  ())   ->   str  : 
               return   f  "file size:   {  len  (  small_file  )  }  " 

          Uvicorn 重新啟動后,嘗試示例 19-2 中的 Httpi 測試:

          使用 Httpie 上傳一個小文件。

          $ http -f -b POST http://localhost:8000/small small_file@1KB.bin
          "file size: 1000"

          一些注意事項:

          • 需要一個 -f(或 --form),因為文件像表單一樣上傳, 不是作為 JSON 文本。
          • small_file@1KB.bin :
            • small_file:small_file匹配 示例 19-1 中的快速 API 路徑函數。
            • @ : Httpie制作表單的簡寫
            • 1KB.bin:正在上傳的文件。

          示例 19-3 是等效的編程測試:

          上傳一個包含請求的小文件。

           $   python 
           >>>   import   requests 
           >>>   url="http://localhost:8000/small" 
           >>>   files={  'small_file'  :   open  (  '1KB.bin'  ,   'rb'  )} 
           >>>   resp=requests  .  post  (  url  ,   files=files  ) 
           >>>   print  (  resp  .  json  ()) 
           file   size  :   1000 

          上傳文件

          對于大文件,最好使用 上傳文件 . 這將創建一個蟒蛇 假脫機臨時文件對象,主要在服務器的磁盤上 而不是在內存中。 這是一個, 支持方法 read() 、write() 和 seek() 。 示例 19-4 顯示了這一點, 并且還使用異步定義而不是定義 以避免在文件時阻止 Web 服務器 正在上傳的片段:

          使用 FastAPI 上傳大文件

           from   fastapi   import   UploadFile 
          
           @app  .  post  (  "/big"  ) 
           async   def   upload_big_file  (  big_file  :   UploadFile  )   ->   str 
               return   f  "file size:   {  big_file  .  size  }  , name:   {  big_file  .  filename  }  " 

          注意

          File() 創建了一個字節對象并需要括號。 上傳文件是另一類對象。

          如果 Uvicorn 的起動電機尚未磨損, 現在是測試時間。 這一次 示例 19-5 和 19-6 使用 一個千兆字節的文件 () 我從中抓住的。

          使用 Httpie 測試大文件上傳。

          $ http -f -b POST http://localhost:8000/big big_file@1GB.bin
          "file size: 1000000000, name: 1GB.bin"

          使用請求測試大文件上傳。

           >>>   import   requests 
           >>>   url="http://localhost:8000/big" 
           >>>   files={  'big_file'  :   open  (  '1GB.bin'  ,   'rb'  )} 
           >>>   resp=requests  .  post  (  url  ,   files=files  ) 
           >>>   print  (  resp  .  json  ()) 
           file   size  :   1000000000  ,   name  :   1  GB  .  bin 

          下載文件

          可悲的是,重力不會使文件下載更快。 相反,有上傳方法的等效項。

          文件響應

          首先,在示例 19-7 中, 是一次性版本, 文件響應 :

          使用文件響應下載一個小文件

           from   fastapi   import   FastAPI 
           from   fastapi.responses   import   FileResponse 
          
           app=FastAPI  () 
          
           @app  .  get  (  "/small/  {name}  "  ) 
           async   def   download_small_file  (): 
               return   FileResponse  (  name  ) 

          這里有一個測試在某個地方。 首先,將文件 放在與 相同的目錄中。 現在,示例 19-8:

          使用 Httpie 下載一個小文件

          $ http -b http://localhost:8000/small/1KB.bin
          
           ----------------------------------------- 
          | NOTE: binary data not shown in terminal |
           ----------------------------------------- 

          如果您不信任該抑制消息, 示例 19-9 通過管道將輸出傳輸到 像 WC 這樣的實用程序,用于確保您返回 1,000 字節:

          使用 Httpie 下載一個小文件,字節計數

          $ http -b http://localhost:8000/small/1KB.bin | wc -c
              1000

          流式處理響應

          與文件上傳類似,最好下載大文件 與流響應 , 以塊的形式返回文件。 示例 19-10 顯示了這一點,并使用異步 def 路徑功能,以避免在不使用 CPU 時阻塞。 我現在跳過錯誤檢查;如果文件路徑 不存在,open() 調用將引發異常。

          使用流式處理響應返回大文件

           from   typing   import   Generator 
           from   fastapi.responses   import   StreamingResponse 
          
           def   gen_file  (  path  :   str  )   ->   Generator  : 
               with   open  (  file=path  ,   mode="rb"  )   as   file  : 
                   yield   file  .  read  () 
          
           @app  .  get  (  "/download_big/  {name}  "  ) 
           async   def   download_big_file  (  name  :  str  ){ 
               gen_expr=gen_file  (  file_path=path  ) 
               response=StreamingResponse  ( 
                   content=gen_expr  , 
                   status_code=200  , 
               ) 
               return   response 

          gen_expr 是 gen_file() 返回的。 StreamingResponse 使用它來 可迭代內容參數, 因此,它可以分塊下載文件。

          示例19-11是隨附的測試。 (這首先需要文件以及 , 并且需要更長。

          使用 Httpie 下載大文件

          $ http -b http://localhost:8000/big/1GB.bin | wc -c
           1000000000

          提供靜態文件

          傳統的 Web 服務器可以處理服務器文件 就好像它們在普通文件系統上一樣。 FastAPI 允許你做到這一點 與靜態文件 .

          對于此示例,讓我們創建一個目錄 (無聊的)免費文件 供用戶下載。

          • 創建一個名為的目錄, 與 處于同一水平。 (這可以有任何名稱,我只是稱它為以幫助記住我為什么這樣做。
          • 在其中放入一個名為的文本文件, 與文本內容 ABC :) .

          示例 19-12 將提供任何以 開頭的 URL(我也可以在這里使用任何文本字符串) 使用目錄中的文件:

          使用靜態文件提供目錄中的所有內容

           from   pathlib   import   Path 
           from   fastapi   import   FastAPI 
           from   fastapi.staticfiles   import   StaticFiles 
          
           app=FastAPI  () 
          
           # Directory containing main.py: 
           top=Path  (  __file__  )  .  resolve  .  parent 
          
           app  .  mount  (  "/static"  , 
               StaticFiles  (  directory=f  "  {  top  }  /static"  ,   html=True  ), 
               name="free"  ) 

          頂部計算確保我將靜態與 main.py 放在。 __file__變量是完整的 此文件的路徑名 ()。

          示例 19-13 是手動測試它的一種方法:

          獲取靜態文件

          $ http -b localhost:8000/static/abc.txt
          abc :)

          我傳遞給的html=True參數呢 靜態文件() ? 這使得它的工作方式更像傳統服務器, 返回文件(如果該目錄中存在索引文件) 但您沒有在 URL 中明確要求。 因此,讓我們在目錄中創建一個 文件 與內容哦。你好!,然后使用示例 19-11 進行測試:

          從 /static 獲取索引.html文件

          $ http -b localhost:8000/static/
          Oh. Hi!

          您可以擁有任意數量的文件(以及包含文件的子目錄等) 如你所愿。 在下創建一個子目錄 ,并在那里放置兩個文件:

          • :包含文本 xyz :( 。
          • :包含文本 你是怎么找到我的?

          我不會在這里包括這些例子。 自己嘗試一下,希望有更多的命名想象力。

          回顧

          本章展示了如何上傳或下載文件 - 小的,大的,甚至是gigantifer的。 另外,如何以懷舊(非API)Web樣式提供 從目錄中。

          腦中文件日積月累,重重疊疊,可以使用Everthing,Listary之類的搜索軟件快速查找,但難以一窺全豹,如何解決這個問題呢?可以嘗試下小巧的目錄快照軟件——Snap2HTML


          一、動圖演示



          二、操作步驟



          1.打開軟件任意選擇一個磁盤,如C盤,并如上圖勾選“啟用”和“創建完成時在瀏覽器打開”,完成后點擊創建快照;



          2.選擇目錄文件存放位置并修改文件名;



          3.等待生成目錄文件(速度很快);



          4.生成的目錄文件很小,170G的源文件目錄文件只有13.4M;



          5.文件生成后在默認瀏覽器中打開,有詳細的統計數據和目錄,點擊對應文件夾可找到具體的文件;



          6.也可以在右上角的搜索窗口用關鍵詞進行搜索,如PPT,可找到C盤中關于PPT的文件;



          7.還可以通過瀏覽器打開對應的文件直接查看,如視頻(MP4)、音頻(MP3)和圖片等。


          好了,以上就是快速建立電腦文件索引的方法,有需要的請在公眾號知趣技能(zhiqujineng)回復“目錄”即可獲取軟件了!


          主站蜘蛛池模板: 国产一区二区三区乱码网站| 国产一区二区三区福利| 国模私拍福利一区二区| 一区精品麻豆入口| 中文字幕无码不卡一区二区三区| 成人区精品人妻一区二区不卡| 国产一区二区三区免费视频| 亚洲综合av一区二区三区| 中文字幕亚洲综合精品一区| 久久精品一区二区三区不卡| 国产一区二区三区在线观看精品| 日本丰满少妇一区二区三区| 色多多免费视频观看区一区| 精品国产高清自在线一区二区三区| 亚洲色无码专区一区| 国产乱人伦精品一区二区在线观看 | 无码毛片一区二区三区中文字幕 | 无码日本电影一区二区网站| 一区二区三区精品| 国偷自产一区二区免费视频| 精品无码国产一区二区三区麻豆| 麻豆果冻传媒2021精品传媒一区下载 | 免费无码一区二区三区蜜桃大| 亚欧成人中文字幕一区 | 久久er99热精品一区二区| 高清一区二区三区日本久| 国产一区二区三区不卡观| av无码一区二区三区| 国产高清在线精品一区小说| 天天看高清无码一区二区三区| 国产未成女一区二区三区| 韩国资源视频一区二区三区| 亚洲愉拍一区二区三区| 人妻无码一区二区三区免费| 亚洲一区精品中文字幕| 日韩精品福利视频一区二区三区| 国内自拍视频一区二区三区| 无码一区二区三区在线| 国产亚洲福利一区二区免费看| 国产一区二区三区在线观看免费| 成人在线观看一区|