Community post
介紹一下怎麼用Steemsql提取Steemit的數據
早前o哥 @oflyhigh介紹過怎樣用SteemData拿數據,這裏就介紹一下另一個提數的方法-Steemsql

(圖片來源: 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它會要你輸入序號,到它網站去免費申請一個帳號後就可以拿得到了。打開以後應該是這個樣子

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

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

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

用SQL查詢數據庫
接下來就要用SQL來提數了,選了DBSteem以後按Open SQL Editor。 最簡單的你可以用以下的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結果就出來了。
來看看跑出來的結果:

這樣你就能看出來Txcomments是載著每一個帖子或留言的資料,且分別存在什麼字段。所以大家可以試試探索一下不同的數據表都在載什麼東西~
要是我想找一下 @cnfund最新出的十章小說,且只需要作者名、文章標題、內容跟發表時間,就會用以下的SQL code:
SELECT TOP 10 author, title, body, timestamp //選出首十條記錄的作者、標題、內容跟時間
FROM Txcomments //從Txcomments中提取
WHERE author = 'cnfund' and title <> '' //作者需要是cnfund且標題不能為空(即只要帖子、不要留言)
ORDER BY timestamp DESC; //以時間倒序排列
結果如下:

其實SQL code是很好理解的,有不知道應該怎麼寫的時候google一下就很容易能找到答案。
最後還可以把結果導出。結果的右下角選Export Result就可以了。

如果要做簡單的分析,可以把結果導出到Excel,相信大家應該對Excel都有一定程度的熟識
另外,測試過Steemsql的數據大概只有延遲3分鐘左右,這方面比SteemData好,而且SQL應該比Python要易上手吧 (但還是鼓勵大家學一下Python,真的很有用,而且學了以後比較能看懂o哥的技術文 XD)。
今天就先介紹這些吧~ 謝謝收看
參考資料
- https://goo.gl/vXQKbo - https://goo.gl/N2tDhF如果你喜歡我的文章,歡迎follow @rayccy! :)
Replies (26)
Mysql还是很方便的, 不错,需要用数据的朋友,应该收藏此文 :)
已收藏 :) cn區還真是臥虎藏龍呢! 這麼多programming的高手
收藏sql
收藏,回头也试试。
这个我以前研究过
当时数据没这么全
后来steemdata 出现,我就移情别恋了
后来作者对这个进行了好多次改版和服务器升级

已经迭代10次了
作者主页:
https://steemit.com/@arcange
另外,感谢分享
人工置顶
MSSQL
個人認為Steemdata除了數據延遲外其實都是比Steemsql好的,但對於新手來說steemsql應該比Python易理解
數據分析是一個很有趣的事情(畢竟是我的職業 哈哈),但要分析必須先能拿到數據,Steemsql還是有必要讓有興趣入門的新手知道啦,不至於看到Python就卻步了~
過獎了,只是很基本的東西啦~ 太深的不敢出來獻醜
試試看,你會在裡面找到很多有趣的東西! :)
这个👍🏻,不是搞数据的我一点没看懂😭
其实个人认为难点不是Python,是mongodb啦
毕竟SQL大学里都有学到,遇到点稍微复杂的问题也有N多参考
MongoDB至少steemdata以前,我是一点也不了解的,仅仅听说过而已
對啦,其實我唸大學也沒有學過這些,都是需要自學,真的不是個容易的事
其實大學也應該多教一些新的東西啦... 現在很多還停留在教SAS跟R的地步,Python、Hadoop這些都很少或者完全沒教,也別說mongodb這種啦
謝謝 :) 光看的話有時候還真的會有很多搞不懂~ 你動手試一下做就發現其實沒有這麼難啦 XD
进来学习下
WoW!
谢谢分享。先保存下来,以后慢慢看。nationalpark-bookmark
谢谢分享啊!
多谢,我在安装 VS 的过程当中,遇到了一些问题,记录如下:
下載並安裝以後首次打開VS,系统会自动弹出一个小窗口,要你輸入序號(下图截图没来得及截图弹窗)。
但还没有序列号,需要去官网申请一个。
按照弹窗提示去官网注册一个账号,可以使用 facebook 登录,不过邮箱验证之后仍然需要填写username 和设置密码。
成功登录之后,需要购买序列号
选择方案并加入购物车
然后进入购物车下单,如下图。
结算下单,可以选择免费方案。
最后切换到 vs,输入信息以及序列号。
我是用SQLDeveloper. 这Valentina好像也不错。
我也是別人介紹才知道這個valentina, 以前用microsoft的studio比較多,現在覺得這個也蠻好用的
不客氣~
謝謝你的補充! 因為我在這步的時候沒有遇到太大困難所以就省略了,看來我應該一開始也把這個教學加上。你都這麽用心的截圖說明了,現在在這一步大家應該不會再有問題了
有时间可能要研究一下了。 :-)
这不是和SQL语句一样吗?群里谁说不一样的。。还是我记错了。。。晕啊
就是同一個東西啊