發表文章

證交所最佳五檔的程式解析

註: 2018/11/29,發現已經無法一次查詢多個代號,只能迴圈一個一個查。 今天是2017/1/16,一早發現網址又改,原來第3第4點的 getSTKInfo.jsp 改成 getS tock Info.jsp? ,而且也把json亂數表頭的方式移除,已緊急改程式了,請重新 下載程式 ( 程式碼在此 ) 2018/8/23,一早發現必須透過getStockInfo.jsp才是取得Session的地方,所以修改下面第一點 首先我要說明一下現在的日期是 2017年1月,因為 證交所最佳五檔的程式 的規則有時會變動,不見得適用未來的日子。 證交所提供了股票即時 最佳五檔 的網頁,供一般民眾查詢(但我相信,會觀注的多半是碼農,從 最佳五檔 的網址,它主要的Host是 mis.twse.com.tw ,這是我們要注意的第一個點,透過 dig command ,我們可以發現twse.com.tw網域用了4台DNS主機來應付輸詢,這也是我要提的第一個建議: 若不是用瀏覽器執行JavaScript程式  URL直接採用網址IP連結,不要使用mis.twse.com.tw網域,輸詢太多次會卡住,且若每次輸詢結果不一致時,會導致Session遺失 再來針對它的程式設計加以說明: 先說一下,用網頁查詢的網址格式是 http://mis.twse.com.tw/stock/fibest.jsp?lang=zh_tw&stock={代號} ,在瀏覽器下通常 lang=zh_tw 參數會被省略,但是程式設計時,請不要忘了要加上去。這是最重要的一個關鍵,因為我們必須在這頁取得Session(並且要保留),否則後面的資料存取將無以為繼,所以若是以程式要取得Session的第一件事就是連到 http://mis.twse.com.tw/stock/fibest.jsp?lang=zh_tw 我們取得這個網頁只是為了取得Cookie ,但現在除了這個功能外,還必須取得網頁並分析其中的3個Function:rA1()、rA2()與rA3(),因為後續取得的JSON屬性表頭不再是固定的字串,而是隨機定義在這三個函數內,我們必須透過分析JavaScript以瞭解JSON內容每個項目所代表的意義,取得範例的部分內容說明如下: 在以往,我們取得這個網頁只能...

起點小說下載器

圖片
我看小說很多年了(主要是看 起點中文 ),最討厭的事是就是為什麼 起點 要載入一堆有的沒有的, 看起來不太方便,然後每換一章總是要等一下, 所以乾脆寫程式把它們都抓下來,找個Text Reader在手機上看,或者直接在電腦看,沒有多餘的圖片,也不用看廣告。 程式是用Java寫的,所以 您 必須 安裝Java 環境, 然後 下載 qidian-2.15.jar(Java 7) 或 qidian-2.15.jdk8.jar(Java 8) 然後 Windows 直接在檔案總管滑鼠右鍵開啟  或是用命令列執行(Linux注意,nautilus 開啟Jar檔,若是用 這個方案 工作目錄會是$HOME,我比較建議用 另一個方案 ) java -jar qidian-2.15.jar 註:執行後同目錄沒有同文堂的對照表,則必要時會自動 下載簡繁對照表 word_s2t.txt 與 phrase_s2t.txt 跟 qidian-2.00.jar 放到同一(工作)目錄 使用方式: 若要從某個網頁開始往後下載,則貼上該頁網址,按解析後再按下載,或是 直接貼上相關網址,一樣按解析後再按下載,則全部下載(起始章節為空時) 註:此下載器只會下載文字與公眾版,圖形或是須VIP才能看的文章,恕無法下載 開發者請參考 程式碼網頁

OpenShift 走一遭

圖片
    想要把範例程式公開到網路上,有用到資料庫,想說Google的 AppEngine 有點麻煩,找了一下,於是決定放到 OpenShift ,並記錄一下過程。     既然是範例程式,當然有必要準備一些先期工作 ,例如:安裝好Java環境、 Git 與 Maven 。     首先,當然是到 OpenShift 先註冊一個帳號 、 好了,現在去收信並啟用帳號 完成後直接登錄 App Console 後,然後我們要建立第一個專案。 選擇建立Tomcat 專案 填入資料,下圖中的Source Code不用填,除非已經有了源碼,要從外部匯入專案 專案建立完成,然後選擇我們要用的資料庫(在此我選擇了PostgreSQL 9.2) Cartridge:卡匣,想成模版就可以了   完成後 現在開始要在電腦端安裝 rhc工具 以fedora來說,執行 $sudo yum install rubygem-rhc 剩下的步驟造 官方操作 這裡作即可 $ rhc setup OpenShift Client Tools (RHC) Setup Wizard This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are properly installed. If you have your own OpenShift server, you can specify it now. Just hit enter to use the server for OpenShift Online: openshift.redhat.com. Enter the server hostname: |openshift.redhat.com| You can add more servers later using 'rhc server'. Login to openshift.re...