2017年12月17日日曜日

python勉強していてhtml.parserってなんやねん?

プログラミングの言語って割とどれでも一緒な気がするんですよ。あくまで何もわかってない素人の戯言ですが。

でも・・・

html.parser


これ初めて見たんですよね・・・まあ他にも結構見慣れない文字が多くてすでに前言が危うくなってるんですが(笑)

ぐぐったらこの人pythonを使用してのスクレイピングの記事も書いていたんですね?というかめっちゃ最近の記事なのである意味自分にはラッキーでした(笑)
ちょっと前に勉強開始していたらこの人の記事にたどり着けませんでしたものね。

エクセルのVBAでスクレイピングをぐぐると一番最初くらいに出てくる記事を書いている人なんですが、流石それだけあってすごく初心者にもまったくプログラミング経験がない人にでもわかるくらいの平易な表現でものすごく分かりやすく解説してくれています。

そのpython版の記事も書いているようでこの度発見しました(笑)



BeautifulSoupオブジェクトを生成する
Beautiful Soupモジュールを使ってHTMLを解析するためには、まずHTML文字列からBeautifulSoupオブジェクトを生成します。
書式は以下の通りです。

bs4.BeautifulSoup(HTML文字列, パーサー)


パーサーというのはパースをするやつ、つまり解析をするための機能のことで、ここで好みのパーサーを指定できます。
html5libやlxmlなど、いくつか種類がありますが、使用する場合は別のモジュールのインポートが必要になります。ひとまず、困ることが出てくるまでは、Pythonに標準で付属している「html.parser」を指定しておきます。
引用させていただくとこんな感じだそうです。

HTML解析するためにBeautifulSoupオブジェクトとしてぶっこめばいろいろいじれる。
そのおまじないの文言なんですね。

プログラム風に書いておくなら

変数=bs4.BeautifulSoup("https://www.yahoo.co.jp/", "html.parser")
みたいな?

あとついでに出てきた興味深いページのリンクを貼っておこう。いつかみれるといいのだが。
ブラウザの仕組み: 最新ウェブブラウザの内部構造

python勉強メモ日付や時間を表示したい時

import datetime

pythonの機能を使うには上記のようにインポートしないとダメみたいです。

import datetime
today=datetime.date.today()
todaydateil=datetime.datetime.today()
print(todaydateil)
print(today)
print(today.year)
print(today.month)
print(today.day)
print(todaydateil.year)
print(todaydateil.month)
print(todaydateil.day)
print(todaydateil.hour)
print(todaydateil.minute)
print(todaydateil.second)

print(todaydateil.microsecond)

上のコピペしてくれたらそのまま動くはずです。

日付を増減する
import datetime

today=datetime.datetime.today()
print(today)
today=today+datetime.timedelta(days=1)
print(today)

timedelta(days=1)の部分は1日増加するって意味みたいです。時間の増減をしたければ

(days=1)のところをhours=増減したい数字にします。

一つ初心者に余計な事言わない方がいいかもしれないけど自分用備忘録

上のコードで一度todayにプラスしたものを入れ直してますけど直接やった時に

TypeError: unsupported operand type(s) for +:

型が違うから計算できないという意味のエラーが出ました。

つまり一度入れ直してるのは型変換してます。


pythonの勉強って初心者殺しやん

いやあ、インストールから苦労しました・・・・。
python自体のインスコはスムーズだったのですが、環境変数の設定してそのあとBeautifulSoupをインスコする前提のPipってやつだったかな、ウィンドウズ7ってなんか知らんけどCドライブ?プログラムファイルフォルダ?にインスコすると管理者権限とかそういうので動作やインスコが上手く行かない事多いんですよね。今回まさにそれで一度アンインスコしてからインスコし直しました。

したら今度はpython用のフォルダ作ってなかったから外付けドライブの直下にバラバラで入っちゃってもう最悪(笑)まあいいです、普段使いで学習する分には問題ないです。

それでBeautifulSoupもインスコ出来たしさあ、勉強しようと思って以前からたまにお世話になっているドットインスクールを観ていたら・・・pythonの講座最初のいくつかだけ無料公開であとは有料会員にならないと観れない!?
え~、ついにドットインスクールもそんなしわい感じになってきましたか・・・。

