顯示具有 google 標籤的文章。 顯示所有文章
顯示具有 google 標籤的文章。 顯示所有文章

2015年12月29日 星期二

Python 基本爬蟲程式 + jieba 中文分詞 範例 - 以 Google 新聞為例


目標:
前篇(Python 基本爬蟲程式 (crawler) 範例 - 以 Google 新聞為例)我們先利用簡單爬蟲程式來擷取Google 新聞-焦點新聞的標題和新聞連結。現在我們就接著利用 jieba 這套中文分詞程式嘗試將截取回來的標題文字進行中文分詞。



工具:
也可以 pip 方式進行安裝:
export http_proxy=http://proxy.hinet.net:80
export https_proxy=http://proxy.hinet.net:80

pip install jieba



程式:
# coding=utf-8
# encoding=utf-8

import requests
from bs4 import BeautifulSoup
import jieba

res = requests.get("https://news.google.com")
soup = BeautifulSoup(res.text)

count = 1

for item in soup.select(".esc-body"):
    print '======[',count,']========='
    news_title = item.select(".esc-lead-article-title")[0].text
    news_url = item.select(".esc-lead-article-title")[0].find('a')['href']
    print("News Title: "+news_title)
    print("News Url: "+news_url)

    # 載入使用者自建詞庫   
    jieba.load_userdict("userdict.txt")
    # 對 news_title 進行中文分詞
    print ''
    print '  -------進行中文分詞-------'
    words = jieba.cut(news_title, cut_all=True)
    print("  Full Mode: " + "/ ".join(words))
    words = jieba.cut(news_title, cut_all=False)
    print("  Default Mode: " + "/ ".join(words))
    words = jieba.cut_for_search(news_title)
    print("  Search Engine Mode: " + ", ".join(words))
    print ''
    
    count += 1



執行結果:
======[ 41 ]=========

...

News Title: 包塑膠袋泡冰水男順利接回斷指
News Url: http://udn.com/news/story/7266/1406918-%E5%8C%85%E5%A1%91%E8%86%A0%E8%A2%8B%E6%B3%A1%E5%86%B0%E6%B0%B4-%E7%94%B7%E9%A0%86%E5%88%A9%E6%8E%A5%E5%9B%9E%E6%96%B7%E6%8C%87

  -------進行中文分詞-------
  Full Mode: 包/ 塑/ 膠/ 袋/ 泡/ 冰水/ 男/ 順/ 利/ 接回/ 斷/ 指
  Default Mode: 包塑/ 膠袋/ 泡/ 冰水/ 男順利接/ 回斷/ 指
  Search Engine Mode: 包塑, 膠袋, 泡, 冰水, 男順利接, 回斷, 指

======[ 42 ]=========
News Title: 與林口長庚同等級土城醫院開工
News Url: http://www.chinatimes.com/newspapers/20151229000446-260106

  -------進行中文分詞-------
  Full Mode: 與/ 林口/ 長/ 庚/ 同等/ 級/ 土城/ 醫/ 院/ 開/ 工
  Default Mode: 與/ 林口/ 長/ 庚/ 同等/ 級/ 土城/ 醫院/ 開工
  Search Engine Mode: 與, 林口, 長, 庚, 同等, 級, 土城, 醫院, 開工




參考資料:
#

2015年12月28日 星期一

Python 基本爬蟲程式 (crawler) 範例 - 以 Google 新聞為例

目標:以 Google 新聞網頁為例,擷取焦點新聞各主題新聞標題與連結網址。

Google 新聞-焦點新聞 範例
以 InfoLite (Chrome擴充工具) 可以發現我們要擷取的資料在網頁原始碼中的 .esc-body 和 .esc-lead-article-title 兩個 class  中可以找到。



工具:
Python Packages 也可以 pip 方式進行安裝:
export http_proxy=http://proxy.hinet.net:80
export https_proxy=http://proxy.hinet.net:80

pip install requests
pip install BeautifulSoup4



程式:
# coding=utf-8

import requests
from bs4 import BeautifulSoup

res = requests.get("https://news.google.com")
soup = BeautifulSoup(res.text)
print soup.select(".esc-body")

count = 1

