雑記

毎日を楽しく、ポジティブに。

ユニクロ クルーネックT

すごい

今日ユニクロに行ったらクルーネックTを見つけて


これです

f:id:kobushifactory:20210423021732p:plain

f:id:kobushifactory:20210423021819p:plain


生地もいいしシンプル イズ ベストすぎる

790円


皆さん忘れがちだと思うのですが

僕はミニマリストなので

いま服を超整理してて全然ないです


夏はこれだけで過ごそうかな🤒

スクレイピングで情報取得

一応目処がたちました

悩んでいたところに関して


htmlをfindしたときに<><>これの<>の中に入ってるテキストを抽出できない

import reによって文字を検索できるようになる


によって解決し当初想定していたプログラ厶が書けそう


レニウムなりBeautifulSoupなりをインストール、インポート

仮装ブラウザ立ち上げ

driver.get(サイト)

変数 = driver.find_elements_by_class_name()

で変数がリストとなる

この時の変数は400くらいの数ある

リストの中は欲しい情報のページの位置情報


変数が膨大なので繰り返し処理

for ○○ in 先程の変数:

    ○○.click

     変数 = driver.find_element_by_

     変数 = driver.find_element_by_

などと欲しい情報を抜き出して

変数 = 【出てきた変数,出てきた変数】

リストか辞書にまとめ直す


またこの時にdriverの現在のページのurlを取り

Beautifulsoupでhtmlを抜き出し

twitterのサイトurlを抜き出したいので

