UNIXの考え方

今日は皆さんに名著UNIXの考え方を紹介するよ!

この本の副題は、哲学。

この本は読んだからと言って直接的にすぐにプログラミングが出来るようになるって訳じゃなく、また何の考えも経験も無い人が読んですぐに考えが変わるってタイプの本でも無いんだ。

どちらかと言うと、既にこの哲学が頭に入ってる人が、自分達の考え方は正しいってことを確かめる為に読む本で、或いはクソみたいな職場でクソみたいなコードをクソみたいな仲間(笑)と延々何かでかいものを作らされてる現状にウンザリした若者が、

「こんなの絶対間違ってる!」

って感情を、その通りだって肯定される為にあるんだ!

大きな視点では、ことごとく上手く現実世界でソフトウェアが誕生するまでの経緯からコケる経緯から安定するまでの経緯を皮肉を交えながら分かりやすく説いていて、

実際にどう作られるべきかという視点では、何種類かの基本的コマンドの動作というところにフォーカスして分かりやすく説いている。ともすれば間違えた考えに流れがちな自分の思考も、これを読み直すことで正しい方向に修正することが出来るんだ!!

【20210824(火)_SSDHDDが認識しない】

この間秋葉原に行った時SSDがすごく安くなってるってことで買いにいきました。

常にPCもスマホも容量不足気味だし買っとこうということで買ったけど使ってなくて、PCに接続したら使えない・・・

よくあることなので通常のトラブル対応方法とかについてまとめようと思いました。

対応方法

ケーブル差して接続した状態で再起動してみる

USBはプラグエンドプレイっていう差したらすぐ使えるんだけど、今回SCSI接続なので基本的には起動時に刺さってないとダメだった気がする。昔からそういうのによくハマったので、とりあえず刺した状態で再起動してみます。

他の差し口に試し直してみる

結局原因は接触不良が一番可能性として多いので、他の口に差してみます。

差す対象のデバイスを変えてみる

PCを変えたら上手いこといくってことは結構あります。

そういうケースがあるので、検証用PCとかは常に用意しておきたいものですね。

PCがデバイスを認識しているか見てみる

コントロールパネル>ハードウェアとサウンド>デバイスとプリンターとかから、デバイス自体が認識されているのか見てみます。

今回の場合、デバイス自体は正常に動作してそうです。

デバイス自体が動作してなかったら、残りはドライバとかフォーマット出来てないとかだと思います。

イベントログメッセージ見て検索する

プロパティからイベントの情報のところを見てそのメッセージ文を検索します。

サイトに記載通りのことをやってみる

例えば今回のケースではPowershellでスキャンコマンドとDISMコマンドが紹介されてたのでやってみました。

復元操作は正常に完了しました。って出ました!

メーカーに問い合わせる

ここまでやっても無理な場合、メーカーに問い合わせます。例えば自分の場合、下記が問合せページなので、自分が調べたことと共に問合せます。

サポート担当も楽だと思います。

メール・FAXでのサポート

(続く)

20210813(金)_GoogleCloudPlatformマニュアル

はじめに

久しぶりにGCP触ると、これ何だっけ?って絶対なるので、メモがてら自分用マニュアルを作成しておこうと思います。

仮想マシン起動と停止

VMインスタンスで、名前の一番右のところから開始/再開、停止等でマシンを起動停止出来ます。たまに間を開けたらあれどこだっけってなるのでついに記載しておくことにしました。

予算とアラート

以前、Firebaseを触って遊んだり決済APIを連携させてみたりした時に月の支払いが3,000円くらい行ったので、やっぱり予算とアラート設定は大事だなって思いました。

ここの画面からやります。

ちなみに、普通にサーバを1つ立てるくらいだと1,000円も行かないので1,000円ストップアラートを設定しています。

1,000円超えたらサーバを落とすのでその月は該当Webページにアクセス出来ません。みたいな仕様にWikipediaもしたらもっと募金集まるのにって皆さんそう思いません?

DNS設定

普段いじらない分、久しぶりに自分のwebサーバにアクセスすると繋がらなくなったりしてとかでしか使わない為、1から調べなおすということを繰り返してます。

大体、DNSサーバの設定なんて、仕事でやってる人以外使わないでしょうし、この種別のAとかCNAMEとかも毎回ググって思い出しての繰り返し。一生覚えられる気がしない為、マニュアルとして記載しておきます。

