crontab 執行有中文編碼的程式時,出現錯誤 : UnicodeEncodeError: ‘ascii’ codec can’t encode character

最近寫了幾隻爬蟲,爬一些網站,然後存到 mysql 裡面,在使用 crontab 排成執行時,發生了錯誤。

在終端機或是 spyder 上執行都是沒問題的,但是 crontab 就是跑不出來,於是使用了我在另一篇文章提到的:用 crontab 安排作業排程後,如何知道裡面發生了什麼事?

顯示出這個錯誤:UnicodeEncodeError: ‘ascii’ codec can’t encode character

繼續閱讀 “crontab 執行有中文編碼的程式時,出現錯誤 : UnicodeEncodeError: ‘ascii’ codec can’t encode character"

用 crontab 安排作業排程後不動,該如何找錯?

當然,你可以寫在程式裡面,在進行的當下就產出文字檔、報表,或甚至圖片檔都行。

但有時候我們並不想要有這麼多的記錄檔,或是我們在測試的時候,程式都會動,但排入 crontab 之後,它就不動或是產出錯誤訊息了,就像我在另一篇裡面寫到的問題,中文編碼與 crontab 產生衝突,這是你怎麼測都測不出的吧。

這時候可以用一個很簡單的方法,也就是在你的 crontab 語法後面,加上一個 > 然後指派一個空的 .txt 檔給它,它就會把你程式裡面寫的 print 印在裡面,或是如果有錯誤,也會顯示在檔案裡。 繼續閱讀 “用 crontab 安排作業排程後不動,該如何找錯?"

Python – 使用Google Map API(6) – 取得照片

在前面第四篇的時候,提到有一個項目是 photo,裡面通常有10個項目,我們可以透過這 10 個項目取得該地點的圖片,這一篇就來看看如何透過這個項目取得圖片。

首先我們來看看,photo 裡面的 10 個項目長怎樣。

photo 裡面會有一個項目是 photo_reference,它的value大概是長這樣:CmRaAAAAMRw3rMQekkw1vt8BISl4OdOzt4Hl-9bNqpAL8XRA9iPlY5zzTptLIty32cIcNnCh0GXK8-gLZx0cjG9Xa1l8tzVNiZRLr0DXWyuAjBzztWKzrlYpaWWTHVnjcpoBotr3EhC553Dy95yqdZ2qhyeMRhmSGhSHXqw_4Wsl8V9V4fYH3hwqanK95A

繼續閱讀 “Python – 使用Google Map API(6) – 取得照片"

Python – 使用 Google Map API (2) – 解析結果

解析雷達搜尋傳回來的 json 物件

上一篇 Python – 使用Google Map API(1) – 雷達搜尋 中最後提到,將回傳的內容print出來後得到下方的結果:

首先我們把這些內容丟到 json editor 來看看:

*線上 json editor 的版本很多,我就用我習慣的平台來做。

繼續閱讀 “Python – 使用 Google Map API (2) – 解析結果"

Python – 使用 Google Map API (1) – 雷達搜尋

目前雷達功能已經被Google停用啦,請改用nearby功能吧。

這邊最進不會更新nearby相關的資訊,不過其他分析的方法應該還是用得上的,希望能多少幫上一些忙,大家一起加油吧。

雷達搜尋功能 (radar)

用途:

顧名思義,就是以某個特定地點為中心,在設定的半徑範圍內,找尋特定類型的地點(店家)例如:台北 101 半徑 100 公尺內的咖啡店、台大附近 100 公尺內的餐廳。

用法:

設定好「中心點經緯度」與「地點類型」以及「半徑長度(公尺)」三個參數之後,執行place_radar函數,會回傳「半徑範圍內」被 Google 標記該「類型」的地點(店家)資料。

繼續閱讀 “Python – 使用 Google Map API (1) – 雷達搜尋"