tsukihi blog【雑学クエスト】

知っていると役に立つ情報をお届けします。

知っていると役立つ情報お届けします!

【プログラム】Python「Jupyter Notebookで遊んでみた!」

こんにちは!tsukihiです。

ランダムモジュールを使用して、名前を入力するとランダムでチートな才能を頂けるプログラムを作ってみました。

ごめんなさい・・・なんの役にも立ちません・・・

自己満足で自走した、ただそれだけです。

画像3

① ランダムモジュールをインポートする。

import random

特に何も難しいことはなかったんですが「import」と「input」って似てるから
間違えてエラートラップに引っ掛かりますのでご注意を!

② 結果をリスト化

import random 

result = ["驚異的な計算・思考能力が目覚める(予測演算)",
 "爪で触れたものを両断する(赤い切り裂き魔)", 
"視線を合致させた者の心底がわかる(掌握者)",
"自身が出す情報を無効化しステルス状態となる(観察者)",
"どんな外傷を負っても自己再生できる(不死の兵)",
"どんな分野の才能であっても会得できる(万能器)",
"実在する武器を召喚し、最高練度で使用できる(英雄の証)",
"予言書に浮き出る文字で未来を知る(予言者)",
"自身から滲む黒い波で覆った対象を武器として操作できる(万象儀)"]

resultは結果の意味、それをイコールでつないでリストを作成。
文字列の間はカンマで区切る。

③ 結果をランダムに決定する

import random 

result = ["驚異的な計算・思考能力が目覚める(予測演算)",
 "爪で触れたものを両断する(赤い切り裂き魔)", 
"視線を合致させた者の心底がわかる(掌握者)",
"自身が出す情報を無効化しステルス状態となる(観察者)",
"どんな外傷を負っても自己再生できる(不死の兵)",
"どんな分野の才能であっても会得できる(万能器)",
"実在する武器を召喚し、最高練度で使用できる(英雄の証)",
"予言書に浮き出る文字で未来を知る(予言者)",
"自身から滲む黒い波で覆った対象を武器として操作できる(万象儀)"]

talent = random.choice(result)

ランダムモジュールは、リストからランダムに結果を取得するという意味。
pythonのモジュールとは、プログラムを書いていくうえでの構文セットのようなものだから、え~っと工具がいっぱい入った道具箱です、はいっ!
それをまとめてモジュールとしてインポートすることで、結果を簡単にリストから取得できる。

④ 名前の入力を求める

import random 

result = ["驚異的な計算・思考能力が目覚める(予測演算)",
 "爪で触れたものを両断する(赤い切り裂き魔)", 
"視線を合致させた者の心底がわかる(掌握者)",
"自身が出す情報を無効化しステルス状態となる(観察者)",
"どんな外傷を負っても自己再生できる(不死の兵)",
"どんな分野の才能であっても会得できる(万能器)",
"実在する武器を召喚し、最高練度で使用できる(英雄の証)",
"予言書に浮き出る文字で未来を知る(予言者)",
"自身から滲む黒い波で覆った対象を武器として操作できる(万象儀)"]

talent = random.choice(result)

name = input("廻り者よ、力が欲しくば、名を入力しろ!" + "  ")

print(name + "  " "お前の才能は・・・" + talent + "だ!")

名前の入力を求めるコードを記述。
ネームをイコールでつないでインプット丸括弧、文字列なのでダブルクォーテーションで囲って好きなことを書く。
名前出ることろにスペース入れてみた。

キャプチャ.PNG1

⑤ 結果を出力

いつも通りプリント文で丸括弧、今回のコードだと変数と取得された名前とか取得された才能と文字列をつなげて記述する。

まず、ネーム(名前)プラスで全部つなぐ(結合する)文字列で記述、またプラスでつないでtalent変数と文字列つなぐ。

キャプチャ.PNG2

上部タブの「Run」で実行する。
3回くらい繰り返すと、もういいやってなります!

ご覧いただきありがとうございました!!

それではまたお会いしましょう!

 

あなた

職業:雑学者Lv3

スキル:清潔(Lv1)習得

スキル:プログラム(Lv2)習得

 

知力:3  力:1

体力:1  防御:1

 

【プログラム】Python「Google Colaboratoryでスクレイピングしてみた!」