じゃあ他のところって探してもめぼしいのが無いんですよねえ・・・。
僕は辞書みたいに淡々とある講座って好きじゃないというかああいうのはある程度マスターしてから不明な点が出てきたら逐一確認していくというケースでは有用だけどまったく右も左もわかりませんって初心者には向いてないと思います。

それでもなんとかやってみて・・・
プログラム初心者の人にアドバイス僭越ながらするとソースコードは自分で入力しない方がいいですよ。コピペでいいです。プログラムってちょっとした本当に些細な間違いでもうんともすんとも言わずそれで挫折する確率かなりあると思います。
昔に比べればユーザーサポート、入力支援もかなり充実してきていると思いますが初心者の頃はもう恐怖心の塊ですしね。

で、コピペ相変わらず僕もするんですが・・・・

動かない!!!!!!!!!!!!!!!!

30分くらい格闘して気付きました。

僕がインスコしたpythonはバージョン4でネット上にある講座の類はそれ以前のバージョンのものなんですね。

記述の仕方が変わっていてコピペして実行しても動かない(笑)

こんなひどい環境はないわ、これじゃあ本などを買って勉強しようにも初心者は殺されますよ。

まあ僕はちょっとだけプログラムをいじってきた経験があるのででも本当にちょっとなので苦労した末それに気づいてかなり時間を無駄にしました(笑)

でもスクレイピングでぐぐったらpython出てきたのだけど本当に簡単な記述で出来るみたいなのでまだ好奇心は尽きてないです。




2017年12月13日水曜日

なぜかpython勉強しようかと思ったらpipとBeautiful Soupってので躓いて環境変数をぐぐる羽目になった



環境変数って確か昔も引っかかった記憶があるけどまったく覚えてない・・・・・・。

どうやらそのOSが使える変数――という意味だろうか。
きっと日本語に翻訳したのがすごくわかりづらいイメージしづらい単語になっちゃってるんだろう。

よくわからんが環境変数Pathの設定とかいうのは・・・・・・
その変数にパスの文字列が入ってるっていう事とでも思っておくか。
名前の通り変数pathにそのプログラムのフルパスが入っていて他のプログラムとかがそのパスを利用していろいろ参照したりするのかな。

間違っているかもしれないがとりあえずこう理解しておく。
勉強する時は何でも「適当」に理解しておくことが大事だと思っている。
「厳密」に「正確」にいちいち理解していったらちっとも進まないし疲れちゃって投げ出すのが落ちだ。

ある種のイメージさえ持てたらそれでいい。それがはまらなくなったらその時に変更すれば充分だ。

コントロールパネル→システム→システムの詳細設定でシステムのプロパティを開く。

システムのプロパティの詳細設定タブにある環境変数ボタンをクリック。

Pathという変数がすでにあるはずなのでこれをダブルクリック。

僕の場合はすでにrubyのパスが入っていたので新たに追加する場合は

「;」を打った後パスを入力する。

ちなみにpythonが入ったフォルダをの上部のずらっとそのフォルダの位置が記されているバーをクリックすればそのパスが表示されるのでそれをコピペした。

さらに参照したこのブログさんとかみんなpythonだけでなくscriptフォルダもやっていたので真似してそっちもやった。






2017年11月12日日曜日

2017年10月15日日曜日

ワードプレスでトップページ以外が404エラーで表示できない!?

最初は続きを読むというか追記が読めないだけなのかと思ったら過去に書いた記事もリンクを踏んでもエラーになってびっくり(笑)


2017年10月12日木曜日

2017年10月10日火曜日

突然ブログに繋がらなくなった!?

昨日頑張って記事を書いたので嬉しくて今朝それを確認しようとしたらワードプレスに繋がりなくなりました。


2017年10月7日土曜日

2017年1月3日火曜日

Cドライブ容量が毎日どんどん減っていく!?

また何もしてないのに5ギガ減りました。ウィンドウズアップデート自動更新を切ってるからまたジャンクファイルが貯まってこうなってるのかなとアクションセンターにある更新をしようとしてもそれもまた上手くいかないし・・・・これってマイクロソフトがわざとウインドウズ7をどんどん劣化させてるわけじゃないよね????


