最近同事在做搜尋引擎,一時興起,搞了乙個反搜尋,主要參考這個:
限制robot訪問web站點的方法
robot是幫助搜尋引擎蒐集網頁的一種自動化程式,它在訪問乙個web站點時,會跟隨網頁中的鏈結提取出站點上的大部分內容,並為這些網頁建立索引,放在搜尋引擎的資料庫中。在一些情況下,web管理員或網頁的作者出於某種原因的考慮可能並不想讓robot提取站點上的某些內容,此時可以使用一些方法來限制robot的訪問範圍。
限制robot訪問web站點的方法共有兩種,一種是由站點的web管理員使用的robot限制協議,目前絕大部分robot都遵守該協議,另一種是由網頁作者使用的robot meta標記,目前只有一小部分robot支援該標記。
robot限制協議
robot限制協議的關鍵是在web站點的根目錄下放置乙個文字檔案robot.txt。robot在訪問乙個站點時會首先去讀取該檔案,分析其中的內容,並按照web管理員的規定不去訪問某些檔案。下面是robot.txt的乙個例子:
# user-agent:
disallow: /tmp/ # these files will soon be deleted
disallow: /test.html
user-agent: infoseek robot 1.0
disallow: /
其中"#"後面的內容是注釋,user-agent命令用於指定它下面的disallow命令對何種robot有效,""表示對所有robot都有效,上面例子中第二個user-agent命令表示其下面的disallow命令只對infoseek的1.0版robot有效。disallow命令用於指定哪些目錄或檔案不能被訪問,如果指定了"/",那麼所有檔案都不允許訪問,disallow命令在一行中只能放乙個目錄或乙個檔案,如果有多個目錄,則必須分別放在幾行中。
上面的robot.txt檔案是目前還在使用的早期robot限制協議規定的內容,現在還有乙個關於如何限制robot的internet草案正在制定之中,它對早期robot限制協議進行了很多擴充,但還未進入實用階段。
robot meta標記
絕大多數情況下,網頁作者並非web管理員,如果網頁作者不想讓robot訪問自己編寫的一些html檔案,那麼可以請web管理員幫忙在robot.txt中註明,或者使用robot meta標記。
meta標記是html檔案中用來放置一些不可見資訊的一種標記,它必須放在html檔案的head部分中。robot meta標記是一種特殊的meta標記,下面是它的幾個例子:
〈meta name=″robots″ content=″index,follow″〉
〈meta name=″robots″ content=″noindex,follow″〉
〈meta name=″robots″ content=″index,nofollow″〉
〈meta name=″robots″ content=″noindex,nofollow″〉
使用robot meta標記的缺點是比較麻煩,對每乙個html檔案都要進行修改,另外,很多robot並不支援該標記。
搜尋引擎 索引
正排索引 文件編號,單詞編號,單詞的數量,單詞出現的位置。倒排索引 1,單詞詞典,儲存單詞以及統計資訊,單詞在記錄表中的便宜,可常駐記憶體,用雜湊表儲存。2,記錄表,單詞對應的文件集合,記錄單詞出現的數目 位置。文件採用差分變長編碼。其中文件可按編號公升序排列 可利用差分編碼 也可按出現次數排列,可...
MySQL搜尋引擎程式 mysql搜尋引擎
mysql是我們比較常用的一種資料庫軟體。它有著諸多的優點,如開源的,免費的等等。其實它還有乙個很好的特點,那就是有多種引擎可以供你選擇。如果賽車手能根據不同的路況,地形隨手更換與之最適宜的引擎,那麼他們將創造奇蹟。然而目前他們還做不到那樣便捷的更換引擎,但是我們卻可以 所謂知己知彼方可百戰不殆,要...
搜尋引擎 倒排索引
本節通過引入簡單例項,介紹與搜尋引擎索引有關的一些基礎概念,了解這些基礎概念對於後續深入了解索引的工作機制非常重要。3.1.1單詞 文件矩陣 單詞 文件矩陣是表達兩者之間所具有的一種包含關係的概念模型,圖3 1展示了其含義。圖3 1的每列代表乙個文件,每行代表乙個單詞,打對勾的位置代表包含關係。圖3...