- Nov 27 Wed 2019 22:37
-
Line Bot 實作LIFF畫圖傳圖片
- Jan 23 Wed 2019 15:00
-
Pthon 爬蟲抓取youtube影片並以LINE BOT呈現

這幾天再學爬蟲的一些語法,所以想說練習使用爬蟲將網站的影片位址抓出來,再透過 Line Bot 去得到影片,這樣子 end-user 就可以直接觀看或下載影片。首先我抓取影片網頁分別是 youtube 的影片,我設定是只要輸入關鍵字,然後分別加上 yout 就可以自動化的搜尋影片,並將影片列表以 ImageCarouselTemplate 的模板型式傳到聊天室裡面,對........我就是太無聊來寫寫看這個簡單的爬蟲程式。
Youtube來說
透過如下的 URL 加入關鍵字後,這 youtube 網頁會是一堆相關的影片集合的頁面
'https://www.youtube.com/results?search_query={}&sp=EgIQAQ%253D%253D'.format(quote(keyword))
- Nov 28 Wed 2018 23:10
-
Heroku 上使用 webdriver 爬蟲抓資料

問題:
利用selenium模組的 webdriver來進行爬蟲,但webdriver在heroku上面不支援,必須要靠buildpack來幫忙處理,主要問題是使用網路上爬文來的資料說xvfb-google-chrome這個buildpack在heroku-16 stack並不相容
解決
所以要解決的話有兩個辦法,一個是把現在的stack 轉為 heroku-14 stack,另外一個是再找其他的buildpack,我就使用轉為heroku-14 stack這個方法,因為最近再寫的linebot想進行些更進階的爬蟲,必須要動態抓取網頁程式碼,所以就不得以要用到selenium模組的 webdriver方法來幫忙,其實我是想要爬GOOGLE圖片搜尋時,抓到圖片的實際位置而且網址最後一個是以.jpg結尾,來幫我完成一些事情,下面是我片段的程式碼,這次也搞了一個多禮拜才解決,但也越來越熟悉了。
import json
- Nov 11 Sun 2018 17:03
-
Linebot處理音檔

日期:
2018/11/11 (想了整整三天)
問題:
當user傳來音檔(.aac)可以透過google提供的python套件speech_recognition來解析音檔內容,並且可以轉成文字,這中間必須透過pydub這個套件來幫魔,因為line傳來的音檔格式是(.aac),跟speech_recognition所支援的格式不一樣,所以首先要先把音檔轉成.wav格式,這樣才有辦法做解析,但遇到了很大問題就是pydub套件非常麻煩,搞了我好幾個禮拜才了解,原來是pydub好像沒有很完整,他需要一個叫做ffmpeg的東西來幫忙解碼(decode),所以首先要把ffmpeg加入heroku的buildpack裡面,然後要去找ffmpeg在heroku的位置,像是我找到的位置是在'/app/vendor/ffmpeg/ffmpeg'這裡面,所以必須做一些處理,下面來一步一步做,以提醒之後遇到相同問題!
下圖是跑了幾百次一直都出現例外(exception),包括了上面講的ffmpeg問題,還有一部分是我路徑沒設好
- Oct 25 Thu 2018 23:12
-
Line Bot 用google語音回覆訊息

日期:2018/10/25
工具:Python寫Line Bot
內容:今天試著把我預設的文字訊息利用google語音來進行回覆,經過了debug很多次最後成功了!!主要是利用下列這段網址
stream_url = 'https://google-translate-proxy.herokuapp.com/api/tts?query='+t+'&language=zh-tw'
利用這段網址可以把訊息放在標記紅色的t位置,就可以變成語音檔了,例如我要(哈囉吳教授 最近很忙嗎)的reply語音訊息,就只要改一下的網址:
- Nov 01 Fri 2019 20:47
-
MongoDB 學習筆記

之前實習專案有玩過MongoDB,剛好前幾天在圖書館看到黃士嘉老師寫的書 7天學會大數據處理資料NoSQL-MongoDB入門與活用 真的是一個禮拜看完這本書,大概是一天看3個小時加上實作,覺得讓我更加了解MongoDB,因此來做一下筆記,把重點和語法記錄下來,希望日後用到能更加上手。
MongoDB幾個特色
P.S 常常聽到有同事說NoSQL其實意思就是Not Only SQL的意思
- 在Relational Database中的表格(table)類似MongoDB的Collection(集合),而資料列(Row)類似MongoDB的document(文件)
- MongoDB提供了Map-Reduce 的聚合工具來進行資料的統計
- Sep 27 Fri 2019 10:46
-
PyQt5 學習筆記

PyQt 是一個python的套件,應用在視窗應用程式,可以幫助完成一個GUI介面,把這幾天study紀錄一下,並做一個可以下載照片到小應用
現在本機中安裝套件
pip install pyqt5 pip install PyQt5-sip pip install pyqt5-tools
- Jul 28 Sun 2019 11:57
-
Spring Boot Swagger 2使用筆記

最近實習在用Spring Boot框架寫JAVA backend的相關API,發現除了Postman以外,學長們介紹了個好用的工具Swagger,讓我覺得要一定要好好了解這模組,Swagger提供UI介面使API清楚的條列式呈現,不只可以加入說明,還可以在Post出去的Request body內容放入預設值,讓我在測試結果省了不少時間和功夫,除此之外,也可以當作是前後端人員溝通的工具(有點像是使用者文件的概念),下面來簡單做個使用筆記吧!
(1)要先在Maven POM加入下面的宣告,讓他幫我把相關的jar檔抓進來
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
- Apr 05 Fri 2019 19:13
-
Python TQC+ 解題301~310

301_迴圈整數連加
題目說明:
請使用迴圈敘述撰寫一程式,讓使用者輸入兩個正整數a、b(a < b),利用迴圈計算從a開始連加到b的總和。例如:輸入a=1、b=100,則輸出結果為5050(1 + 2 + … + 100 = 5050)
範例輸入1
66
- Apr 05 Fri 2019 18:24
-
Python TQC+ 解題201~210
- Apr 04 Thu 2019 00:03
-
Python TQC+解題101~110

101_整數格式化輸出
題目說明:
請撰寫一程式,輸入四個整數,然後將這四個整數以欄寬為5、欄與欄間隔一個空白字元,再以每列印兩個的方式,先列印向右靠齊,再列印向左靠齊,左右皆以直線 |(Vertical bar)作為邊界。
範例輸入1
85
- Feb 05 Tue 2019 12:33
-
Firebase在python3.7出現SyntaxError錯誤

問題:
最近要寫個Linebot需要用到資料庫,想說用之前熟悉的firebase來使用就好,結果居然出現錯誤!!!在確定我程式碼都沒有問題後,我知道一定是內部的問題,上網找了一些解決方法後,了解到確定是Python3.7更新後,firebase有個檔案名稱跟內建檔案名稱有衝突吧,所以導致會一直出現SyntaxError(語法錯誤),而且IDE很明顯地告訴我們問題在如下這段程式碼
from .async import process_pool
如下圖所示
