【Python3の基本】外出時iPhoneからサーバーを遠隔操作でTwitterを解析 | Apple iOS 開発 YouTube セミナー 49


Python3系


- TwitterのAPI利用の紹介
- Pythonで使用したライブラリの紹介
- Pyhon3の初心者向け基本構文の勉強


トレンドチェック用にiPhoneでサーバーを遠隔操作するためのPython3の基本


「以下は動画のハイライトです。」

本動画ではPythonを活用したTwitterの解析ツールを一例に種々のライブラリのインストールでどのようなことができるのかを紹介させていただきます。

細かい構文は割愛させていただいておりますのでPythonの構文の初心者向けのチュートリアルとなります。

TwitterのAPIの導入事例や手順などは本動画をご査収ください。

まずMacにはもともとpython2系が入っており、ターミナルからすぐpythonを実行することができます。


jplet = "777"
print(jplet)

python test.py



Python2系は日本語の処理などに不具合が起こりやすいのでやはり本格的に使うにはpython3系を使いたいところです。python3系で実行する場合はmacの場合以下のように打ちます。


python3 test.py



またpythonには様々なライブラリをimportすることができ、ここがpythonの魅力的なところでもあります。

例えばcsvのライブラリをimportするには以下のようにします。


import csv

with open('data/csvtest.csv') as f:
 reader = csv.reader(f)
 for row in reader:
  print(row)



これにより、所定のディレクトリからcsvファイルを読み込んで簡単に配列へ変換することができます。

PythonはSwiftと違って、インデントが命です。ここでブロック分けするのでインデントがわかりやすいエディッターなどを使うことをお勧めします。私はSublime Textなどを使っております。


cq = 'app'
if cq == 'apps':
 print( 'Catch Questions' )
else:
 print( 'CQ Academy' )



こうしたif文を使ってインデントを意識しながらコードを書くようにしましょう。

またよく使うループなどの構文は以下のようします。


for i in range(5):
 print(i)

strings = ['Catch', 'Questions', 'Academy', 'Cat', 'App']

for string in strings:
 if string == 'Cat':
  print('Cat')
  break
 print(string)



In以下にrangeで回数指定や配列を指定することで所定の回数繰り返し実行を行います。こうした構文はよく使うので覚えておきましょう。

続いて出先で自分のサーバーへ指示を送るためのhtmlの一例です。


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Twitter Analysis</title>


</head>
<body>
<h1>Twitter Analysis</h1><hr>

<form name="Form" method="POST" action="../myDirectory/twtAnalysis.cgi">
Search: <input type="text" size="30" name="name">
<input type="submit" value="submit" name="button">
</form></body>
</html>



POSTで検索ボックスに入力した値を実行ファイルへ渡すようなものを作ります。渡した値は実行ファイル側で以下のように拾うことができます。


import cgi

form = cgi.FieldStorage()
sentName = form.getvalue('name','')



これにより変数sentNameへ渡された検索ワードがStringとして代入されます。ここまで来たら後は煮るなり焼くなりです。

Twitter解析に使ったライブラリは以下です。


import cgi
import collections
import MeCab
import codecs
import json
from requests_oauthlib import OAuth1Session
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')



基本編はここまでですが、随時応用編で機械学習の自然言語処理などについて紹介させていただければと思います。


ソースコードはYouTubeのコメント欄に記載します。

目次へ戻る

2020年02月28日