MXはメール。何故かこれだけは覚えてて忘れないんだよな。何でだろ。

AレコードはAddressレコードで、IPアドレスとun-chain.co.jpを繋げる為の種別らしい。そうだった。

CNAMEレコードはCanonicalNAMEってことで別名らしい。そうだったそうだった。

今、本体のun-chain.co.jpが何故か繋がらなくて、blog.un-chain.co.jpは繋がってる。

ここがややこしいところで、blog.un-chain.co.jpでリクエスト来たものは、white-yoron-7079.lolipop.ioに飛ばしていて、このロリポップのサーバ上にこのブログの実態を置いてるから。

今、それが正しいということを確かめる為には、下記のコマンドを打って状況を確認すれば良い。

返ってきた結果を日本語に纏めると、

・un-chain.co.jpとnslookupすると34.85.46.168に変換される(Aレコード設定が適切)

・www.un-chain.co.jpとnslookupすると 34.85.46.168 に変換される(CNAMEレコードサブドメインwwwの設定が適切)

・blog.un-chain.co.jpとnslookupするとwhite-yoron-7079.lolipop.ioと同じ157.7.190.233に変換される(CNAMEレコードサブドメインblogの設定が適切)

上記、DNS設定が正しいのにも関わらず本体のサーバである34.85.46.168にpingが通らないので、そもそもIPアドレス自体が間違ってるのかなということになる。

GCPより該当サーバにSSH接続しようとすると接続出来ないし、サーバ自体がダメのかもしれない。みたいな結論になる。続く

vue&firebase

ゴールと進捗状況

https://qiita.com/ToshioAkaneya/items/aa1211d73c2d38134e63

全くVueやfirebaseについて知識が無いのもあり、上記「VueとFirebaseで爆速でチャットサービスを作ろう」を完コピで再現してみることをゴールとします。

が、、、本日9/8(日)時点、3時間くらい頑張ったけど、奥が深そうで全然出来ない状況なので、また続きから出来るように、成果をメモしておきます。

node.jsとnpmコマンドについて

Firebaseが何かについては追々理解するとして、とにかくFirebaseCLIを使う必要があるらしいことがわかりました。で、Firebaseでcliを使うには、npmコマンドで・・・ってことでnpmってエラーが出たから、

npmとは?ってことで、node.jsというのをインストールしたら、npmも使えるようになりました。

node.jsが何かについては追々理解するとして・・・。

でも、hello.jsってファイルを作ってconsole.log(“Hello World”);って書いて、node hello.jsってすると、Hello Worldが成功したから、powershell、python、node.jsみたいな感じなんかな。

で、npmはpip的なパッケージ管理ツールみたいに理解しました。

Vue.jsをローカルで動かす

