おっす。くっしーです。
みんな、新コロで自粛中やと思う。
でも、
だから、くっしーな、
って思ったんよ。
それがこちら。どん。
*音は無いっす!
新型コロナウイルスに関連する作品なんやけど、
ってやつで、"法人"って、実際の人間では無いけど、法のもとで人として人格があるものとして扱うように、
"人類全体"のCOVID-19の感染を、"肺"に見立てて表現した。
ちょっとアートらしく、解説を入れると、
- 左にあるグリッドは、よこ線たて線がそれぞれ回復者数と死亡数に対応。
- 真ん中の"人類の肺"の周りに漂ってる粒は、人口100万人あたりの感染者数。
- 右で動いてるノイズは、人類全体の感染者数に応じて激しくなる。
もちろん、Webスクレイピングでリアルタイムに値をとってるので、変動するで。
(Webスクレイピングは、ざっくりいうと、「ウェブサイトからデータをとってくること」です。たとえば、ALISの自分の記事のいいねの数とか、そういうのw)
なので、
ということです。
プログラムをざっくりと。
「python」で、やってることは、
Webスクレイピング
OSC通信でTouchDesignerにデータを送る
書いちゃったらこれだけっすねw
そこまでがね。
開発環境とか。パス通すの間違ったり。Webスクレイピングも。
ほんと大変やったw
せっかくなんで、載せますか!億ラビさんに感謝っす。
import time
import requests
from bs4 import BeautifulSoup
from datetime import datetime
from pythonosc import udp_client
from pythonosc.osc_message_builder import OscMessageBuilder
IP = '127.0.0.1'
PORT = 7000
c = udp_client.UDPClient(IP, PORT)
while True:
t_ = datetime.now().strftime("%Y/%m/%d %H:%M:%S")
r = requests.get('https://google.com/covid19-map/?hl=ja')
s_ = BeautifulSoup(r.content, "html.parser")
a = s_.find_all('td', class_=('uMsnNd HAChlc'))
# s = s_.find("td", "uMsnNd HAChlc").text
d0 = int(a[0].get_text().replace(',',''))
d1 = float(a[1].get_text())
d2 = int(a[2].get_text().replace(',',''))
d3 = int(a[3].get_text().replace(',',''))
msg= OscMessageBuilder(address='/covid19')
msg.add_arg(d0) #確認済み感染者数
msg.add_arg(d1) #人口 100 万人あたりの感染者数
msg.add_arg(d2) #回復者数
msg.add_arg(d3) #死亡者
m = msg.build()
print(m.address, m.params)
c.send(m)
print(t_)
# print(s)
print(d0) #確認済み感染者数
print(d1) #人口 100 万人あたりの感染者数
print(d2) #回復者数
print(d3) #死亡者
print('-----------')
time.sleep(60)
(Sublimeのコンパイルは、⌘+Bでできます。)
Webスクレイピングの参考にしたサイトはこれっす!
Webスクレイピングは、おなじみのChromeの検証ですw
<td class="uMsnNd HAChlc">ってところが、全世界の感染に関する統計情報を表しているから、そこのデータをとってくればいいってことっすね。
ほんで、
OSC通信の参考はこっからっす!
OSC通信は、Open Sound Controlの略で、ざっくりいうと、インターネットをつかっって、いろんな通信ができるってやつです!今回は、自分のパソコン内で通信したって感じです。僕もあんまり詳しくはわかって無いですw
こっちはTouchDesigner
いわゆるプログラミング言語を書いていくのではなく、
"オペレーター"と呼ばれるものを使って、プログラムしていきます。
(いわゆるノード型)
左の方の緑色のやつが、OSC通信でもらってきたデータっす。
そして、
じゃじゃん。
追記:
グリッド数は増え、玉のノイズも少し激しくなった。
さらにはげしくなっている。。。
ここまで読んでくれてありがとう。
みんなでこの期間、乗り越えましょう。
ほんまに。まさか日本史や世界史に乗るような恐慌を体験することになるなんて。
ぐらいポジティブにならな、もたへんなw
ここまで読んでくれたあなただけに、
TODAY IS A GOOD DAY FOR YOU...