for item in soup.select(".esc-body"):
    print '======[',count,']========='
    news_title = item.select(".esc-lead-article-title")[0].text
    news_url = item.select(".esc-lead-article-title")[0].find('a')['href']
    print news_title
    print news_url
    count += 1


Python3 版本 (2017/04/02新增)
#!/usr/bin/env python3

# coding=utf-8
# -*- coding: utf8 -*-

from urllib.request import urlopen
from bs4 import BeautifulSoup

res = urlopen("https://news.google.com")
soup = BeautifulSoup(res, "html.parser")
#print soup.select(".esc-body")

count = 1

for item in soup.select(".esc-body"):
    print('======[',count,']=========')
    news_title = item.select(".esc-lead-article-title")[0].text
    news_url = item.select(".esc-lead-article-title")[0].find('a')['href']
    print(news_title)
    print(news_url)
    count += 1

執行結果:
======[ 1 ]=========
美河市案宣判柯P解讀:2個小官非常賤
http://www.chinatimes.com/realtimenews/20151228002594-260401
======[ 2 ]=========
北海道巴士對撞11台灣客受傷【更新】
http://www.cna.com.tw/news/firstnews/201512285015-1.aspx
======[ 3 ]=========
邱毅再爆816專案小英研究兩國論索262萬
http://www.chinatimes.com/realtimenews/20151228002822-260401
======[ 4 ]=========
芝加哥警射殺2非裔家屬淚訴停止暴力
http://www.cna.com.tw/news/firstnews/201512285013-1.aspx

...

======[ 40 ]=========
食安再爆!素食也不安全蒟蒻竟摻工業用碱粉
http://www.uho.com.tw/hotnews.asp?aid=39330
======[ 41 ]=========
(用錯染髮劑增膀胱癌風險,3大守則安心變色/圖片取自優活健康網)
http://www.uho.com.tw/hotnews.asp?aid=39317
======[ 42 ]=========
當市長完成創傷急救體系柯P感概想到朱立倫
http://news.ltn.com.tw/news/politics/breakingnews/1553878



延伸閱讀:




參考資料:



#

2014年11月15日 星期六

Inbox by Gmail 可安裝使用了

已經可以在Google Play和App Store下載,完成安裝後就能登入使用囉。

2013年5月29日 星期三

Google Data Python Library + 寫入Event至Calendar

先確定已經安裝好python及Google Data Python Library(可參考):

import datetime
import atom
import gdata.calendar.service
from gdata.calendar import Who, Where, When
from gdata.calendar import SendEventNotifications


start = datetime.datetime.now().isoformat()

entry = gdata.calendar.CalendarEventEntry()
entry.send_event_notifications = SendEventNotifications(value='true')

titleText = 'event' + start
entry.title = atom.Title(text = titleText)

contextText = 'some event etc...\n' + start
entry.content = atom.Content(text = contextText)

entry.send_event_notifications = atom.Entry(text = 'true') #<<<<<<<<<<<<<<<<<
entry.when.append(When(start_time=start))
entry.where.append(Where(value_string='somewhere'))
entry.who.append(Who(email = 'INVENTEE@gmail.com'))

client = gdata.calendar.service.CalendarService(email='INVENTER@gmail.com', password='YOURPW')

client.ProgrammaticLogin()
event = client.InsertEvent(entry,'http://www.google.com/calendar/feeds/default/private/full')

#

補記:將這個python程式稍加修改後,即可應用在前兩篇 Raspberry Pi + PIR Sensor (紅外線動作感測器)的範例中。其實就能達成紅外線感應偵測到人或動物時,即能在Google Calendar紀錄事件,並且還可以利用Google Calendar簡訊通知至手機。

##

2012年12月4日 星期二

Smart TV ? Android PC ? Google TV ? Apple TV ?


雖然Google TV已非新鮮事,但最近各大廠才陸續喊聲進軍Google TV,相信過不了多久,市面上賣電視的、賣螢幕的、賣電腦的、賣平板的、賣智慧手機的廠商都會沾上一些邊。

腦筋動得比較快的廠商,其實早已利用Android OS設計出 Mini PC  (Dongle Type)。便宜價格就能讓家裡的HDMI螢幕或電視機變身為Mini PC。

