當我與人們談論我做什么以及SEO是什么時,他們通常會很快問到如何提升網(wǎng)絡爬蟲的抓取率,良好的網(wǎng)站結構,良好的內容,良好的反向鏈接支持。但有時,它會變得更具技術性……
網(wǎng)絡爬蟲為什么要爬行網(wǎng)站?
網(wǎng)絡爬行開始于映射互聯(lián)網(wǎng)以及每個網(wǎng)站如何相互連接,它也被搜索引擎用于發(fā)現(xiàn)和索引新的網(wǎng)絡頁面。網(wǎng)絡爬蟲還用于測試網(wǎng)站和分析是否發(fā)現(xiàn)網(wǎng)站漏洞。
網(wǎng)絡爬蟲用于收集信息,然后使用和處理這些信息以對文檔進行分類并提供有關所收集數(shù)據(jù)的見解。
只要熟悉代碼的人都可以訪問并構建爬蟲,但是,制作高效的爬蟲很困難并且需要花費更多時間。
網(wǎng)絡爬蟲是如何工作的 ?
要抓取網(wǎng)站或網(wǎng)頁,首先需要一個入口點。機器人需要知道您的網(wǎng)站存在,以便他們可以來查看。在您將網(wǎng)站提交給搜索引擎的時候,網(wǎng)絡爬蟲就知道你的網(wǎng)站是存在于互聯(lián)網(wǎng)之中。當然,您也可以建立一些指向您網(wǎng)站的鏈接,并且引導爬蟲循環(huán)爬行!
網(wǎng)絡爬蟲一旦登陸您的網(wǎng)站,它會逐行分析您的所有內容,并跟蹤您擁有的每個鏈接,無論它們是內部還是外部。依此類推,直到它落在沒有更多鏈接的頁面上,或者遇到404,403,500,503等錯誤才會離開。
從更技術的角度來看,爬蟲使用URL的種子(或列表)。然后傳遞給搜索引擎,它將檢索頁面的內容。然后將此內容移至鏈接提取器,該提取器將解析HTML并提取所有鏈接。這些鏈接被發(fā)送到存儲器。這些URL也將通過頁面過濾器,該過濾器將所有鏈接發(fā)送到URL模塊。此模塊檢測是否已經(jīng)看到URL。如果沒有,它將被發(fā)送到抓取程序,它將檢索頁面的內容,依此類推。
注意,蜘蛛無法抓取某些內容,例如Flash。百度蜘蛛與GoogleBot目前能夠正確抓取部分Javascript。
如果機器人沒有被任何規(guī)則禁止,他們將抓取一切可被發(fā)現(xiàn)的鏈接。這使得robots.txt文件變得非常有用。它告訴爬蟲(它可以是每個爬蟲特定的,即GoogleBot或Baidu Spider ?–?在這里找到關于機器人的更多信息)他們無法抓取的頁面。比方說,您可以使用構面進行導航,您可能不希望機器人抓取這些,因為它們幾乎沒有價值,并且會浪費抓取預算,查看robots.txt文件協(xié)議設置簡介。
例:
User-agent:*?
Disallow:/ admin /?
這告訴所有機器人不要抓取admin文件夾?
User-agent:Baidu Spider?
Disallow:/ repertoire-b /?
另一方面,這指定只有Baidu Spider無法抓取文件夾B.
您還可以在HTML中使用指示,告知機器人不要使用rel=“nofollow”標記來關注特定鏈接。有些測試表明即使在鏈接上使用rel=“nofollow”標記也不會阻止Baidu Spider跟蹤它。這與其目的相矛盾,但在其他情況下會有用。
抓取預算是什么?
假設有一個搜索引擎已經(jīng)發(fā)現(xiàn)一個網(wǎng)站,他們經(jīng)常會查看您是否在您的網(wǎng)站上進行了任何更新或者創(chuàng)建了新頁面。
每個網(wǎng)站都有自己的抓取預算,具體取決于幾個因素,例如您網(wǎng)站的網(wǎng)頁數(shù)量和網(wǎng)站的完整性(例如,如果它有很多錯誤)。通過登錄百度站長平臺,您可以輕松快速了解抓取預算。
網(wǎng)站抓取預算將修復每次訪問時機器人在您網(wǎng)站上抓取的網(wǎng)頁數(shù)量。它與您網(wǎng)站上的網(wǎng)頁數(shù)量成比例關聯(lián),某些頁面被更頻繁地被抓取,特別是定期更新或者從重要頁面鏈接。
例如,網(wǎng)站主頁是主要的入口點,將經(jīng)常被抓取。如果您有博客或類別頁面,如果它們鏈接到主導航,它們將經(jīng)常被抓取。博客也會經(jīng)常被抓取,因為它會定期更新。博客文章在首次發(fā)布時可能會被抓取,但幾個月后它可能無法更新。
頁面被抓取的次數(shù)越多,機器人認為與其他頁面相比它就越重要,這時您需要開始優(yōu)化抓取預算。
如何優(yōu)化抓取預算?
為了優(yōu)化爬網(wǎng)預算并確保您最重要的頁面得到應有的關注,您可以分析服務器日志并查看您的網(wǎng)站被抓取的方式:
網(wǎng)站首頁被抓取的頻率
查看被抓取的重要頁面比其他更重要的頁面更重要?
在抓取您的網(wǎng)站時,機器人經(jīng)常會收到4xx或5xx錯誤嗎?
機器人遇到任何蜘蛛陷阱嗎?
通過分析您的日志,您將看到您認為不太重要的頁面正在被大量抓取。然后,您需要深入了解內部鏈接結構。如果它正在被抓取,它必須有很多指向它的鏈接。
爬行VS采集?
爬行和采集是兩種不同的用途,用于不同的目的。抓取程序按照您設定的規(guī)則并在掃描內容時找到鏈接。然后,爬蟲將移動到另一個頁面,依此類推。
另一方面,采集是掃描頁面并從頁面中收集特定數(shù)據(jù):標題標簽,元描述,h1標簽或網(wǎng)站的特定區(qū)域,如價格列表。采集通常充當“人類”,他們將忽略robots.txt文件中的任何規(guī)則,以表格形式存檔并使用瀏覽器用戶代理以便不被檢測到。
搜索引擎爬蟲通常充當抓取器,并且他們需要收集數(shù)據(jù)以便為其排序算法處理它。與采集相比他們不尋找特定的數(shù)據(jù),他們只是使用頁面上的所有可用數(shù)據(jù)甚至更多。搜索引擎抓取工具將始終將自己標識為抓取工具,以便網(wǎng)站所有者可以知道他們上次訪問其網(wǎng)站的時間。當您跟蹤真實用戶活動時,這非常有用。
因此,如果您現(xiàn)在了解爬網(wǎng)及其工作原理,下一步應該開始分析服務器日志。這將為您提供有關機器人如何與您的網(wǎng)站互動,他們經(jīng)常訪問的網(wǎng)頁以及訪問您網(wǎng)站時遇到的錯誤的提供深入的見解。
下一篇:用戶需求分析的6個階段