發表文章

目前顯示的是 8月, 2021的文章

PHPlot 中文亂碼

圖片
 現階段比較常用的繪圖函式大多是 javascript 為主流,有很多,也不勝枚舉,D3.js、C3.js、Chart.js ...,遙想(抬頭)只有 GD 可用的年代,回頭用這函式老而不殘,實在是因為抓取資料的 PHP 程式運作順暢,想說就直接用 PHP 把圖做一做,哪知道,只怕是更折騰,這次又碰到老朋友,俗稱「亂碼」的編碼問題… 工作環境:   Windows 10 home   php     phplot     workplace/font/fireflysung.ttf 症狀: SetFontTTF: Can't find TrueType font fireflysung.ttf 整片白的一張圖 試了半天,原來只能設定絕對路徑,不能設相對路徑 範例: //all these below WORKS with setting of absolute path 用絕對路徑、絕對路徑、絕對路徑  $plot -> SetTTFPath ( "D: \\ workplace \\ font \\ " );     //works $plot -> SetDefaultTTFont ( 'NotoSerifCJKtc-Black.otf' );   //works $plot -> SetTitle ( "符合與其他可能" );   //works  //these also works with correct path setting //using ttf font with correct path setting //$plot->SetDefaultTTFont('fireflysung.ttf');  //works //event using otf font works with correct path setting //$plot->SetTitle("符合與其他可能",'font/fireflysung.ttf'); //works /*  // all the failure //$plot->SetTTFPath("font\\"); //$plot->S

在 windows 10 中不透過批次檔定時執行 python

圖片
 以往設定排程都是透過批次檔(.bat)來執行,雖然說多一步也沒什麼,但是,今天想要把這一步也省了… 工作環境:   windows 10   工作排程器   python + python script   切記路徑的最後有個反斜線 相對於以往透過批次檔的方式,都是在(P)裏面指定要執行的批次檔,為了不用批次檔,設定改成上圖所示,因為路徑(path) 已經設好了,所以直接輸入 python 就行,就不用再指定 python 的路徑了;至於要執行的程式碼(.py),就如圖設定就行,如果有輸出的訊息,都可以在(T)的資料夾裏面找到,以上的設定就相當是在 windows 裏執行 python D:\Somewhere\app.py。 收工! ------------------------------- 工作排程的細項說明可以參考 這個

Selenium 除錯筆記

 由於某些網站擋掉了直接用 php 抓取內容,所以,只好繞道,改用爬蟲把網頁抓回來處理,等到有朝一日熟練了再直接用爬蟲處理完資料整理,But... 症狀 :ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import) (C:\somewhere\selenium.py) 工作環境:   Windows 10   Python     selenium 檢查過路徑,沒有問題,該設引用路徑(path)的都設了,重新安裝也試過了,後來才發現,為了測試,開了一個也叫 selenium.py 的檔案(如症狀所述),把測試檔案更名就好了。 雖然已經很少碰到保留字的問題,看來,和函式庫檔案同名也要用相同方式處理啊~~   症狀 : YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. #原本的會出現以上的警訊 #conf = yaml.load(open('somewhere/config.yml')) #改好了就不會了 conf = yaml.load(open('somewhere/config.yml'),Loader=yaml.FullLoader) #也可以用這種方式 conf = yaml.safe_load(open('somewhere/config.yml'))   webdriver 的操作和一些參數設定: #如果沒有設好系統路徑 #PATH = "D:/somewhere/geckodriver.exe" #driver = webdriver.Firefox(PATH)   #如果已經設好系統路徑  #driver = webdriver.Firefox()   #把執行中的視窗移出視線,雖然 sele

都還沒開始用爬蟲就卡關

 話說,只要提到抓網路資料,就會跑出一堆爬蟲Can do ...,bla bla bla,好像會寫幾行程式,馬上就會飛天,會鑽地,But............... 這次想要來點,登入網站抓資料,都還沒開工呢!要準備的東西一大堆,要爬蟲的工具,好像都是 python 的,和我不熟,接著還要 python 擴展,還要圖形辨識工具,還要 ocr 工具,還要…,還要…,有沒有搞錯,還沒開始就快累屎了 工作環境:   Windows 10   python 3.8.X     selenium     webdriver for selenium     pytesseract     opencv   selenium   opencv   tesseract-OCR   imagemagick 是的,想要爬網頁,先找那種不用登入的蛤,不然就得先把這些裝一裝!為什麼要影像處理的部份呢?因為要登入就要過驗證碼這關,也就是 captcha ,先把最難克服的解決掉,果然,要解決最難的問題,本身就是個大問題 先裝 python ,全部的工具裏面這個應該是最簡單的 selenium 為什麼有2個要裝呢?一個是 selenium 本身,一個是 python 要用的,都裝、都裝,省得之後夜長夢多,因為之前沒碰 python 完全不知道差在哪裏,先裝得起來再說; tesseract, opencv 同理 還要搞定編譯 opencv ,為了要處理圖形的物件,這東東可以抓出、辨識影像中的物件和它的屬性,天啊,連 c++ 都碰上了,不知道之後還要搞些什麼 然後圖形的物件,像是驗證碼找出來之後,要把圖裏面的文字認出來還是得靠ocr 後來發現處理影像讓驗證碼可供辨識的時侯, imagemagick 訊息比較多,功能也強,又多裝了一個工具,結果發現,這工具雖然已經有64位元版的了,路徑都設好了,呼叫 imagemagick 的時侯,居然出錯,只能移除,再重裝32位元版的才能行,真是折騰 折騰了一番,只把傢私傳好,不知何時能開始做菜,這些工具怎麼好像都是 linux 比較好裝的樣子啊~~ 先醬子,收工!

blogspot 自訂主題一直顯示無法更新

 今天同事提到,用 blogger 時,套用了自訂主題,改好了很多設定,但是 logo 的圖,一直很小,不知怎麼調比較好,由於聽起來不會太難,就自告奮勇來試試,But .... 工作環境:   google blogger   主題:套用自訂主題 - 自訂 > 編輯HTML 明明就是調整一下長、寬參數的事兒,居然… 搞了一上午,blogger 的後台,一直給出無法更新的訊息,神奇的是預覽的畫面有符合預期(有改到),奈何實際的畫面,沒辦法照著更新(沒改成) ,分明和同事一樣,複製、貼上,同事就醬子搞定;這時侯,雖然可以換各種內建主題,自訂主題的話,不管是在線上編輯器改,在線下改了貼上,用備份檔上傳來還原,就是無法更新、無法更新、無法更新。 要吃午飯的時侯,突然想到,把工作環境單純化,用個獨立的瀏覽器只開一個帳號來處理,不要一個瀏覽器裏同時開好幾個 google 帳號的時侯做設定,居然,貼一次就過了,那、那、那、折騰了一上午,到底是為了什麼!? 收工!