很快地,應用軟體和數位內容戰火就真的要延燒到家中的電視螢幕上了。

#

2012年2月9日 星期四

台灣廠商是不是也在布局智慧電視 Smart TV?

<blockquote>

三星智慧電視銷量 今年衝2,500萬台

  • 2012-02-09 01:08 工商時報 【記者陳怡均/綜合外電報導】

     全球電視製造龍頭三星電子周三宣布,今年計畫銷售逾2,500萬台智慧電視(smart TV),期盼在蘋果等對手虎視眈眈的網路電視市場搶下一席之地。
     三星同時也計劃推出低價平面電視,以因應低階機種需求升溫。
     三星電子電視機事業主管金玄石(Kim Hyun-suk)表示,預期今年該公司在全球出貨5,000萬台平面電視,其中一半以上具備網路連結和互動電視功能。三星去年全球平面電視銷量約達4,300萬台。

</blockquote>
新聞來源:中時電子報

Smart TV大概是繼HTPC(Home Theater Personal Computer)、STB(Set-Top Box)之後想要進入客廳的產品,少了一個額外的盒子,搭著換數位電視或是更大螢幕的電視換機潮,說實在的比較容易被一般家庭接受。畢竟也不是每個人都有時間每天下載一堆看不完的影片。想看影片就是希望能夠遙控器拿起來打開電視電源、選片馬上看。Smart TV搭配線上影城,這些就不再是困難的事情。

目前可以看到有能力同時提供各種大小螢幕服務的設備廠商,大概就是蘋果 Apple (iPod / iPhone / iPad / Mac / Apple TV)、SONY和Samsung了。剩下Google大概也是循著Android的模式,開放其他設備廠商內建或以Google TV為基礎來搶市佔。

而台灣廠商呢? 布局也許還沒浮出檯面? 不過現階段至少連搶市的聲量都還沒看見。

延伸閱讀:智慧電視+Smart TV

#







2012年2月3日 星期五

Google Catalogs 帶來另一種線上購物型式

Google Catalogs for iPad 將帶來另一種線上購物型式。整體操作介面流𣈱、簡潔、易懂、易用、易上手。

目前已有不少型錄類別。內容品質一致,無參差不齊感。


型錄部分內容另帶有標籤(tag),可以直接連結到購物頁面。


簡單就可完成訂購交易。


#

2012年1月18日 星期三

Google+ Hangouts 帶來的變化

Google+ 開放線上視訊聚會 Hangouts 功能已一段時間。或許是因為國內使用Apple Facetime的人比較多(誤?),也或許是國情不同大家不喜歡面對面坦誠相見。所以在國內視訊服務除了特殊應用,其他發展似乎一直熱不太起來。

Google+ Hangouts 線上視訊聚會廣播

反觀國外Google+的社群圈裡,近來常看到一堆圈友就貼上了Google+ On Air的廣播視訊。有些圈友看起來是在討論大事,有些圈友則是看來在分享照片與經驗談。

總感覺Google+ Hangouts API出現後,有可能會產生更多有趣或實用的應用。無論是現有的線上家庭視訊分享、遠距工作、開放社群、線上教學...甚至未來恐怕連動員或群眾運動都可應用。以後的人就不用再上演十月圍城各省菁英密室密謀的情節,隨便找個網咖、網吧或是行動網路就可以商討大事了。

難怪,各國政府開始或早已進行深入網際領域,認真檢視每一件、每一個在網路上發動或醞釀的事件。網路本身是種技術革命,也可能引發更多其他不同的"變化"發生。

#

2012年1月10日 星期二

4G似乎不是重點?


以北美智慧型手機銷售情況來看,2011年第四季iOS系列似乎表現突出,和原來佔據第一的Android似乎僅差4%而已。

其中iPhone 4S, iPhone 4 和 iPhone 3GS 更是排名前三名的熱銷機種。三星 Samsung似乎也有不錯表現。

而這兩天發布人事首度調整將汰弱留強、2011第四季表現不算理想的HTC宏達電,似乎僅有HTC Inspire 4G和Evo 4G排上前十名。

