介紹一下怎麼用Steemsql提取Steemit的數據

早前o哥 @oflyhigh介紹過怎樣用SteemData拿數據,這裏就介紹一下另一個提數的方法-Steemsql
image002.png
(圖片來源: https://goo.gl/vXQKbo)

其實SQL就是一種用來專門用來查數據的語言,Microsoft Access寫query的時候也是用這個東西,而且基本用法一點都不難。Steemsql就是一個數據庫,讓大家能用SQL提取Steemit的數據。


怎樣連上Steemsql


要用Steemsql來查數據得先有一個Studio,比如可以用Microsoft SQL Server Management Studio (在官網可以下載),但我自己用的是Valentina Studio (在這可以下載: https://www.valentina-db.com/en/studio/download/current),下稱VS。

下載並安裝以後首次打開VS它會要你輸入序號,到它網站去免費申請一個帳號後就可以拿得到了。打開以後應該是這個樣子
P1.png

選右上角的File -> Connect to…以後會有這樣的一個表格,跟下圖的內容填就好了。密碼跟帳號同樣是steemit。
P2.png

輸入以後按Connect,就會有以下的介面。
P3.png

按一下DBSteem,再按Open,你應該就能看到dbo底下有很多個數據表:
P4.png

用SQL查詢數據庫


接下來就要用SQL來提數了,選了DBSteem以後按Open SQL Editor。
P5.png

最簡單的你可以用以下的code去看一下一個table的結構跟內容:

SELECT TOP (n) * FROM (table name);

要去理解這句code,就是著它從(table name) [FROM (table name)] 選取 [SELECT] 首n條 [TOP (n)] 記錄的所有字段[*]。 (記得要限制結果數量,不然的話整個數據表的資料都顯示出來要花很長時間)

比如我寫

SELECT TOP 10 * FROM Txcomments;

就是從Txcomments這個數據表拿首十條記錄的所有字段出來看。按一下左上方的Execute結果就出來了。

來看看跑出來的結果:
P7.png

這樣你就能看出來Txcomments是載著每一個帖子或留言的資料,且分別存在什麼字段。所以大家可以試試探索一下不同的數據表都在載什麼東西~

要是我想找一下 @cnfund最新出的十章小說,且只需要作者名、文章標題、內容跟發表時間,就會用以下的SQL code:

SELECT TOP 10 author, title, body, timestamp //選出首十條記錄的作者、標題、內容跟時間
FROM Txcomments //從Txcomments中提取
WHERE author = 'cnfund' and title <> '' //作者需要是cnfund且標題不能為空(即只要帖子、不要留言)
ORDER BY timestamp DESC; //以時間倒序排列

結果如下:
P9.png

其實SQL code是很好理解的,有不知道應該怎麼寫的時候google一下就很容易能找到答案。

最後還可以把結果導出。結果的右下角選Export Result就可以了。
P10.png

如果要做簡單的分析,可以把結果導出到Excel,相信大家應該對Excel都有一定程度的熟識


另外,測試過Steemsql的數據大概只有延遲3分鐘左右,這方面比SteemData好,而且SQL應該比Python要易上手吧 (但還是鼓勵大家學一下Python,真的很有用,而且學了以後比較能看懂o哥的技術文 XD)。

今天就先介紹這些吧~ 謝謝收看

參考資料


如果你喜歡我的文章,歡迎follow @rayccy! :)

H2
H3
H4
3 columns
2 columns
1 column
27 Comments