2017年2月23日 星期四

如何找到網頁建立日期

在搜尋網路文章時,會發現許多文章不像新聞、部落格一樣顯示建立日期。這對於喜歡上網自學的阿丘來說,常會找到過時的資訊,讓人不曉得到底這些技術、方法到現在還適不適用。你是不是也常遇到這樣的困擾呢?

方法一:網頁更新日期─用javascript

網路上流傳最廣的方式是:在瀏覽該網頁時,於網址列輸入
javascript:alert(document.lastModified)
之後按下enter,就會有個小視窗跳出來,告訴你這個網頁最後更新的日期
(使用chrome時,搜尋列會自動把"javascript:"吃掉,必須重新輸入)

試過了嗎?結果如何呢?
沒錯,阿丘告訴你,這根本沒用!

詳細原因阿丘並不是很清楚,但很可能是由於現在大多數的網頁設計都會隨時刷新,因此幾乎都會出現下圖中的結果:日期、時間和你查詢當下的時間一模一樣!(透過CMS架站的網頁應該都內建這樣的功能了,目前阿丘唯一試過沒有的是這個,大家可以玩玩看:http://www.ecaa.ntu.edu.tw/weifang/cea/%E5%96%84%E7%94%A8google.htm

用javascript:alert(document.lastModified) 查詢網頁最後更新日期,結果發現會和當下的時間一模一樣
可以參考畫面左下的時鐘...完全一樣啊@口@

方法二:何不問問搜尋引擎?Google法

如果大家知道搜尋引擎的運作方式,大概都聽過網路蜘蛛Web spider)或稱網路爬蟲(Web crawler)。這些機器人會定期自動去找各個網站以及網頁,來更新搜尋引擎上的搜尋結果。SEO(搜尋引擎優化)就是在和網路爬蟲打交道。

那這和網頁的日期有什麼關係呢?關鍵就在於網路爬蟲會定期去抓網頁,並留下抓到的時間紀錄。如果去找網路爬蟲最早抓到這個網頁的時間,是否就知道網頁建立的日期了呢?



這個方法主要來自這篇文章:
Find the Date When a Web Page was First Published on the Internet

方法如下:

  1. 在googl搜尋列輸入
    inurl:你要找的網頁網址,讓結果只顯示你找的那篇文章
    (不加上"inurl",會直接進入該網頁,而非搜尋結果)
    例如像剛剛那篇文章:inurl:www.ready-market.com/zh-TW/faq/SEO/Chinese-Seo-Cheat.html
  2. 接著,在網址列的末端(不是搜尋列喔)輸入
    &as_qdr=y15
    之後按下enter
    如:https://www.google.com.tw/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=inurl%3Awww.ready-market.com%2Fzh-TW%2Ffaq%2FSEO%2FChinese-Seo-Cheat.html&*&as_qdr=y15
  3. 就會發現搜尋結果中出現日期啦!
用google搜尋的方式抓到網路爬蟲爬此網頁的日期
紅線處出現了日期,好開心!
然而問題來了,這究竟是不是真正的網頁建立日期呢?
digital inspiration上寫到,Google法找到的是actual publication date(實際發佈日期),也就是該網頁實際公開在網路上的時間。但我們該相信他嗎?恐怕他找到的只是The indexed date,也就是網路爬蟲第一次爬到他的日期。怎麼說?

方法三:WayBackMachine 網頁時光機

這個方法是使用一個叫Internet Archive的線上資料庫。就像google一樣,它會定期用網路爬蟲去抓網頁,但會直接「存起來」,所以甚至可以看這些網頁以前的樣子。像這篇介紹文中就有提到1996年微軟首頁的樣子,也被它保存了下來(裡面的連結大多失效了,所以看起來有種廢墟感)。

要如何使用呢?很簡單,直接進入Internet Archive,然後在最上面的WayBackMachine列輸入要查詢的網頁網址,然後按下enter即可。如下圖:

用The Internet Archive提供的waybackmachine來找出庫存頁面

搜尋之後會進入這樣的頁面:

用The Internet Archive提供的waybackmachine來找出庫存頁面

圖中年分時間軸上有黑色條狀物的就是懷孕的日期有修改紀錄的年份,下方日曆中有藍圈圈標示的,就是有庫存頁面的日期。

本來很相信google法的阿丘意外地發現,WayBackMachine找到的最早頁面竟然在2014年6月2日,而不是google顯示的2015年4月21日!

仔細想想,這兩者都是透過網路爬蟲去找該網頁,因此誰找到,誰就會在自己的資料庫中記錄下這個時間。很明顯Internet Archive的爬蟲比google敏感,因此較早找到,但也無法證明它壓的日期就是網頁建立的日期,因為它可能也「不夠敏感」。

網頁建立日期:無法可考

經過以上失敗的方法之後,阿丘決定相信這篇這位大師的說法:要怎麼找到網頁建立的日期呢?不,你找不到。

事實上,許多可能找到的方法,都是基於網頁本身的紀錄,但這些紀錄很容易被修改,也沒有人能規定它一定要是正確的日期。而由於時常更新的網頁在搜尋引擎的評價中會比較高,因此大多數的網頁都會在最後修改日期中動手腳,也就更不可能知道任何網頁確切的更新、建立日期了(當然也可能是系統自己更新的)。

即使如此,透過google法和WayBackMachine,多少都能提供一點參考。像是範例中的SEO文章最早被爬到的時間是2014年,由於SEO這門技術日新月異,該文章的參考價值恐怕就要大打折扣了。

和他們不同的是,阿丘會隨時回來更新這些文章,所以如果各位大大有發現其他方法,也歡迎留言和阿丘討論喔!