blog.Ring.idv.tw

Articles

Universal Encoding Detector - 編碼偵測(Python)

什麼時候我們需要做「編碼偵測」的動作呢?最明顯的例子不外乎就是「瀏覽器」~ 假設我們的網頁沒附上「<meta http-equiv="Content-Type" content="text/html;charset=utf-8">」這樣的字句~ 那Browser還能有足夠的能力偵測此網頁是用何種編碼的嗎?

再舉另一個例子~ 當我們寫了一個Crawler來爬行網頁的同時~ 在下載這些網頁之後~ 我們又該如何得知這些網頁的編碼呢?

所以~ 「編碼偵測」算是處理文字資訊前的必要動作~ 而「Universal Encoding Detector」就提供了一個這麼好的工具~ 當然也是給它Open Source的嚕~ 不過這是針對Python語言的~ 當然也還有其它的解決方案~ 就請參考相關資源!

Universal Encoding Detector

Universal Encoding Detector」目前的版本是1.0.1版~ 而在使用它之前必須先安裝在你的電腦~

下載:chardet-1.0.1.tgz

安裝過程如下:

tar zxvf chardet-1.0.1.tgz
cd chardet-1.0.1
setup.py build
setup.py install

接著就給它寫一個簡單的測試程式:

import urllib2, chardet

if __name__ == "__main__":
	urlread = lambda url: urllib2.urlopen(url).read()
	running = True
	while running:
		str = raw_input('Please enter a url: ')
		if str == 'q':
			running = False
		else:
			print chardet.detect(urlread(str))
	else:
		print 'Done'

測試結果:

Please enter a url: http://www.google.com.cn
{'confidence': 0.98999999999999999, 'encoding': 'GB2312'}
Please enter a url: http://blog.ring.idv.tw
{'confidence': 0.98999999999999999, 'encoding': 'utf-8'}
Please enter a url: http://www.cnn.com
{'confidence': 1.0, 'encoding': 'ascii'}
Please enter a url: q
Done

相關資源

中文編碼偵測 || William's Blog

A composite approach to language/encoding detection

大步向前走: Programming 自動偵測編碼

Shared Development: Character encoding detection

Java port of Mozilla charset detector

cpdetector, free java code page detection.

2008-09-29 03:11:15 | Add Comment

Yahoo! Open Hack Day - 番外篇

(圖片來源:Flickr: myhsu)

其實是我們找不到想要的「美國」國旗類型~ 所以就用「英國」的國旗嚕~ ^^a 希望David Filo大大別介意~ 呵呵~

明明感覺就是一整包洋芋片~ 結果一打開~ 哇哩咧~ 「幾片都數的出來耶~」 XDDD

同事的兒子不小心發現會場的窗外一景~ 居然有個鳥巢~ 而且還有「蛋」耶~ 真是神奇!!

雖然經過了一個禮拜~ 不過看到照片總覺得很值得回味~ ^^b

2008-09-27 22:55:07 | Comments (2)

今年十月.喜慶的月份

今年的下半年很怪... 不曉得他們是不是相約好的~ 居然一連四位親人待嫁~ XDDD

從十月份開始就先有兩位~ 一位當然是我那親愛的妹妹~ 另一位則是和藹可親的全國電子就甘心的店長表姐~ 呵呵~ 如果再加上電信加值大賽決賽的話(應該不會有那麼「大」的意外吧~ XD) 我的十月份馬上有三個週末就此排定行程了...

所以今天就去市區逛逛~ 順便針對十月份喜慶來給它治裝一下~ ^^a 其實也只添購了件外套、襯杉~ 不過要找到我「喜歡」的衣服還真是給它一波三折~ 這... 就不說了~ 最後就只差下禮拜去剪個頭~

不過最近課業的loading還蠻重的~ 感覺每個禮拜都有作業~ 針對沒有感興趣的課程~ 對我來說總有點力不從心... 這真是我能發揮的舞台嗎?似乎不是......