このウィンドウズアップデートが上手くいかないっていうのはもう結構前からの症状だしこれはCドライブの問題が解決したら取りかかろう。

ほかにもUSBの優先接続でタブレットからPCへ動画ファイルのエクスポートしようとしても必ず途中で止まっちゃうし、再起動のたびに外付けHDDがひとつデバイスマネージャでちゃんとに認識されなくなるし・・・・もう本当にいい加減嫌になってきた。

ああ、あとバックアップもおかしくなってたから設定を直そうと思ったら

「外付けHDDにはバックアップは作成できません」

じゃあ、内蔵のHDDにしようとしたら

「容量が不足しています。1.7TB以上容量が必要です」

どんなだよ!???なんでバックアップにそんな容量いるんだよ!アホか!!!!


こんな状態で昨晩深夜から8時間経過したのちCドライブの容量を見たらさらに5ギガ減っている・・・・もう我慢の限界だと

検索して出てきたこのページを参考にとりあえずはこのソフトを入手しました。

エクスプローラで見ても正確な情報は分からないというのはなんとなく知ってはいましたが0バイトと表示されちゃうなんて・・・・なんだよそれ。


このDiskInfoってのでCドライブを調べたらいろんな容量を食っているファイルがすぐに出てきました。

hiberfil.sys,pagefile.sysってのが両方とも数重ギガ取っているのを発見し、このサイト様を見るとどうやら削除しても平気そうなので一覧から削除。

ハイバネーションファイルは休止状態にする際に必要なファイルらしいけどこのPCを休止状態で使ったことないしいらんいらん!!

ページファイル、出たよ!ページングファイル!今回のほとんどの場面で顔を出すコイツが諸悪の根源な気がする!!
物理メモリに空きが無い時にって16ギガも積んどるわ!!しかもさんざんこのエラーが出たからHDDにも200ギガくらい作ったわ!!削除!!!

さらにはCBSってフォルダが24ギガ!!
調べたら、 

まず CBS.log については基本的には Windows7 でシステムの修復が
行われた場合に具体的に何をしたかをそれに記録するためのファイル
です。修復は自動でも行われますし手動で行う事も出来ます。基本的
に Log ファイルは修復やエラーの内容を記録するだけのものですので
削除しても特に問題ありません。

とありました。2chで知恵袋をすごく馬鹿にしてたりするし確かに当てにはならない素人さんの意見もあったりしますが・・・・
僕が困った時助けてくれるのはかなりの場合で知恵袋とそれと同様のサービスです。
あ、これも 知恵コレに登録しておこうw

削除しても問題ないとの事ですが、こういう系を削除すると取りかえしつかないのでは・・・という長いPC経験が警告を発したので一応コピーをHDDに取っておきます。
HDDなら高だが24ギガなんて大した容量じゃないし。

日常生活と同じでちょっとでも不安に思ったらメモやログを残しておいた方がいいです。

このDiskInfo、表示された一覧からそのまま右クリックで削除できるようで便利便利。今のCBSフォルダを削除した際に、一部削除できませんでしたって出たけど。

んんん?でもCドライブのプロパティの表示が変化しないな?削除できてないのか?

winsxsフォルダはうかつにいじっちゃいけないらしいです。
このへんに検索されたサイト様などを参考にやったけれど・・・
特にでかいファイルが表示されないんだよな・・・。


Tempフォルダも20ギガ近くあるから削除!これは一時ファイルでしょ?一部は削除できなかったみたいだけどまあいい。

とりあえずこんなもんでいいだろ。

どうやらDiskInfo画面上では削除出来ないようですね。削除された事になってるけど削除されてなかった。右クリックでエクスプローラーを開いて削除しましょう。








SSDなんで1日で30ギガ空き容量減るの?

これおかしくないか?なんで昨日までは空き120ギガあったのが夕方には110になって今84ギガになってるの?またすぐ全部容量使っちゃうって事?

今再起動したらまた容量が足りないからページングファイルがなんたらのメッセージ出たしもうどうなってんのこれ?

