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

in cn •  7 years ago  (edited)

早前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! :)

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

这个我以前研究过
当时数据没这么全
后来steemdata 出现,我就移情别恋了

后来作者对这个进行了好多次改版和服务器升级

已经迭代10次了

作者主页:
https://steemit.com/@arcange

另外,感谢分享

人工置顶

個人認為Steemdata除了數據延遲外其實都是比Steemsql好的,但對於新手來說steemsql應該比Python易理解

數據分析是一個很有趣的事情(畢竟是我的職業 哈哈),但要分析必須先能拿到數據,Steemsql還是有必要讓有興趣入門的新手知道啦,不至於看到Python就卻步了~

其实个人认为难点不是Python,是mongodb啦
毕竟SQL大学里都有学到,遇到点稍微复杂的问题也有N多参考
MongoDB至少steemdata以前,我是一点也不了解的,仅仅听说过而已

對啦,其實我唸大學也沒有學過這些,都是需要自學,真的不是個容易的事
其實大學也應該多教一些新的東西啦... 現在很多還停留在教SAS跟R的地步,Python、Hadoop這些都很少或者完全沒教,也別說mongodb這種啦

Loading...

Mysql还是很方便的, 不错,需要用数据的朋友,应该收藏此文 :)

MSSQL

收藏sql

我是用SQLDeveloper. 这Valentina好像也不错。

我也是別人介紹才知道這個valentina, 以前用microsoft的studio比較多,現在覺得這個也蠻好用的

有时间可能要研究一下了。 :-)

收藏,回头也试试。

試試看,你會在裡面找到很多有趣的東西! :)

谢谢分享啊!

不客氣~

已收藏 :) cn區還真是臥虎藏龍呢! 這麼多programming的高手

過獎了,只是很基本的東西啦~ 太深的不敢出來獻醜

这个👍🏻,不是搞数据的我一点没看懂😭

謝謝 :) 光看的話有時候還真的會有很多搞不懂~ 你動手試一下做就發現其實沒有這麼難啦 XD

进来学习下

谢谢分享。先保存下来,以后慢慢看。nationalpark-bookmark

WoW!

  ·  last year (edited)

在连接时出现了问题,哪个大神知道如何解决呢,求求!

image.png

我确保我的sql server配置好了。
image.png

这不是和SQL语句一样吗?群里谁说不一样的。。还是我记错了。。。晕啊

就是同一個東西啊