find(re.compile(href=“twitter

みたいな感じで文字検索できる


変数を.textや.attrsで表示できる

変数を表などに変換する




学んだこと

seleniumはfind_element_

で検索

サイトのどこにその情報があるのかを調べてる

<><>タグの間にテキストが入っていると

.text

で表示できるが、タグの内側に入っていると表示できない


その場合はBeautifulsoupで

htmlを抜き出して

.attrs(href=【】)??

などとしてタグの内側であっても表示できる


Beautifulsoupの場合は

find

find_allまたは

select

メソッド


他に

soup.body.div.a.find

などと階層を下りて指定できる


プログラミング2

本日は

前回のプログラミングは置いときまして

チケットを自動で買うプログラミングをしていました


もちろん実際に使いません

プログラミングの勉強でやってます


とは言っても

マウス(カーソル)の位置を少しずらしてカーソルを合わせてクリックするやり方が分からなく


任意のurlを事前に2個入力しといて

そこにとんで、自動である箇所をクリック

その後またある箇所を探しクリック

購入

というのは自動化できました


あとは

上記に書いたマウスカーソルを動かしてクリックする方法(調べたところActionchainsみたいなもので対応可能?)

あとは何月何日何時になったらここにアクセスしてプログラ厶を実行

というのもいれたい

timeやscheduleを使って出来ると思う


その他には

urlにアクセスして、もし読み込まなかったら(サーバーがダウンしていたら)、何秒置きに再アクセスをする

というのも

if文なりで作りたい




そして

このプログラミングを勉強して書いていたら

前回やっていた情報を取得しまとめる方法も思いつきました

前回つまづいていたポイントは

タグの<><>の間に情報が入っていなくて、情報が取得できないと悩んでいましたが

今回seleniumで位置情報を取得してそこを操作することで思い浮かびました

欲しい情報のtitleとかclassが一致してた気がするので

それをfind_elementsでリストし

1個目から開いて○○して

終わったら2個目開いて○○して

を繰り返させればいいなと思いました


書きなぐりですみません

あるホームページの情報(たくさんある名前と各個人のTwitter情報など)を引っ張り出してリストにまとめようと思って

Beautifulsoupでできるのでは?

となり

requests.get(url)

をしたのですが

どうやらそのサイトはスクロールをしないと全情報が出てこないみたいで


それならばseleniumっていうものでwebブラウザを操作しながらスクレイピングできるらしいとのこと。

seleniumを使ってスクロールをして情報を全部表示するところまでいきました。

ちなみにスクロールは

driver.execute_script(“window.scrollTo(0,10000);“)

という命令らしい

executeは命令するみたいな意味があったと思うので

driverにスクロールするように命令

scrollToのあとの数字でここからここまで

ページを5,6回スクロールしないといけなかったので、heightを10000ってかなり大きく入れてみたら全部表示できた

(後日やってみたらできなかった 1回スクロールしたら、またスクロールする ページの表示がなくなるまで という書き方分からない)


要素を検証してみると

aタグの内側?<a href=”https://“ title=“名前“></a>

となっていて

httpsと名前の情報を抜き出したいんですが

find_elements_by_tag_nameだとタグの内側部分しか取り出せない?

と思われるので何も出てこなく(リストにはって、インスタンス?っていうんですか?はたくさん表示されてるのでaタグは取り出せてる)

find_elements_by_class_name

とかで“title“ってやっても空欄で


httpsと名前の部分をどうやってfindして出力すればいいんだろうと悩んでいます

(find_elementだと要素の最初の1つのみ、find_elementsだと複数要素を抽出できる)



ということで今の状況は

Beautifulsoupだとrequests.getでhtml情報を取得できて、そこから必要な情報を簡単に探せる

ただし、加工したい情報のサイトがスクロールが必要だったため、seleniumでスクロールをしてデータを取得したいが、データの取得の仕方が分からない

requests.get(driver)とかでその時のdriverのhtml情報取れるのかな?やってみます


追記

→できない


driverの現在のhtmlを表示したい

または

sourceをとって

それを加工したい


追記

ドライバーのsourceとる

sourceがテキスト上になってるが

BeautifulSoup使いたいので、parserで加工

htmlparser


そのあとデータに

soupと変数を渡して

soup.body.main.find_all("a")

と階層を指定して、その中からaタグを調べてみると

400のデータのうち、1つを除いて、欲しい情報に共通のデータがあることがわかった



いらない情報 https:// 名前 いらない情報

という感じで400の情報をリスト化できましたが

このリストからいらない情報を一括で消すやり方が分からない


tagの<><>の間にデータを入れてくれてないと、抜き出しが難しい?


人と関わるということ

無職だった僕ですが

最近アルバイトを始めました。


そして感じたこと

人と関わるということは

人間を元気にしてくれる要素もあるということ


人と話す

協力して仕事をする

人を思いやる


そういったことも人間には必要で

人間は1人では生きていけない

コミュニケーションをとることで元気を貰っている生き物なんだなと思いました。


なんか上記のことをいってる説ありませんでした?

人間は○○の生き物である

みたいな


あったよね


なにもしない日々からアルバイトを始めて、そのようなことを思いました。




もひとつ感じてることがあります

運動をしろ

ということです。



運動をしとけば、いくらつまんない1日だったとしても、それだけでなんか満足感生まれる

汗をかいて、筋肉を酷使するって大事だなと思います。

寝る時に腹筋がバキバキキてると嬉しさ感じる。


人間はとどのつまり

寝て起きて飯食ってクソして身体動かして寝る

これの繰り返しで

これが全部出来てれば自律神経がおかしくならないんじゃないでしょうか。


手で洗濯をするということ

みなさんは手で洗濯をしたことがありますか。
私はあります。

今の住居は洗濯機を置くスペースがなかったため、引っ越してくる際に処分をしました。
コインランドリーも500メートルくらいのところにありますが、下着類は手で洗濯をすることが多いです。
(パーカーとかジーンズ等は生地が分厚いですし、手で洗濯も難しく乾きづらいのでコインランドリーで洗っています)

洗濯の風景はこんな感じです。

f:id:kobushifactory:20210409233449j:plain


手洗い場に水を貯めて、洗濯剤と漂白剤を入れて、生地を擦り合わせたり、ジャブジャブとします。

その後水で軽く洗い流し、柔軟剤を加えて、またジャブジャブして、柔軟剤を何回も水で流し、流し終えたところで、手で絞って終わりです。


手洗い場の容量的に、一度にパンツ2枚、シャツ2枚、靴下4組くらいを洗えます。



手で洗濯をするということ

自分で使った下着を自分の手で洗うということ


洗濯機が昭和の三種の神器として台頭し、現代では手で洗濯したことがある人なんてなかなかいないんじゃないでしょうか


自分が使った下着を手で洗うことで

洗濯機を始めとする文明の利器がいかに優れているかを確認できるとともに、物に対する愛着も生まれます。