星期三, 8月 29, 2018

[Python] Python + OpenCV 環境安裝紀錄


1. 下載最新版 Python 後, 安裝。2.7.15 版後已內建 pip,因此強烈建議安裝最新版。

2. 設定環境變數 Path,新增下列兩項。
    C:\Python27
    C:\Python27\Scripts

3. 依據 Python版本與作業系統版本下載 Numpy,放到自訂資料夾。

4. 按下Shift + 右鍵,選擇[在此處開啟命令視窗],輸入
     pip install [Numpy檔名]
    註:輸入前可先輸入以下文字以更新 pip到最新版
           python -m pip install -U pip setuptools

5. 依據作業系統下載 OpenCV 後安裝。

6. 複製 opencv/build/python/2.7/cv2.pydC:/Python27/lib/site-packeges 下。

7. 開啟 Python IDLE,輸入以下文字。
    >> import cv2
    >> print cv2.__version__

8. 如果沒有任何錯誤且印出 OpenCV版本,表示安裝成功。


9. 如果要安裝 matplotlib, 也可用 pip 指令進行安裝。輸入以下文字即可。
     python -m pip install matplotlib
    
  

星期六, 6月 23, 2018

[C#] 擷取網頁資料 筆記

最快速簡單的方法就是使用 HTML Agility Pack。

1.首先, 用 NuGet 安裝。如果用NuGet 套件管理員無法安裝。
   可能是版本不相容,可改用主控台模式安裝指定版本。如下

PM> Install-Package HtmlAgilityPack -Version 1.4.9.5

2.接著如以下範例,取得網頁資料

HtmlWeb client = new HtmlWeb(); client.LoadAsync("http://astro.click108.com.tw/daily_10.php?iAstro=10");

3.再用 XPath 取得節點資料, XPath 路徑可使用瀏覽器+套件

HtmlNodeCollection nameNodes = doc.DocumentNode.SelectNodes(@"//div[@class='ROOT']/p/a[2]"); foreach (HtmlNode node in nameNodes) { string strValue = (node.InnerText).Substring(5); //擷取字串 Debug.WriteLine(strValue); }




參考網頁:
https://dotblogs.com.tw/v6610688/2013/11/02/parsing_html_by_html_agility_parser_on_windows_phone_8

https://msdn.microsoft.com/zh-tw/ee787055.aspx

https://blog.exfast.me/2016/07/c-use-the-htmlagilitypack-to-collect-web-pages/

星期三, 5月 30, 2018

[Code] 清除文字檔內容 C 與 C++

C語言版本

   fclose(fopen("file.txt", "w"));

C++語言版本

std::ofstream ofs;
ofs.open("test.txt", std::ofstream::out | std::ofstream::trunc);
ofs.close();