こんにちは!tsukihiです。

GoogleColaboratoryとPythonを使って簡単なWebスクレイピングのプログラムを作りました。 使用しているライブラリはRequestsとBeautiful Soup4です。

かなりの時間を費やしましたが、スクレイピングの基本的な構造を理解するためのアウトプット(自己満足)です。
初学者なので、あまり参考にはならないと思います…

スクレイピングとは?

スクレイピングとは、WEBサイトから自動的にテキスト情報を摘出する技術。
毎回手動でデータを引っ張ってくるのは非常に面倒であるためスクレイピングを使って自動でデータを引っ張ってくることが多い。
応用範囲が広い技術で、様々な場面で用いられているし応用も可能。

例えばスクレイピングを使うことで株価の情報を日々抽出して自動売買するなど応用ができる。

技術的にはPythonとHTMLの基礎知識があれば問題ない

スクレイピング自体はPythonの「Requests」「beautifulsoup」「selenium」というライブラリを使えば簡単に実装できる。

スクレイピング後のデータに関しても、Pythonを用いて解析を行うことが可能、簡単に実装可能ですが、Pythonの技術は必要。

またHTMLの基本的な構造に関して理解しておく必要があります。
HTMLでは、headタグやbodyタグなど様々なタグを用いて階層構造をとります。

そのタグの中にidやクラスを記述することで様々な表現が可能になります。
そのid・タグ・クラスを指定してスクレイピングを行うため、HTMLを理解しておくことが大事です。

HTMLをコーディングするわけではないため、技術はそれほど必要ないが、ソースを読んで理解できるレベルの知識が必要ってことなのか。う~ん

スクレイピングの注意点

1つ目は、スクレイピングが禁止されていないか確認する事。
便利な技術だけに悪用される可能性もある。
そのため、WEBサイトによってはスクレイピングを禁止している場合があります。

2つ目は、スクレイピングによって負荷をかけないようにする。
スクレイピングを頻繁に行うと、サーバーに負荷をかけることになります。
そのため頻繁にリクエストを送らないようにスリープメソッドを使用してリクエストの時間を空けるようにしないとダメ!!

③ 自動書記(ヨハネのペン)を作ってみる

Colaboratoryをはじめて使ってみた!これはすごい!
詳しい使用方法は、検索したら沢山出てきます。
エンジニアさんは、検索能力も必要だと書いてありました。
※初学者は規則だけは遵守する。

④ ライブラリのインポート

Requests
HTTP通信ライブラリ
webページから情報や画像を簡単に取得できる
Beautiful Soup4
HTML・CSSを解析、抽出する
sleepメソッド
サーバーに負荷をかけてはいけないのでインポート
よくわかってないので、手当たり次第に使用
※初学者は規則だけは遵守する。

⑤ コード書いてみる(1)

スクレイピング リクエストpip

初めにこれをインストールしないとダメでした…
エラーと格闘すること数時間…

スクレイピング インポート

次にこれです、サーバーに負荷がかかるので
sleep入れないとダメって色々なサイトに記載がありました。
beautifuSoupはColaboratoryに標準搭載なので、インポートだけでOKです!
これで使えるようになってます。
本当かよ?って思いますが、実際に動かすと構文がバァン!と出てきます。

⑥ コードを書いて見る(2)

スクレイピング body

webページから情報を抜き出す。
url=は抜き出し先のURLを指定する。
req=はRequestを使って指定したWebページのデータを抜き出す。
date=はBeautifulSoup4を使って複雑な構造のHTMLデータを解析する。
index=はBeautifulSoup4で目印を元に抽出するはずなんですが、print関数でも表示されない(選択したサイトが適合してないのかな?)なので共にコメントアウトしてきました。
listtext=は、当初「listtext = index.gettext()」だったんですが、アトリビュートがなんちゃらかんちゃらエラーが発生して悩みました…あ~もうっ!!!
indexをsoupに変えたら蘇りました!奇跡です。

選定したサイトによって実行できる、できないが変わってくるので1日かけて色々調べてやっとできました。
HTMLの知識がないとコードの意味を理解できないので苦戦しました。
初学者はHTML・CSSから入ったらダメって記事がたくさんあったからPython学習してるのにさぁ~

あっ!sleepも使いどころが不明だったので、ここだなって思う所に勘で入れときました、エラーは出てませんのでOK!

