「利用者:化学に強い弁護士」の版間の差分
ナビゲーションに移動
検索に移動
→使い方マニュアル: 最新版対応 reCaptureの対応策は不明
>化学に強い弁護士 細編集の要約なし |
>化学に強い弁護士 (→使い方マニュアル: 最新版対応 reCaptureの対応策は不明) |
||
227行目: | 227行目: | ||
この際、Wikiの編集が楽になるようにデバイス→クリップボードの共有を双方向にしておくと後で楽になる。<br> | この際、Wikiの編集が楽になるようにデバイス→クリップボードの共有を双方向にしておくと後で楽になる。<br> | ||
次にPythonのセットアップをする。ここから先はsudoコマンドを多用するので予め権限昇格しておくのも1つ。<br> | 次にPythonのセットアップをする。ここから先はsudoコマンドを多用するので予め権限昇格しておくのも1つ。<br> | ||
Terminal Emulatorを起動し、以下のコマンドを実行する。 | Terminal Emulatorを起動し、以下のコマンドを実行する。 | ||
sudo apt -y install zlib1g-dev libssl-dev libreadline-dev \ | sudo apt -y install zlib1g-dev libssl-dev libreadline-dev \ | ||
libsqlite3-dev libbz2-dev libncurses5-dev libgdbm-dev liblzma-dev \ | libsqlite3-dev libbz2-dev libncurses5-dev libgdbm-dev liblzma-dev \ | ||
244行目: | 244行目: | ||
<!--また、PIPというパッケージのインストール時に使うプログラムも念の為恒心しておく。 | <!--また、PIPというパッケージのインストール時に使うプログラムも念の為恒心しておく。 | ||
sudo pip3.7 install --upgrade pip--> | sudo pip3.7 install --upgrade pip--> | ||
そして追加のライブラリをインストールするためにPIPもインストールする。このコマンドでインストールが可能である。 | |||
sudo apt install pip | |||
ここまで来ればPythonのセットアップは終了した事になる。ちゃんと入っているかどうかは以下のコマンドで確認出来る。 | ここまで来ればPythonのセットアップは終了した事になる。ちゃんと入っているかどうかは以下のコマンドで確認出来る。 | ||
python3 | python3 -V | ||
最新バージョンだと単一環境が云々とのエラーを吐くため、仮想環境<ref>この場合はVMの意味でなく、Pythonの実行環境を指す</ref>を構築する必要がある。Minicondaを用いてもいいが、今回はVirtualenvを利用する。インストールにあたっては以下のコマンドでインストール出来る。 | |||
python3 -m pip install --user virtualenv | |||
インストールが終了したら、まずは仮想環境を構築する。以下のコマンドを実行すると自動で構築される。 | |||
python -m venv venv | |||
仮想環境のアクティベートは次のコマンドで出来る。 | |||
. venv/bin/activate<ref>.の次の半角スペースは必須</ref> | |||
アクティベートが成功した場合、(venv) user@host:~$と表示される。この状態になるとエラーを吐かなくなるため、pipで必要なモジュールをインストールする。以下のコマンドを実行すると全てインストールされる。 | |||
pip install bs4 requests PySocks | |||
そしてmousepad等で上記のスクリプトを適当な場所で保存(念の為拡張子は.pyにするとよい)し、実行する。この時、出力されるファイルは端末のカレントディレクトリに生成されるので注意。(ここまで通しでやってると/usr/local/src/Python-3.x.xに生成される) | そしてmousepad等で上記のスクリプトを適当な場所で保存(念の為拡張子は.pyにするとよい)し、実行する。この時、出力されるファイルは端末のカレントディレクトリに生成されるので注意。(ここまで通しでやってると/usr/local/src/Python-3.x.xに生成される) | ||
python3 | python3 '(保存したスクリプトをフルパスで指定).py' | ||
あとは表示されている通りに実行すればtweet.txtにログが出力される。<br> | あとは表示されている通りに実行すればtweet.txtにログが出力される。<br> | ||
この時、スクリプトに書かれている保存上限に引っかかる事があるので、その時はスクリプトのLimit = 100( | この時、スクリプトに書かれている保存上限に引っかかる事があるので、その時はスクリプトのLimit = 100(190行目)を変更すれば上限値を変更出来る。 | ||
スクリプトの実行手順だが、ここでは降臨ショーを例として使用例を挙げる。<br> | スクリプトの実行手順だが、ここでは降臨ショーを例として使用例を挙げる。<br> | ||
まず、"アカウント名を入れなければない。"と出てきたら"callinshow"(大文字小文字関係無し)と入力(/等は不要)する。次に"検索クエリを入れるナリ。空欄を入れると検索開始ナリ。" | まず、"アカウント名を入れなければない。"と出てきたら"callinshow"(大文字小文字関係無し)と入力(/等は不要)する。次に"検索クエリを入れるナリ。空欄を入れると検索開始ナリ。"と出てきたら全てのツイートを出力するなら空欄で、特定のワード等を含むツイートのみを出力する場合はツイッタハァの検索クエリを入れる。 | ||
ここではツイッタハァの検索クエリは省略するので各自調べてほしい。そして"ここにツイートの本文を入れる!すると・・・・なんと一致するツイートで記録を中断する!(これは本当の仕様です。)ちなみに、空欄だと(Limitの値)件まで終了しない。"と出てきた場合、指定したワードが含まれるツイートか、Limitの値だけ出力すると出力が打ち止めとなる。(Limitの値のほうが優先度は高い) | |||
例えば"仕事していたんですが、大丈夫でした。"と入力すると、最新のツイートから{{Archive|https://twitter.com/CallinShow/status/1373234315077640202|https://archive.ph/bRMz2|このツイート}}が一致するのでここで出力を停止する。出力されたファイルはMediawiki用の構文になっているので後は細かいところを修正したりして掲載する事が出来る。 | |||
エラーが出た場合の対応策だが、http://nitter7bryz3jv7e3uekphigvmoyoem4al3fynerxkj22dmoxoq553qd.onion/CallinShow/with_repliesへの通信失敗ナリと言われた場合はNitterへのアクセスに失敗している事になるため、75行目のNITTER_INSTANCE: Final[str]を変更する必要がある。<br> | |||
まずこのエラーの場合は生きているインスタンスを探す必要があり、この場合はhttps://github.com/zedeus/nitter/wiki/Instancesから探す。この時、URL末尾に/CallinShow/を追加して読み込めるインスタンスが必要になる。 | |||
http://archiveiya74codqgiixo33q62qlrqtkgmcitqx5u2oeqnmn5bpcbiyd.onion/(ツイートのURL)への通信失敗ナリと出た場合、reCaptureで引っかかっているため現状解決策が不明であるためスルーするしか無い。 | |||
なお、仮想環境から抜ける場合はdeactivateで抜けられる。 | |||
=== ガイドラインに出来そうな雑多なメモ === | === ガイドラインに出来そうな雑多なメモ === |