技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

Rainbow Stream – Linux 的高级命令行 Twitter 客户端

linuxoperating systempythonsoftware & coding

Rainbow Stream 是一款免费的开源 Linux 命令行 Twitter 客户端,根据 MIT 许可发布。它能够显示实时推文流、撰写推文、搜索、收藏等。它用 Python 编写,并基于 Twitter APIPython Twitter Tool 构建。要在控制台中运行此应用程序,您必须安装 pythonpip 版本 2.7.x3.x

功能

  • 它是 Linux 命令行的免费开源 Twitter 客户端。

  • 它能够在终端中呈现 Twitter 图像。

  • 它支持代理。

  • 它支持交互模式。

  • 实现了主题自定义。

  • 它能够显示实时 Twitter 流。

  • 您可以直接从终端发送推文、搜索、收藏推文。

在 Rainbow Stream Twitter 客户端中安装Linux

在安装 Rainbow stream 之前,您必须使用以下命令检查 Python 的版本是否已安装 –

$ python --version

示例输出应如下所示 –

Python 2.7.11+

要安装 python-pip 包,请使用以下命令 –

$ sudo apt-get install python-pip

示例输出应如下所示 –

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libexpat1-dev libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-dev python-pip-whl python-pkg-resources
python-setuptools python-wheel python2.7-dev
Suggested packages:
python-setuptools-doc
The following NEW packages will be installed:
libexpat1-dev libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-dev python-pip python-pip-whl
python-pkg-resources python-setuptools python-wheel python2.7-dev
0 upgraded, 13 newly installed, 0 to remove and 21 not upgraded.
Need to get 29.7 MB of archives.
After this operation, 45.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 libexpat1-dev amd64 2.1.0-7 [115 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 libpython2.7-dev amd64 2.7.11-7ubuntu1 [27.8 MB]
Get:3 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 libpython-dev amd64 2.7.11-1 [7,728 B]
Get:4 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 libpython-all-dev amd64 2.7.11-1 [992 B]
Get:5 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 python-all amd64 2.7.11-1 [978 B]
Get:6 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 python2.7-dev amd64 2.7.11-7ubuntu1 [280 kB]
Get:7 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 python-dev amd64 2.7.11-1 [1,160 B]
Get:8 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 python-all-dev amd64 2.7.11-1 [1,000 B]
Get:9 http://in.archive.ubuntu.com/ubuntu xenial/universe amd64 python-pip-whl all 8.1.1-2 [1,074 kB]
Get:10 http://in.archive.ubuntu.com/ubuntu xenial/universe amd64 python-pip all 8.1.1-2 [144 kB]
Get:11 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 python-pkg-resources all 20.7.0-1 [108 kB]
Get:12 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 python-setuptools all 20.7.0-1 [169 kB]
Get:13 http://in.archive.ubuntu.com/ubuntu xenial/universe amd64 python-wheel all 0.29.0-1 [48.0 kB]
Fetched 29.7 MB in 19s (1,494 kB/s)
Selecting previously unselected package libexpat1-dev:amd64.
(Reading database ... 178346 files and directories currently installed.)
Preparing to unpack .../libexpat1-dev_2.1.0-7_amd64.deb ...
Unpacking libexpat1-dev:amd64 (2.1.0-7) ...
Selecting previously unselected package libpython2.7-dev:amd64.
Preparing to unpack .../libpython2.7-dev_2.7.11-7ubuntu1_amd64.deb ...
.........................................................................

要检查已安装的 pip 的版本,请使用以下命令 –

$ pip --version

示例输出应如下所示 –

pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

要安装 rainbow stream twitter 客户端,请使用以下命令 –

# pip install rainbowstream [适用于 Python 2.7.x 版本]
# pip3 install rainbowstream[适用于 Python 3.x 版本]

示例输出应如下所示 –

Collecting rainbowstream
Downloading rainbowstream-1.3.3.tar.gz (46kB)
100% |████████████████████████████████| 51kB 619kB/s
Collecting python-dateutil (from rainbowstream)
Downloading python_dateutil-2.5.3-py2.py3-none-any.whl (201kB)
100% |████████████████████████████████| 204kB 4.0MB/s
Collecting arrow (from rainbowstream)
Downloading arrow-0.7.0.tar.gz (75kB)
100% |████████████████████████████████| 81kB 7.9MB/s
Collecting requests==2.5.3 (from rainbowstream)
Downloading requests-2.5.3-py2.py3-none-any.whl (468kB)
100% |████████████████████████████████| 471kB 2.6MB/s
Collecting pyfiglet (from rainbowstream)
Downloading pyfiglet-0.7.5.tar.gz (767kB)
100% |████████████████████████████████| 768kB 716kB/s
Collecting twitter (from rainbowstream)
Downloading twitter-1.17.1-py2.py3-none-any.whl (55kB)
100% |████████████████████████████████| 61kB 6.7MB/s
Collecting Pillow (from rainbowstream)
Downloading Pillow-3.2.0.zip (10.5MB)
100% |████████████████████████████████| 10.5MB 125kB/s
Collecting PySocks (from rainbowstream)
Downloading PySocks-1.5.6.tar.gz
Collecting six>=1.5 (from python-dateutil->rainbowstream)
Downloading six-1.10.0-py2.py3-none-any.whl
Building wheels for collected packages: rainbowstream, arrow, pyfiglet, Pillow, PySocks
Running setup.py bdist_wheel for rainbowstream ... done
Stored in directory: /home/linux/.cache/pip/wheels/ce/a6/ee/78d894d77cee1169cf0db3a9a60705fc28ddf6880cae21cd28
Running setup.py bdist_wheel for arrow ... done
Stored in directory: /home/linux/.cache/pip/wheels/39/9d/23/0e26a93dad0f99c2c6cc22728222ec243fc5a11313c547e98d
Running setup.py bdist_wheel for pyfiglet ... done
Stored in directory: /home/linux/.cache/pip/wheels/22/64/50/061d962f0938800687c7d965aec42c3c3b5344634f2242f3d8
Running setup.py bdist_wheel for Pillow ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-HnxB6G/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpRiN63bpip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/PIL
copying PIL/PaletteFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImageDraw.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FliImagePlugin.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/FontFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/_binary.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/GimpGradientFile.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/JpegPresets.py -> build/lib.linux-x86_64-2.7/PIL
copying PIL/PyAccess.py -> build/lib.linux-x86_64-2.7/PIL
....................................................................

要获取 rainbowstream 的帮助,请使用以下命令 –

$ rainbowstream -h

示例输出应如下所示 –

usage: rainbowstream [-h] [-s STREAM] [-to TIMEOUT] [-tt TRACK_KEYWORDS]
[-fil FILTER] [-ig IGNORE] [-iot] [-24] [-ph PROXY_HOST]
[-pp PROXY_PORT] [-pt PROXY_TYPE]

optional arguments:
-h, --help show this help message and exit
-s STREAM, --stream STREAM
Default stream after program start. (Default: mine)
-to TIMEOUT, --timeout TIMEOUT
Timeout for the stream (seconds).
-tt TRACK_KEYWORDS, --track-keywords TRACK_KEYWORDS
Search the stream for specific text.
-fil FILTER, --filter FILTER
Filter specific screen_name.
-ig IGNORE, --ignore IGNORE
Ignore specific screen_name.
-iot, --image-on-term
Display all image on terminal.
-24, --color-24bit Display images using 24bit color codes.
-ph PROXY_HOST, --proxy-host PROXY_HOST
Use HTTP/SOCKS proxy for network connections.
-pp PROXY_PORT, --proxy-port PROXY_PORT
HTTP/SOCKS proxy port (Default: 8080).
-pt PROXY_TYPE, --proxy-type PROXY_TYPE
Proxy type (HTTP, SOCKS4, SOCKS5; Default: SOCKS5).

Rainbow Stream Twitter 客户端使用

要使用 Rainbow stream Twitter 客户端,请使用以下命令 –

$ rainbowstream

输入上述命令后,将打开如下所示的屏幕 –

使用您的凭据登录,您将获得一个 PIN。如果您已经登录帐户,页面应该会显示 PIN。

将 HTTP 收藏夹 Web 浏览器中的 PIN 复制到您的终端,然后按回车键,如下所示 –

You are running latest version (1.3.3)
Hi there! We're gonna get you all set up to use Rainbow Stream.
In the web browser window that opens please choose to Allow
access. Copy the PIN number that appears on the next page and paste or
type it here:
Opening: https://api.twitter.com/oauth/authorize?oauth_token=AB-78QAAAAAAXZ0wAAABVGBoQvQ

Please enter the PIN: *******

That's it! Your authorization keys have been written to /root/.rainbow_oauth.
_ _ _ _ _ ___________ _____
| | (_) | | | | ||___ / _ || _ |
| | ___| |_| |_ _ _ _ __ _ __ __ _ ___ __ _ __| | / /| |/' || |/' |
| |/ / | __| __| | | | '_ \| '__/ _` / __|/ _` |/ _` | / / | /| || /| |
| <| | |_| |_| |_| | |_) | | | (_| \__ \ (_| | (_| |./ / \ |_/ /\ |_/ /
|_|\_\_|\__|\__|\__,_| .__/|_| \__,_|___/\__,_|\__,_|\_/ \___/ \___/
| |
|_|

Need tips ? Type "h" and hit Enter key!

您将获得如下所示的推文 –

[@kittuprasad700]:
Girish Johar @girishjohar 2016/04/29 10:44:34
₪:0 ♥:0 id:0 via Twitter for Android
Right time finally ... Wishing you a Very Happy Birthday @shiekhspear 😁😁👏👍
Zoom TV @ZoomTV 2016/04/29 10:45:03
₪:0 ♥:0 id:1 via TweetDeck
.@BeingSalmanKhan will bring visibility to Rio Olympics says @SGanguly99 https://t.co/cfG0KnxJqW

Rajdeep Sardesai @sardesairajdeep 2016/04/29 10:45:19
₪:0 ♥:0 id:2 via Twitter for iPhone
Not a single minute of LS spent discussing the drought! http://scroll.in/article/807324/this-chart-shows-how-much-time-the-lok-sabha-has-spent-discussing-the-horrific-drought-none

El Androide Libre @elandroidelibre 2016/04/29 10:45:37
₪:0 ♥:0 id:3 via Buffer
Rick Osterloh regresa a trabajar en Google http://bit.ly/1rlKVed https://t.co/BmlMykUSmd

要显示趋势,请使用以下命令 -

[twittername]: treand

示例输出应如下所示 -

WIRED @WIRED 2016/04/29 10:47:05
₪:0 ♥:0 id:4 via SocialFlow
This is the app you need to wrangle your millions of messengers http://bit.ly/1SU6Rcx

要获取关注者列表,请使用以下命令 -

[twittername]: ls fl

要获取帮助,请使用以下命令 -

[twittername]: h

示例输出应如下所示 –

Hi boss! I'm ready to serve you right now!
-----------------------------------------------------------------------------
You are already on your personal stream.
Any update from Twitter will show up immediately.
In addition, following commands are available right now:

♪ Twitter help
   h discover will show help for discover commands.
   h tweets will show help for tweets commands.
   h messages will show help for messages commands.
   h friends_and_followers will show help for friends and followers commands.
   h list will show help for list commands.
   h stream will show help for stream commands.

♪ Smart shell
   111111 * 9 / 7 or any math expression will be evaluate by Python interpreter.
   Even cal will show the calendar for current month.

♪ Config
   theme will list available theme. theme monokai will apply monokai theme immediately.
   config will list all config.
      config ASCII_ART will output current value of ASCII_ART config key.
      config TREND_MAX default will output default value of TREND_MAX config key.
      config CUSTOM_CONFIG drop will drop CUSTOM_CONFIG config key.
      config IMAGE_ON_TERM = true will set value of IMAGE_ON_TERM config key to True.

♪ Screening
   h will show this help again.
   p will pause the stream.
   r will unpause the stream.
   c will clear the screen.
   v will show version info.
   q will quit.

-----------------------------------------------------------------------------
Have fun and hang tight!

要退出 Rainbow Stream,请使用以下命令 –

[twittername]: q

示例输出应如下所示 –

See you next time :)

阅读完本文后,您将能够理解 – “如何在 Ubuntu 中安装 Rainbow Stream 和使用 Rainbow Stream”。在下一篇文章中,我们将提供更多基于 Linux 的技巧和窍门。继续阅读!


相关文章