如此看來,HTC宏達電寄望2012將因4G手機銷售帶起營收,似乎也有其道理。只是從數據看來,僅支援3G/HSDPA的Apple手機包辦前三名,不正也顯示了消費者真的在意4G上網嗎?還是以手機或平板應用來看,其實HSDPA已經滿足了絕大多數的需求了呢?

也許過度追求技術發展,其實也是一種迷失吧。

延伸閱讀:NPD: iPhone surged, Android slipped in Oct. and Nov.(2011)

2011年11月30日 星期三

Google 室內地圖

Google地圖不僅有衛星、街景地圖,現在也開始提供國外一些機場、店家的室內地圖(indoor Google Maps)。

使用Android手機的朋友更新到 Google Maps 6.0 就可以開始體驗服務囉。

原文:Examples of indoor Google Maps


2011年11月1日 星期二

解決 Picasa 3 在 Ubuntu 11.04 下中文字問題

Picasa 3 在 Ubuntu 11.04 下中文字仍會有「口口口」的問題。解決方法如下:

微軟正黑體字型(MSJH.TTF)為例:

  1. 將 MSJH.TTF (msjh.ttf) 字型複製到 ~/.google/picasa/3.0/drive_c/windows/fonts 下
    sudo cp MSJH.TTF /opt/google/picasa/3.0/wine/drive_c/windows/fonts 或
    sudo cp MSJH.TTF ~/.google/picasa/3.0/drive_c/windows/fonts
  2. 編輯 ~/.google/picasa/3.0/system.reg 檔案,找到下面此行:
    [Software\\Microsoft\\Windows NT\\CurrentVersion\\FontLink\\SystemLink] 
    "Tahoma"="MSJH.TTF"
    "Tahoma Bold"="MSJH.TTF"
    新增上面兩行或修改原Tahoma字體設定,將Tahoma字體指向正黑體字型檔(MSJH.TTF)。
  3. 存檔後,重新啟動 Picasa 應該就正常囉。
#

2011年6月16日 星期四

Google 以圖找圖

Google 圖片搜尋已開始提供「以圖找圖」的功能,可以透過上傳或拖拉圖片的方式,讓搜尋引擎幫忙找資料。

來源:Google圖片

搜尋結果

 搜尋結果除了相似圖片之外,也會將圖片相關的資料網站一起找出來,實在是厲害。

不曉得把自己的上傳,會出現什麼樣的結果?:P

2011年4月28日 星期四

本週是今年的第幾週?Google Calendar 告訴你

本週是今年的第幾週?不知道!

=>>>這裡可以隨時查 => 今年的第幾週


另外還可以讓Google Calendar隨時告訴你。

連至此網頁,透過"Add week numbers to my calendar!"訂閱日曆。


成功之後,就能在Google Calendar 上看到每週的週號囉。

來源:Google Calendar Week Numbers













#

2011年4月19日 星期二

好用的 Google Weather API

1. 利用城市名稱進行查訊,以XML格式傳回天氣預測資料。
http://www.google.com/ig/api?hl=zh-tw&weather=台北市
http://www.google.com/ig/api?hl=zh-tw&weather=Taipei
http://www.google.com/ig/api?hl=zh-tw&weather=New%20York (New York)
2. 利用經緯度座標進行查詢,以XML格式傳回天氣預測資料。
http://www.google.com/ig/api?hl=zh-tw&weather=,,,24012023,121465703 (緯度:24.012023, 經度: 121.465703)
3. 查詢 Google API 國家代碼,以XML格式傳回所有提供天氣資料的國家代碼資料。
http://www.google.com/ig/countries?output=xml&hl=zh-TW

4. 查詢提供天氣資料的城市,將以JSON格式傳回所有城市。(這會倒是提供JSON格式了?!神奇)
http://www.google.com/ig/cities?country=tw (傳回城市的中文名稱)
http://www.google.com/ig/cities?country=tw&hl=en (傳回城市的英文名稱)

2011年3月31日 星期四

今天的Google很銫

