get paid

Get paid for the tasks you do online

2020年12月13日 星期日

利用 Python 下載 youtube

 最近會利用到 YouTube 上面的影片來做測試 

之前都用 web 的一些服務

但是後來發現 公司網路會阻檔這些網址

於是想到自己用 python 來 download

Python 有個很簡的 download model 叫 pytube 

直接用 pip install 就可以了

不過如果你是用舊版 3.8 前的 python , 必須要指定版本

因為 pip install 會安裝最新版的 pytube

但最新版只 support 3.8 

另外 還要用到 ssl 

因為有些網址 或 MAC 需要用到 SSL , 不然會有 error 發生

程式碼很簡單 如下

之後有空再寫成 UI 介面吧

import pytube

import ssl
ssl._create_default_https_context = ssl._create_stdlib_context
url=input("Input download youtube URL: ")
download = input("input the dir to save the file: ")
yt =pytube.YouTube(url)
# yt.download('/Users/chiusam/Downloads')
# video = youtube.streams.first()
video = yt.streams.first()
video.download('/Users/chiusam/Downloads')

2020年11月17日 星期二

Pyinstaller 打包 結果花很多時間才執行

 昨天因工作需求,  用了 pandas , OS 這幾個 library ,

因為要讓同事的 windows 跑 ,  且他的電腦沒有 python 環境 

於是直覺就用 Pyinstaller 打包 ,  原本用 -F 包單個 file , 但要快 3 分鐘才開始run 

google 一下發現是因為 -F (one file) 需要先去下載 library , 可能 pandas 這個 library 太大了

所以會等比較久

後來改成 -D 就快很多 , 但也要等快 1 秒才執行

不過以這工具來說 ok 了 


2020年11月3日 星期二

getattr 呼叫 pyqt 物件

 最今一個小專案,  會需要設定 QLineText , 但因有不少QLineText 物件

而物件每個名稱都只差最後一碼 如 line1 , line2 .... 等

如果是一個個 寫真的很笨 , code 也很長 

每次要做修改 code 會瘋掉 

當然可以用 List 把所有 QLineText 放進去, 但一個個 讀出來 

但 一多就有問題了 


如果要在同一個 class 內使用 , 前面要加 self.   

這時此時可以用 getattr ,  

先將 line{}.format{I} 取出 object 名稱

再用 getattr (self ,"line{}.format{I}).setText(i)

此時就可以變成一個物件來使用

sample code 如下 

for i in range(1, 100):
getattr(self, "ipLine{}".format(i)).setText(i)
print(getattr(self, "ipLine{}".format(i)))

2020年10月28日 星期三

Python 快速抓取美股 ticker 的方法

 最近想寫一些美股的技術分析程式, 因為跟台灣免費不太相同, 美國比較詳細得技術分析看盤或分析軟體都是要付月費的, 因為沒有即時看盤的需求, 用到的技術指標也就那幾個

於是打算自己寫個美股技術指標軟體

第一步當然就是要抓股票歷史資料摟, 不過美股代號不像台股以單存數字為主

且有不同交易所之區分,  所幸 google 到 NASDAQ FTP 有美股代號資料

下面有別人寫好的 code ,  可直接將 symbol 存成 csv


Get US Stock Symbols


2020年10月13日 星期二

python 正規化 re 的簡介

 正規化檢查是很常用的功能, 如輸入檢查 

如你是要使用者輸入如 mac address 會 IP address 時 會用來檢查輸入正不正確


import re

pattern = r"([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}"
if re.fullmatch(pattern, macaddr):
print("mac address correct")


其中 pattern 是 Mac address 格式的檢查 ,  Mac 固定式 0 ~F 12 碼 , 每兩碼要用 : 隔開

後面的定義很像文字天書 , 但等一下有快速的方法 寫出來

re.fullmatch (pattern, macaddr)  中 macaddr 是我在其他地方要求別人輸入的 Mac address 

我需要檢查使用者輸入是否正確 

如果這確 re.fullmatch 就會 return ture 

 

最後要如何快速查到你的檢查碼(pattern)呢 ?

我們可以直接用下面網址查詢別人查過的表示法即可

https://regex101.com/





2020年9月15日 星期二

Nvidia 要買下arm

今天的行為是英偉達要買下安謨
如果各國政府沒有反對的話這將是有史以來最大的一筆科技業併購案
本身因為來就用了很多arm的東西
所以將來Jason平台如    tx2 應該會有越來越多edge computer產品出現
所以學習這一塊應該可以有很長的路走

2020年8月28日 星期五

MacBook Pro 開啟 TFTP

 最近常需要更新 embeded 產品的 bootcode 會需要用到 TFTP server . 再 Windows 上可以直接下載免費的 TFTP server 軟體 , 但 MacBook Pro 找不到好用的


不過 MacBook Pro 有自帶 TFTP server , 直接用 terminal 下 command 即可啟動

但看了很多教學 , 原本已會很複雜, 但 其實很簡單, 因為我沒有打算改tftp 預設的文件目錄

sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist

sudo launchctl start com.apple.tftpd

tftp 預設的文件目錄為:
/private/tftpboot

再把要使用的檔案放在上面了路徑下即可

但如果不要是用預設就比較麻煩一點 ...


Ether.FI 神卡 https://www.ether.fi/@46933474

 Ether.FI 真的是神卡 有買US Amazon  或穩定幣的很適合辦一張 我的推薦碼 https://www.ether.fi/@46933474