vue.jsが何かについては追々理解するとして、「Vue.js を vue-cli を使ってシンプルにはじめてみる」の記事をみつけた( https://qiita.com/567000/items/dde495d6a8ad1c25fa43 )ので、vue-cliを入れてみることに。早速さっき使えるようになったnpmコマンドで!

npm install -g @vue/cli

# vue create my-project

# npm run serve

ってうつと、ローカルでvueってやつが使えるようになりました。

http://localhost:8080/

Firebase Hostingへデフォルトの状態でデプロイ

Firebaseを使いたかったら、以下のコマンド叩いてね。ってことで、ようやくさっき覚えたnpmでfirebase-toolsをインストール。

npm install -g firebase-tools

で、Firebaseでプロジェクト作っておいて、ログインコマンドをクリック。

# firebase login

紐づけれました。

デプロイする為には、cdで、対象とするディレクトリに移動してから、firebase initコマンドを叩きます。

ここでは、testAppとします。

ややこしくなりそうなので、一旦Hostingのみ選択して、とりあえずinitを通してみました。

デフォルト、publicフォルダに公開用ファイル置くよな?って聞いてくるのでOKして、

そうなるとフォルダ構成的にはこうなります。

testApp

|-  .firebaserc

|- firebase.json

|_ public

で、publicの中のindex.htmlが、WEBから見れるってことになるようです。

では、firebase deployコマンドを叩きます。

無事とりあえずindexファイルは見れました。

Vue&Firebase

ここまでやったことを、上手く合わせれば、Firebase上でvueが使えると思います。

https://cr-vue.mio3io.com/tutorials/firebase.html#%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E8%BF%BD%E5%8A%A0

いきなり上記を元に、チャットアプリを作ってみたいと思います。

ここからがめっちゃ難しそう・・・

■firebaseconfig情報をmain.jsに張り付ける

 firebaseconfig情報は、アプリの設定、全般、画面下部のFirebase SDK snippetの構成欄にあった。

 これを、main.jsに張り付けるっぽい。続く

ライフナビゲートアプリ_全体イメージ

2019/08/11(日)~20(火)の10日間での、夏休み自由研究ライフナビゲートアプリ記事です。

既に17(土)ということでもう終盤なので、そろそろまとめに入る段階だと思ってます。

この記事では「現時点でやって出来たこと」「現時点でやったけど出来なかったこと」「現時点で無理そうって思ってること」「現時点で時間の許す限りやりたいこと」を書いて自分なりに整理していく為の中間記事的位置づけです。

まず、ライフナビゲートアプリの全体像は、以下の通りです。パワポで30分で作ったので、すごい雑ですが、まあ最後に雑なのをどうにかするかどうかは別として、こんな感じです。

で、自分が今回やってることは、上記のような「設計」。それから技術的に可能かどうかと可能な場合どうすれば可能かの「技術的検証」です。

改めてこの自由研究期間が終わったくらいには、今回の成果発表って形で改めてブログ記事にするので、8/17(土)時点での成果としてはこんな感じです。

成果中間発表

現時点でやって出来たこと

✅ pythonの基礎理解。クラス、型、命名規則等。

✅ pythonのCSV・json・mongoDB In/Out処理

✅ mecabテキスト解析処理

✅ TweepyAPIを用いての自動フォロー処理

✅ TweepyAPIを用いてのユーザー情報・ユーザーツイート情報取得処理

✅ ライフナビゲートアプリ全体イメージ図作成

現時点でやって出来なかったこと

⚠️ pythonで有名なpandas。←要慣れ

⚠️ mecabを使い倒す←要自然言語処理のアイデアと時間

⚠️ chatbotアプリのIFROを使う←要API認証情報。

現時点で時間の許す限りやりたいこと

🔘 chatbotをLineで登録。In/Out処理

🔘 chatbotでのシナリオをまとめる

🔘 現時点でやって出来たことをわかりやすくまとめてWEBに公開する

🔘 AIの基礎理解と動作させる

現時点で無理そうって思ってること

🆘 AIを使いこなす ←多分時間的に難しそう

🆘 アンドロイドでチャットボットを使う ←そもそもアンドロイド持ってない

🆘 音声データの利用 ←多分時間的に難しそう

TwitterAPIを使ってFollower増加とAI勉強したい

【はじめに】

ようやくお盆休みに突入しました。って、8月まだ1日も働いて無いんですが。笑 26日からちゃんと働けるかなー。

どうでもいいですが、なう8/12(月)、実家に帰ってきています。

これまでpythonを少し勉強したものの、まとまって何かアプリを作ったり出来た訳じゃないので、折角なので、集中して1つのアプリを作ってみようと思います。

最近Twitterのフォロワーを増やそうとしてるのと、APIの機能が充実してるのと、取得出来るデータが充実してることと、参考文献や参考URLが充実してることより、TwitterAPIを使って何か即席でアプリを作ってみることにしました。

【ゴール】

①pythonと、大量データの解析と、AIの触りの部分まで広く浅く触れて、誰かと今後エンジニアトークになった時「あー。それやったことあるよ。」ってさらっと言いたいです。笑

②単純にフォロワーが沢山欲しくなりました。

【簡易設計】

いくつかの、特化したクラスを作ります。それぞれの仕事は、下記のような感じにしたいです。

今、FollowFromQueryだけは何とか作れたので、手当たり次第にQuery(検索用単語)でマッチした人をFollowしてる感じです。ワンクリックで100件フォローが出来るのですが、今フォロー707件に対してフォロワー143件です。10万人くらいフォロワーさん欲しいです。

■FollowFromQuery

指定したQueryでツイートを検索し、手当たり次第にFollowする。

UserID・QueryをCSVデータに吐き出す。

■CreateUserData

FollowFromQueryで吐き出されたベースとなるCSVデータのUserIDより、出来る限り沢山の情報を取得する。

基本的に取得出来る情報(ユーザ名、自己紹介文等、フォロー数等)より、ユーザーの基本属性を作成し、JSONデータに吐き出す。または直接MongoDBにデータを投入する。

■AnalyzeDetailData

1人のユーザのツイートの過去6ヵ月分を取得。JSONデータをデータベースに投入。ユーザのツイートより、ユーザーの住んでいる場所、仕事、SNSアカウントへのリンク、年齢、人間かBotか、写真を分析する。

例えば、mecabで形態素解析といったことを実施し、上手く判定したい。似たツイートでBot判定する等、上手く実施していきたい。ここで、分析について機械学習をして、精度を高めていきたい。

また、人間をどういうタイプか性格判定を実施する等も実施したい。

■AdjustFollower

フォロー数が、フォロワー数よりも多い場合、フォロバは返ってきにくくなるって聞いて、確かに自分もそうだなって思ってます。

AdjustFollowerは、フォローをしたがフォロバが返ってきていない人について、ユーザーの基本属性情報を元にフォローを外すがどうか吟味します。1度フォローを外した場合、再びフォローしないようにBlackListに格納します。

また、自分がBlockされていることも、ユーザーにアクセスをすることで知ります。

🤖脱!病み期テクノロジーを考えるアイディアソン🤖

東工大Attic Lab様と株式会社メンヘラテクノロジー様主催の🤖脱!病み期テクノロジーを考えるアイディアソン🤖に参加しました!

感想としては、めちゃめちゃ面白かったです!!!せっかくなので本ブログでレポートしたいとおもいます。

そもそもこのイベントは元々知ってた訳では無く「何か面白いイベント無いかな~」ってことでWantedlyでイベントを探していたところ偶然見つけパンチが聞きすぎたネーミングの企業名・イベントに興味を持ち、2~3日悩んだあげく(笑)、勇気を出して申し込みました。

東京工業大学キャンパス内、迷いに迷ってようやく時間ピッタシに会場に到着。

6班に分かれ、班に分かれてみんなでアイデアを出し合うという流れでした。現役大学生の方から、社会人の方も多くおり、いい感じにミックスされてたので浮かなくて良かったです。

テーマは「脱!病み期テクノロジー」ということで、メンタルがヘラりがちな時にITを用いたサービスで乗り越えれるようなサービスを考えようというものです。

弊社オフィシャルブログ「わ た し を み つ け て」の名称からもお察しの通り、自分も絵に描いたようなメンヘラ・・・では無くメンヘラ芸人としてやってるので、今回のイベントは正に自分の分野だと思いました。

自分は3班でしたが、皆さん優しくてサービスを考える過程から超盛り上がりました。

■3班のみんなで考えたサービス内容

3班のみんなで考えた内容としては、男は皆恋愛をするとメンヘラになりがちというところから、自分だけの恋愛アドバイザーAIに恋愛のアドバイスをしてもらうアプリという方向で考えました。

まず、セットアップのInputデータとして、自分のLineデータやツイッター、Facebook、ブログ、といったデータを全部AIに情報として渡します。それから、このアプリは好きな人がいるところからのスタートを想定しているので、好きな相手の情報(LINEとかのやりとり等、出来る限り)もAIに与えます。

そうしてAIから親友のように恋愛アドバイスをもらうというものです。貰えるアドバイスも、関係性のステージ(相手を知ってからすぐの状態、初デートまで、デート後、付き合った後、倦怠期、プロポーズまで、結婚後)と、別れかけ等のクライシス期にも、適切なアドバイスをしてくれる想定です。

■アイデアを出しやすくする為の工夫

企画の方々がすごいなって感じたのは、アイデアを出しやすくする為の進め方の工夫です。

アイデアを出す時間、広げる時間、まとめる時間、発表の時間等、具体的に時間毎にやることが決められてたのと、ホワイトボードや付箋も班ごとに用意されてる点等、上手に設計されてるなと驚きました。

どの班も、すごく盛り上がってアイデアを考えていました。

3班、パワポを一瞬で作成するのとプレゼンがすごい上手い方がいて、発表も大成功!!メンターと呼ばれる、企業の方々からも良いフィードバックを頂けました!!!

また、他の班の発表もどれもユニークで、面白かったです。自分が考えつかないアイデアを聞くことで示唆を貰えました。

参加していながらも映画を見てるみたいで、時間があっという間に過ぎました!!!

■成果:モチベーションが上がった

しかし、これは実際に技術的には実現可能なんだろうか?ってことを考えたら、久しぶりにすごく技術的なことで手を動かしたい欲求が沸いてきました。

8月は後半まで実家に帰っていて時間があるので、このアイディアソンをきっかけというかスタートとして、時間の許す限り技術的な検証・設計をしてみたいと思います。で、夏休みの自由研究みたいな感じで随時、このブログで進捗を発表していきたいと思います。

■最後に

らんらんさん始め、メンターの方々、スタッフの方々、仲良くして頂いた班の方々、参加者の皆さま、本当にありがとうございました。

個人的に、何でもお手伝い出来ることがあればお手伝いしたいと考えてますので、これからも是非とも仲良くして頂けましたら幸いです 😌

IT系会社以外でITを使って何が出来るか?

今の現場は、めちゃくちゃレベルが高い集団の集まりだ。もうすぐ1ヵ月だけど、無駄にした日は1日も無い。

昨日、一つ課題が与えられた。明日までに「IT系会社以外でITを使って何が出来るか?」をプレゼンすること。

期限が今日までってのがまたスピーディ。という訳で考えながらブログ書きます。

まず、ネットワークとかインフラとかセキュリティとかって言葉は絶対使わない方が良いよね。そんなのは、当たり前にあるものなんだし。いや、例えばIT系会社以外を「飲食店」に絞って考えてみよう。

■WEB系

既存のサイトの更新、メンテナンス、既存ベンダーとの折衝、障害対応。

■PC・デバイス系

PC・デバイス選定、セットアップ、障害対応。

■運用・IT事務系

業務マニュアル作成、業務フロー作成、IT事務全般(Excel,Word,Powerpoint,Adobe CC)、IT事務作業自動化。

■インフラネットワーク系

既存環境の障害対応全般、小規模ネットワーク構築、回線事業者選定、ドメイン取得代行、クラウド環境構築、ネットワーク権限管理、バックアップ運用設計、メールサーバ設定、コラボレーションツール選定。

■リサーチ系

競合調査(ネット分析)、ネット情報調査(書き込み等)、各種統計分析、レポーティング。

ADHDでも分かりやすいマニュアル

これまで様々な現場を体験してきたボトムアップコンサルタントの私ですが、現場のリーダーの方からヒアリングすると「部下たちは本当ミスが多いんだよねー。本当、今流行りのADHDじゃないけどさ。もっとちゃんとチェックしろって言うの!」という声を聞きます。そして、そんな現場程「読みやすいマニュアル」が整備されていないように思います。

ダメなマニュアルで運用されている例と、こうすべき論を挙げると・・・

1. まずどの工程で使われて何をする為のマニュアルなのかがわからない
 →概要や目的を入れるべき
2. 用語の意味が不鮮明
 →最初から略語にするのでは無く一度目は正式名称とすべき
3. クリティカルなポイントでワンオペが前提となっている
 →人間自体がエラーを起こす生き物なのでクリティカルなポイントではダブルチェックをすべき
4. 「どこ」で作業を実施すれば良いのかが不明
 →ディレクトリやファイルのパスを具体的に書くべき
5. 例と例でない境が不明なので「書いてある通り」にやったら大変なことになる
 →例なら例としてわかるように書くべき

6. 担当者による作業の実施漏れが後日判明した
 →工程毎または全作業完了後に作業完了確認の手順を含むべき

7. 担当者による「打ち間違え」によるオペレーションミスが後日判明した
 →オペミスが起こるリスクのある箇所は自動化すべき。自動化出来ない箇所はダブルチェックをすべき

8. 担当者による「全然別のボタンを押してしまった」によるオペレーションミスが発生した
 →そうなりそうな箇所は図を入れるべき
9. 上手くいったと聞いてたのに監査から本サーバに入ってたユーザがいますと怒られた
 →ログオフやexitまでを手順に含むべき
10. 完了報告を待ってたのにまた担当者が報告してくれなかった
 →報告までを手順に含むべき

もし、上記のようなマニュアルで運用されているのであれば、マニュアルだけでなく、作業プロセスから1から見直した方が良いです。
というのも、マニュアルというのは無駄なプロセスが省かれた結果の最短手順であるべきだからです。
上記のようなマニュアルで運用されている現場の場合、誰も「何故それをやっているのか?」を説明出来ないのにも関わらず、何故か運用が回っているというケースが多いです。

「今そんな現場にいる場合、一体どうすれば良いか?」

という改善方法はまた別の記事に譲るとして、ここでは、実際に私が作成した読みやすいマニュアルを例に挙げることで本記事を締めさせて頂きます。

なお、下記マニュアルの前提についてお話しすると、弊社のホームページはGoogleCloudPlatformというクラウドサービス上で運用されているのですが、Dreamweaverというホームページ作成ソフトで作成したhtmlファイル等のWEBコンテンツを、ローカルからサーバにアップロードするまでの具体的手順となります。
マニュアルにはダブルチェック担当者や現場責任者や別担当者がいるようなものになっていますが、そんな人はいません。笑


【概要】

 本手順書は、ローカルサーバ上でWEBコンテンツを修正した後本サーバに修正したファイルをアップロードする為の手順書です。
 GoogleCloudPlatform(以下GCP)にブラウザ経由でアクセスし、本サーバにブラウザからSSH経由でアクセスし、本サーバのWEBコンテンツ格納ディレクトリにファイルを配置するまでの手順を記載しています。

【作業に必要な人員】

 作業担当者とダブルチェック担当者の計2名。
 (※本サーバでの作業が一部発生する為、目検でのダブルチェックを必須とします。)

【ファイルパス】

 ◎ローカルサーバのWEBコンテンツディレクトリ
  ”C:\Users\hiroya\Documents\Un-ChainHP”

 ◎GCPのダッシュボードページ
  ”https://console.cloud.google.com/home/dashboard?project=concrete-flight-xxxxxx”

 ◎本サーバのWEBコンテンツディレクトリ
  ”/usr/share/nginx/html”

【手順】

[①GCPより本サーバにログインする]

 ■1. ブラウザを開いてGCPのダッシュボードページにアクセスする
  ”https://console.cloud.google.com/home/dashboard?project=concrete-flight-xxxxxx”

 ■2. SSHマークをクリックしてブラウザ経由で接続する
  Compute Engine > VMインスタンス > 接続列のSSHマークを順にクリック

[②歯車マークをクリックしてファイルを1つずつアップロードする]

 ■1. インスタンスにログイン後右上の歯車マークをクリック

 
 ■2. アップロードしたいファイルを選択する

 ■3. ファイルがアップロードされたことを確認する

  # ls

[③本サーバのWEBコンテンツディレクトリに配置する]

 ■1. ファイルを移動させるコマンドを打ってファイルを移動させる
  ※必ずコマンド実行する前に別担当者にダブルチェックを依頼すること!
  ※ダブルチェック担当者は「読み上げダブルチェック」を実施すること!

   例)index.htmlをWEBコンテンツディレクトリ直下に移動させる場合のコマンド
    # sudo mv index.html /usr/share/nginx/html/index.html

 ■2. ファイルが更新されたことをタイムスタンプで確認する

  # ll /usr/share/nginx/html/index.html