そもそも最初にOSインスコしたとき50ギガとかそんくらいじゃなかった?そこからなんでこんなに増えてんの?140ギガって異様だぞ?

なんのファイルが一日で30ギガ以上消費してるんだ?これおかしいだろ、下手な動画ファイルだってこんなデカいのないぞ?ニコニコ見てるからキャッシュがそのまま残ってるの?それにしたってこんなにでかくないよ。

2017年1月2日月曜日

SSD C ドライブ換装完了!!やりかたメモ

言いたい事、感想はあとに回し後のために書いておくか。
最初にこれだけは書いておかねばならないがCドライブ、OSが入っているドライブの乾燥は全然簡単じゃないし厄介なので初心者はやらないほうが無難です!ぐぐると簡単にすぐできたー!みたいなサイト多いけどウソです嘘!!!!!
他の方の手助けが出来れば嬉しいですけど、僕のまねしてなんかあってもすべて自己責任でお願いします。

下準備として、不必要なHDD、USBメモリなどは外しておいた方が分かりやすいです。

新しいSSDを接続する。SATA 端子が余ってなかったからどうせ現在使ってるSSDが使わなくなりそこに入れられるから適当なHDDが入ってる端子にでもする。

※ここで引っかかるケースとしては、認識をしないというものがあります。焦らずに1、別のケーブル、端子を試す。2、別のPCで試す。をしてみましょう。もしダメならそのSSDが初期不良品の可能性あり。僕のSSDは買ってから1年以上放置していたものでもう保障聞かないかと思いましたが説明書にメーカーが3年保証してくれると書いてありました。あきらめずに確認しましょう。

そうだ、そもそも普通のドライブ表示では出ないらしいです。デバイスマネージャの
ツリー表示になっている一覧の「ディスク領域」の中に表示されていないとなにかしらあって上手くいってないという事です。

表示されていればフォーマットしましょう。記憶媒体ってフロッピーの時代から使う前にはフォーマット!これが常識です。ぐぐったサイトにはフォーマット形式が云々みたいになってたけど僕のウィンドウズ7PCは普通にパソコンが「こうしますか?」的に出てくれて特に難しい事はなかったです。デフォルトのままフォーマット。

次にCドライブのクローン(コピー)を新SSDで作成。
EaseUS Todo Free Backupっていうフリーソフト(無料版)をダウンロードして用意しておきます。
これの画面上部右上の「クローン」でコピーを作る。
ソースはCドライブでターゲットは新しいSSDのドライブ番号にしてSSDに最適化項目にチェック。(この辺は時代によって変化していくかも)

完了したらもう一個Cドライブが出来たという事だと思うので・・・・
いいですか?自己責任でやってくださいよ?昨日の事だというのに詳しい事忘れちゃったwPCの電源一旦シャットダウン、Cドライブを引っこ抜き、新しいSSDをそこに接続、さっきSDDを差すために抜いたHDDがあれば元に戻します。

電源入れたら普通にこれがCと認識されるはずだけど・・・。

僕の起こったトラブルとしてはブートが変更しちゃったがありました。
だから現状BIOS画面でF8連打でBIOSに入り電源入れるたびにSSDを選択してるけど、これはBIOS設定でデフォルトのブートドライブを設定変更できるはずなのでそのうちやります・・・って書いてて忘れちゃうからこういうメモ残すんですけどねw

※Cドライブのドライブ番号変更っていうのはやらないほうが無難?みたいです。
ページファイルがどうこうとか出て来て上手くやれば出来るようなサイトもありますが僕は出来なかった。むしろこれでかなりの時間を悪戦苦闘した。Cの番号変更は出来ない!これで良いと思います。物理的にCドライブを入れ替えたらそのままCになったし。

あ、そうだ。
普通に上記の方法でクローン作ったら・・・・このソフトって普通に同じものを新しいSSDにそのまま作っちゃう・・・字で書くとあってる気がするけれど、普通はより大きな容量のSSDに換装しようとするでしょ?たとえば100だったものを200とか500とか。
で、新しいものに100(旧SSDのデータ領域)のクローンを作成したら残りの100とか400を「使用できない、ドライブの容量として認識されない」データ領域としてそのままにしちゃうんですよ!?この説明で未来の自分は分かるだろうかw