銫元素發現者 - 化學家 Robert Bunsen 200歲誕辰
銫(舊譯作鏭)(Caesium,Cesium)是一種化學元素,它的化學符號是Cs,它的原子序數是55,是一種帶銀金色的鹼金屬。 命名是由其發現者Robert Bunsen和Gustav Kichhoff以拉丁文「coesius」(意為天藍色)命名了銫。

銫色白質軟,熔點低,28.44 °C時即會熔化。在空氣中容易氧化。是製造真空件器、光電管等的重要材料,現時世界上最精確的時鐘就用銫製造,化學上用做催化劑。

資料來源:銫 - 維基百科
後記:原來'本生燈'和"克希荷夫定律"和銫的兩位發現者 Bunse 與 Kichhoff 是有關係的。

2011年2月26日 星期六

Google Cloud Connect for Microsoft Office 雲端分享共同編輯文件



雖然 Google Docs 已經十分方便。但大部分使用者已經習慣學校或企業購置的 Office 軟體,一時之間要改變使用習慣也不是一件容易的事情。

Google 買下 DocVerse 之後,經過了九個月的努力將 DocVerse 產品搬上 Google 平台,就成為即將問世的 Google Cloud Connect for Microsoft Office,目前正在徵求企業測試使用者。有興趣的朋友不妨去官方部落格留下資料。

Google Cloud Connect 是 Office 2003/2007/2010 的 Plug-in 軟體,將文件版本管理、雲端儲存、雲端分享等服務概念整合包裝,就成為頗有創意的新服務。讓原來習慣使用 Office 軟體的使用者們,也能整合 Google Docs 進行文件分享與共同編輯。

這下子,老大哥M$的線上Office軟體不加把勁可是不行囉~

2011年2月19日 星期六

2011年2月14日 星期一

祝大家有情人終成眷屬

來源:Google
這應該算是 Google Doodle 向普普藝術大師 Robert Indiana 致意之作吧。雖然很多人不知道 Robert Indiana 是何許人也,但他的大作 Love 想必是大家都看過的。

祝福大家有情人終成眷屬,情人節快樂!


2011年2月5日 星期六

解決 Google Inventor SpeechRecognizer 的 Runtime Error

Google Inventor 對於稍微懂得程式設計的人來說實在是個快速發展AP原型(prototype)的好工具。實用的元件庫也已經足夠開發一些小程式。

想要開發一個具有語音辨識(Speech Recognition)應用功能的程式,可利用 SpeechRecognizer 元件來達成。

不過第一次實驗時,發生了一個錯誤: Runtime Error - No Activity found to handle Intent 。想了一下,應該是我的手機還沒有安裝任何語音辨識的相關程式庫或程式,導致 SpeechRecognizer元件找不到手機上可以借用來辨識語音的程式。

解決的方法是先到 Android Market 下載了Google本身提供的語音搜尋(Voice Search) AP,利用這個AP本身提供的語音辨識相關程式庫,拿來借用語音辨識功能。

果然,安裝Voice Search AP之後,再重新將Google Inventor上開發的語音辨識小程式下載到手機上,執行時就不會再發生Runtime Error了。

只是試了一下,目前Google提供的Voice Search在中文語音辨識上仍有改善空間。Voice Search似乎也是針對手機本身預設語系提供相對應語系的語音辨識功能。測試發現中文、英文辨識還算可用,但日語就完全不行(應該不是我發音太差的緣故吧 :P)。

延伸閱讀:How to user the Speech recognizer component in App Inventor (YouTube Video)

2011年1月27日 星期四

Google Docs 也有光學字元辨識(OCR)功能囉

Google Docs 也有光學字元辨識(OCR)功能,可以將 PDF 或圖片檔案上傳到 Google Docs,透過 OCR 功能轉換成一般文件進行編輯。

供測試的PDF




















選擇上傳檔案



















記得勾選「將PDF檔案或...轉換為Google文件。」選項





上傳相同檔案,轉換與不轉換的對照組,皆能同時存在於Google Docs中。

















開啟轉換後的文件,上方會出現提示說明和原始PDF轉換前的模樣。只要按下滑鼠右鍵>刪除表格,就能清除轉換前的模樣。

文件編輯模式









這功能實在讓許多有此需求的使用者省事不少。

讚!