[④本サーバ・ブラウザから抜ける]

 ■1. 本サーバからログオフする

  # exit

 ■2. GCPの画面を開いている状態でブラウザ右上の×ボタンを押してブラウザを閉じる
  ※続けて別担当者が作業をする場合があるので、ログアウトはしないこと!

[⑤本作業責任者へ報告を実施する]

 ■1. 本作業の責任者に作業完了の旨メールを送信する

 ■2. 本作業の責任者に作業完了の旨口頭報告する
  ※離席しているようであれば席に付箋を残しておく。


いかがでしたでしょうか。この作業を実施されたことが無い方でも、このマニュアルであればやりやすそうだ!と感じていただけたのでは無いでしょうか。

python学習備忘録 Selenium

今日も、python学習をしたよ!(学習時間1.5h)Seleniumを使って、とりあえずgoogleでボタンを押すところまで。

リンク集に挙げてるページがすごくわかりやすかったですので良ければ参考にして下さい。

後、こういう作業をする時は、エディタは使わない方が良いような気がしました。Powershellを立ち上げて、pythonコマンドを打つと、対話モードになるので、そっから、直に1行ずつ打ち込んだ方が、理解が深まる気がしました。

これはサンプルコードをそのままコピペしたんですが、実際、サイト毎に要素を分析したりするの、面倒なんだろうなぁ~。

「URL」と「ID」と「パスワード」と「欲しいデータ」と「欲しいデータを取得する為に必要な既にわかってる情報(出来るだけ多い方がすぐに正解に辿り着く)」だけ引数に入れたら、頑張って要素とかは手当たり次第に試して目当てのものを自動的に収集してくれる系の関数を作りたい。そうして、そんな関数が出来たらNaughtySlaveに追加したいと考えています。

リンク集

Python + Selenium で Chrome の自動操作を一通り