でも適当操作で何とかなった。
うろ覚えですが、コンパネの管理ツール、ハードディスクのパーティションの作成とフォーマットで新しいSSDを選択、右クリック「ボリュームの拡張」で解決しました。

これで一気にCドライブの容量が120?くらいから倍増で120ギガほどゆとりができました。なのにまた徐々に(というか今回の末期1週間で3ギガ圧迫する量が増えた!!)、容量が減っていったとしても流石に120まではいかない・・・よね?いったらもう本当にいい加減にしろ!!って放り投げたくなりますw

とういうかPCのオペレーティングってここまでCドライブ空き容量が影響していたんですね。めっちゃヌルヌルになりましたwそういうのってメモリだけの問題かと思っていたけどそんな事はなかった。僕のPCはメモリ16ギガ積んでいてほとんど使い切れてませんwなのにPCが重くて重くてCPUがi7っていっても古い世代のせいだからかなあと思ってました。でもCドライブの空き容量の問題だったとは・・・。
ブラウジングやグーグルドライブが容量不足で保存できなかったりさまざまな悪影響をもたらすけれど昔はSSD高かったし多分僕と同じようなトラブルを今抱えてる人きっと多いんじゃないでしょうか。
昨日いろいろ調べていたらSSD500くらいの容量でもすごい安くなってるんですね。
Cドライブの換装ってかなり危険だしあれですが・・・最悪OS再インストール覚悟でやってみても良いかと思います。もしくはこれを機にPC買い換えちゃって今度はSSDでかいの積んでおくか、遅いけどHDDにしておくかで。

 

SSD Cドライブ換装死ぬほど難航うらみつらみ日誌

こういう記事ってあとで同じ作業をする時にもう二度と同じ苦労はしないようにの備忘録と、もし同じ境遇の人を一人でも手助けできればいいなと思っていつも書いているけれど・・・

あとで見なおすと書きなぐってる文章って本当に分かりづらいし読みにくいんですよねwとてもじゃないけど読む気にならない。

だからそういう役割の文章は後にまとめたいなとは思うけれど・・・とにかく鬱憤がたまりすぎて晴らさずにはいられん!!!

そんな文章w

やっぱりねえ、なかなかやりたがらなかった自分の野生の勘は間違ってないですよ!結局12時間経っても復旧できないどころか自体はどんどん悪い方へと進んでますものw

とりあえず一旦仕切り直しをしようとシステムの復元を試みてますが・・・「システムの復元の準備をしています・・・」から先に進みませんw

まず、認識しなかったのでケーブルを別のものに変更してみる。

やはりダメ。

じゃあ、別の端子は?他のSATA端子が無い。余ってない。

実家に戻ってやってみる。ここでもウィンドウズ7マシンがこいつが原因か長期間放置(オクで買って元々起動しづらかった)が原因かは知らないけれど、認識しないどころかパソコン自体が起動しないw

で、年賀状作成に使用しているスタンドアロンのXPを見たらSATAも刺せる!?
どうせダメだろと軽い気持ちで刺したらあっさり認識!?

これで闘争本能に火がついちゃったんですけどね・・・・

つまりはSSD自体は壊れてない、ケーブルも正常であるという事。どうにかすれば換装出来る!とやってみてもやっぱり認識しない・・・。

ググってみる・・・・。

ええええ、今刺さってるHDDのケーブルを引っこ抜いてそこに刺せ???あんまりそういう事やりたくないなあ・・・。

でもやってみる。

おお、デバイスマネージャに表示されてる!?
これでフォーマットしてよしよし・・・

で、EASEUS TODO BACKUP FREEとかいうのを使ってクローンを作る。一回間違ってバックアップの方やっちゃったからフォーマットし直してクローンを作る。そのせいか結構時間がかかった。

あとはドライブ名を変更して・・・ここで詰まる。
Cのドライブ名が変更できないのである。
ページングファイル?なんかそのようなもんを作る容量が足りないとかでぐぐった解決法を試すんだけどそれをやると再起動が必要と言われる。

で、ここで何度やっても上手くいかず業を煮やし
ああもうめんどくさい!!そうだ、Cを引っこ抜いて物理的に無しにしちゃえばCが空きになるから新しいSSDをCにできるんじゃね!?

と、電源入れっぱで引っこ抜いたら・・・・PCフリーズしましたw

で、あわててもう一回刺しなおしてももうまともに動かないんですよこれがw

BIOSの画面の次の真っ黒画面でひたすらカーソルの点滅・・・・

うわあ、これLINUXでさんざんトラウマになったカーソルクルクルといっしょ???

でも僕もそれなりにPCキャリアだけは長い。長いだけだけどw
それでBIOS画面でF8を連打してブートメニューを新しいSSDにしてみる。

するとウィンドウズに一応起動できるんですね。

でもこれ再起動のたびにF8連打のブートメニュー選択になっちゃっててどうにかせにゃいかん!!と思ってシステムの復元をしようと思ったのだけれど・・・・

復元ポイントを保存してあるのが・・・なにかこの作業を始めてから認識しなくなっちゃった外付けHDDで・・・これでまたいろいろ調べて。

結局デバイスマネージャのどうやっても正常化出来ない表示を削除してもう一度USBケーブルを抜き差ししたら一応正常に認識できたのだけれど、本当にあっちもこっちもトラブルで疲れちゃったよw


で、SSDも一旦HDDに戻してシステム復旧!!!
・・・・しようとしても出来ないw

もう本当に嫌になっちゃったよ。


つうかさあ、ウィンドウズがそもそもおかしくないかこれ?なんでこんなに苦労してCドライブのデータを削除していってるのにどんどんどんどん容量が肥大化していくのこれ?元々は結構空きがあったのに。

そのおかげで一時ファイルだのなんだのの設定も全部変更したからもうなにがなにやら分かんなくなってるんだけど?

貴重な休みを使って12時間かけてここまででもう深夜・・・・寝ないと。


2017年1月1日日曜日

SSD、Cドライブが容量ひっ迫しすぎて換装試みるもやっぱり難航

ああああああ、やっぱりだよおおおおおおおおお!!!!!!!!


面倒でずうっと引き延ばしていて、とういうかブラックで心身ともに疲れ果てていて普段はそんなのやるきにならないんですよね(笑)

でも3ギガ開けたはずなのにあっというまに残り500メガをウロウロしているCドライブの現状では本当に不便で仕方ないのでよっしゃ!と何カ月もつけっぱなしのPC母艦の電源を落としパカッとケースを開けて作業開始。

部屋のPCケーブル仕舞ってある箱を見たら・・・あったSATAケーブル、これがあれば確か出来るはず。マウンタなんて最初は使っていたけどそのマウンタですらサイズがイマイチ合っておらずカタカタしていたので今では開き直って一切使いません!もう両面テープでその辺に固定してやります(笑)

ケーブルをマザーボードの空き端子とつないで電源ケーブルとつないで・・・

電源入れ直し確認しても・・・・・ない!!!????

検索してまずはデバイスマネージャにあればおkみたいなのを見つけて確認しても・・・・ない!!!!!!!!!!!!


もう一回、電源落としてケーブル刺しなおして・・・くそ、このグラボ邪魔なんだよ!端子に上手く差しこめねえ!!

などと悪戦苦闘してもやはりダメ(笑)

まあやり方は把握できたからとりあえずは何度か試してやっていきます。

次はグラボを一度取り外してやってみようかなと。

自作した時も思ったけれど、順番考えてやらないと本当にPCのこういうのってやりづらい。面倒だからつけたままでなんとかやろうとしちゃうけど、一度おとなしく外してやるのが正解な気がします。というかどっかヘンなのいじっちゃったか外付けHDDがひとつ認識しなくなっちゃったからそれも見ないといけない。

逆にずっとここ数カ月認識しなくてもう放り投げていたTVチューナーが復活し元旦からテレビが観れるように(笑)やった、これで箱根駅伝が観れるぞ!!
欲をいえば年末のプロ野球選手、首になった男たちが観たかったのだけれど(笑)