⑦ txtファイルへ書き出す

txtへ書き出す

file = に、一つ目の引数には、書き出すテキストファイルのパスを記述。
2つ目の引数には、writeのwを指定する。

これで書き出すテキストファイルが存在しないときは新規作成、存在するときは上書きされる。

file.writeメソッドでテキストの中身をテキストに書き込みます。
最後にfile.closeメソッドでファイル操作を終了します。

⑧ 完成したらこんな感じでした

全体note用

実際にやって動かなくても試行錯誤してみてください!

ご覧いただきありがとうございました。

それではまたお会いしましょう!

 

あなた

職業:雑学者Lv2

スキル:清潔(Lv1)習得

スキル:プログラム(Lv1)習得

 

知力:2  力:1

体力:1  防御:1

 

 

【検証】シャワーを浴びるのは正しいのか?正しくないのか?

みなさん、こんにちは!tsukihiです。

 

今回は、シャワーを浴びることは正しいのか、正しくないのかについて解説していきます。

 

 

①【シャワー大事!】

私たちは、毎日シャワーやお風呂に浸かって 、身体を洗ったり、シャンプーで頭を洗ったり清潔に保っていますがたまにスーパーとかで買い物していると

 

「髪ベトベトやん…」

 

って人とか見かけると、正直引いてしまいますよね…?

思い当たる人必見です!

 

今回は、シャワーを浴びなかったらどうなるのか?について

解き明かしていきましょう!

 

 

②【まず、単刀直入に言います…】

1日でも身体を洗わないと、異臭が発生し始めます。

当たり前です!毎日のように「熱中症アラート」が出てるくらいなのに、汗かかない人なんていないし…

なので石鹸と水を使い、シャワーやお風呂で、肌にこびりついたバクテリアや死んだ皮膚細胞を取り除いています。

 

ですが…

 

身体を洗わなくなるとこれらが積み重なってしまいます。

そこに汗や皮脂が混ざり合うことで、酸化、分解されて

悪臭が発生するのです。

 

健康面についても知っておきましょう。

まず、フケが増え、肌は皮脂でベトつくことで汚れが付着し、痒くなります。

 

そんな肌をかきむしることで、皮膚に付着したあらゆる種類の細菌が、ひっかき傷の中に入り込み感染症になるリスクを高めます。

 

また、ニキビや、水虫、発疹の発生だけでなく、プライベートな部分も炎症を起こす可能性があります。

 

これはマジで怖いですね…

書いてる私もなんだかムズ痒くなってきました。

 

 

③【シャワーのデメリット】

時間がないから、めんどくさいからという理由でシャワーだけで済ませる人もデメリットがあります。

 

それはシャワーを浴びすぎても良くないからです。

 

実は、長い間、熱いシャワーを浴びていると刺激が強すぎて、 肌が乾燥しやすくなってしまいます。

 

乾燥する⇒痒いから掻くのループで感染症という最悪の事態を招くかもしれませんし、皮膚をゴシゴシと洗うことで免疫力を高める細菌までもが除去されるかもしれません。

 

ワシントン大学の皮膚科教授のお話では、 シャワーを浴びる時は「脇の下や鼠径部」そして「お尻」など臭いがする部分だけを洗えばいいと語っています。

鼠径部(そけいぶ)とは、そう「コマネチ」をする時に両手でなぞる太もものラインのことですね。

ですが、これには反論があります大事な部分を忘れているでしょう!

みんな「背中痒くなるはずだよ!」

 

 

④【結論です…】

最後に余談ですが、健康面で言えば、1週間に約2回のシャワーで十分だと言われているそうです。

健康を取るか?周囲からの冷たい視線を取るか?の究極の2択ですね!

まぁ綺麗過ぎず、汚すぎずってことでしょうか。

 

それではまたお会いしましょう!

 

あなた

職業:雑学者Lv1

スキル:清潔(Lv1)習得

 

知力:1  力:1

体力:1  防御:1

 

tsukihi (id:tsukihi999) 知ってると役に立つ情報発信ブログです。 幅広いジャンルや興味のあること(ブログ運営)を 中心に有益な情報発信をしています。 レビュー依頼・ご質問などは、 お気軽にお問い合わせフォームまで。