現在只想將TransNote給它正式推出去~ 雖然我蠻想再將它做的更好用些~ 不過似乎時間是一大考驗... 先這樣吧~

2008-09-27 19:36:34 | Add Comment

TransNote - 少了榮譽.多了肯定!

(和Yahoo!無名美少女合影 ^^)

這次在台灣第一屆Yahoo!Open Hack Day的比賽~ 我們的作品「TransNote」實實在在地少了榮譽而多了肯定~

少了榮譽是因為我們是少數晉級到第二階段的隊伍~ 但…終究仍然不被受評審肯定~ 雖然當下其實多少有點不服氣~ 不過這次比賽的評分項目也說明的很清楚~ 畢竟我們的作品較屬於「實用性」而非「樂趣」~ 其實也沒關係~ 就像「最後的演講p.178」所說的:「你如果沒有得到你想要的東西,至少得到了經驗,而經驗通常是你能夠提供給別人最珍貴的東西」,且也許拿去參加別的比賽或許就備受肯定也說不定(我發生過^^")

至於多了肯定則是…由於我是負責present我們這組作品的人~ 所以我要面對臺下將近200人的聽眾,重點就在於當我在二分鐘內敘述完我們的作品之後,我知道我們所得到「熱烈掌聲」與「吹哨聲」的迴響~ 已經代表臺下的聽眾完全肯定了我們的作品,這就夠了! 如果你支持我們作品的話,歡迎留言給我們加油一下 ^^

參加這個比賽讓我印象深刻~ 因為是第一次參加這種需要到會場進行「跨夜」的競賽~ 而Yahoo!這次在整個比賽的規劃和內容,我個人給予相當高的評價~ 有熱歌勁舞~ 真的讓整個會場都很High~ 不過冷氣開太強了~ 且半夜還放著音樂~ 使得我兩天睡不到二小時~ XDDD 今天一早整個火氣就很大~ 所以嘴唇就開始乾燥~ 然後就開始狂喝開水~ 接著就逛上廁所... XDDD 且在這次比賽會場中見到蠻多之前曾參與過「OSDC研討會」的同好~ 我的同事還直接在Twitter上遇到同樣來參與這次比賽的選手~

最後~ 我們這個團隊雖然沒有得獎~ 不過這幾天的努力真的很棒~ 謝謝我的組員們~ Arthur提供許多寶貴的建議~ 還有Chientai在這幾天陪我一起趕作品~ 雖然都在熬夜~ 不過那種過程很讚! 想必你也會這麼覺得吧~ ^^b

2008-09-21 23:27:28 | Comments (17)

Yahoo! Open Hack Day - TransNote

這是我們這次比賽投影片封面的圖~ 我想要營造的就是像「DeathNote」那樣的fu... 其實本來還加上一隻手、蘋果的~ 不過想想感覺會有點失焦~ 所以最後就實拍我家的「GALLANT」筆記本~ 再給它後製一下~ (其實這招在去年的一個比賽也用過~ XD)

不過很抱歉的是~ 目前還無法正式對外公開我們的服務~ 等這禮拜的Yahoo! Open Hack Day比賽過後~ 我想就可以正式推出了~

從「TransNote」的名字來看~ 「Trans」是取自「Translate」的單字~ 而「Note」則是筆記的意思~ 中文就是「翻譯筆記」~ XDD

想想看~ 大家在閱讀外文時是如何閱讀的?查字典?翻譯機?還是... 所以「TransNote」主要就是提供一個「輔助閱讀的工具」~ 但... 這只是個「假動作」(請參閱:最後的演講p.58),這個工具的真正威力是著重在累積~ 而且可延伸的研究有很多~ 不管是從學習的角度或是使用者介面等~ 我想應該都會有不錯的發揮~

只是目前仍交由同事在處理網頁的視覺... 所以整合就成了我這禮拜的主要事項~ XDD 話說下禮拜三還要準備Meeting的報告~ 給它一口氣先搞定再說...

2008-09-17 16:42:27 | Comments (2)

Next Posts~:::~Previous Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment