Python 独学プログラミング プログラミング初心者のencodeとdecodeでエラー発生〜UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x80 in position 0: invalid start byte編〜

あっ どうも子へびです。

先日かぼちゃプリンを初めて作って美味しくできたのでご満悦な子へびです。手作りのプリンの良さはなんと言っても自分好みのカラメルソースが作れるところでしょうか?
カラメルソースたっぷり派ですか?苦味派ですか?このあたりみんなそれぞれ好みがありますよね。笑

お菓子も作りつつスクレイピグに取り組んでいる子へびですが、あらゆるエラーコードを呼び出しています。決して好き好んでエラーを発生させているわけではありません。
今回はその一つのエラーコード子へびのような初心者にはまんまと引っかかりそうなネタをご紹介




子へび

UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x80 in position 0:invalid start byte このエラーコードはなんだ?decodeできないって言ってるよね〜。

色々サイトを検索してこのエラーコードが出た時の解決策を探ったのですが

子へび

HTMLの中身が文字化けしちゃうな〜。

っとどうしても読み取りができない始末。

こんな時は頼みの綱のMaster松陰に相談。するとMaster松陰の回答は

Master松陰

これは元のデータが S-JIS でかかれてるんだよ。だから、pythonで読むときに S-JISで読み込まないとダメね。多分、今は UTF-8で読むようになってるんじゃない?

子へび

やっぱり〜。そこまでは読み取れました。でも読み込みをJISにするのが気付いていなかった!

Master松陰

古いサイトとか、素人さんが作ったサイトだと
S-JISとかになってるんだよ。イマドキは UTF-8を使うのが常識だけどね。

ということでもしこのエラーコードが出て行き詰まってしまう方がいたらコードの書き方は間違っていないのにサイトに書かれてる文字が何で書かれているのかを確認してdecode設定すると解決するかもしれません!

子へびこの文字についてはかなり検索しました〜。今度どのくらい検索したか数えておこうと思ったぐらいです。笑
でも実際はこんな簡単な解決方法だったりするのでもしご参考になれば。

そして子へびまた新たなるエラーコードが発生しております。

子へび

次なんだ!とほほ・・・。




Python 独学プログラミング プログラミング初心者のURL取得のエラーコード〜 ‘ascii’ codec can’t encode character編〜

あっ どうも子へびです。

先日アレクサに

子へび

アレクサ!マクロスの曲をかけて!

っとお願いしたらマクロスの全シリーズの曲がほぼ流れて思わずうっとりしてしまいました。笑曲に合わせてそのシーンが蘇るから不思議です。ランカちゃんとシェリル最高♪




一つ目のサイトのデータ集取が終わり浮かれポンチになっていた子へびですが、2つ目のサイトもそんなにうまくデータ集取ができると本人も思ってはいませんが、もしかしら子へびこの作業向いてるのかも〜❤︎なんで思ったりして。でももちろんそんなはずはありません。皆様のご期待に応えて

子へび

あれ〜?指定したURLの取得は間違ってないのにエラーが出て読み込みができないascii’ codec can’t encode characterってなんだろう?

色々エラーコードで調べてみると赤と言う日本語がURLの中に含まれていてその文字を認識できないらしい。

そこへ今回は運良くMaster松陰登場

ラッキ〜
Master松陰曰く

Master松陰

漢字・ひらがな・カタカナは認識できないことの方が多いよ。URLエンコード・デコードってサイトがあるからそこでエンコードしたものをURLに組み込めば良いんだよ。

子へび

なるほど!検索検索。

言われた通りに日本語を入力すると機械語に変換されます。笑 Master松陰の手にかかるとわずか数秒で解決すると言うこの方。

子へび

これはもうMaster松陰という辞書にMaster松陰をしてしまった方がいいのではないか?どなたかMaster松陰をソフト化する気はありませんか?笑プログラミング初心者に売れると思います。

な〜んて思ったりしている間にサイトの取得は成功しました。なのであとはそれをどおするか子へびの問題ですね。

子へび

とほほ・・・。




Python 独学プログラミング プログラミング初心者の正規表現〜正規表現の書き方より読み取り方の難しさ編〜

あっ どうも子へびです。

サイボーグ009を初めてちゃんとみてジョウの優しさと人としての温かさに毎度癒やされていた子へびです。最終回は良いですね〜。ロマンです。石ノ森章太郎や手塚治虫などの作品もっとみたいな。サイボーグ009オススメです!




今日はMaster松陰からテキストが届きました。

Master松陰

新しいアプリ完成!

子へび

ええ!もお完成したんだ。早すぎる。

ということでMaster松陰に代わって本日子へびが

子へび

Master松陰の新しいアプリが完成しちゃったデスノー!ドロップキック!ドロップキック!ドロップキーーーーック!3発ドロップキックしてる合間に完成しちゃってるデスノー!これは超光高速デスノ。でも完成度は相変わらずのぬかりないクオリティ。この季節どこで雨雲が発生しているか瞬時にわかるデスノ。ゲリラ豪雨対策にバッチリ。これでお出かけも一安心デスノー!!!!BY 邪神ちゃん

こちらで検索
Master松陰の新作アプリ

子へび今回はMaster松陰のリクエストにお答えして邪神ちゃんモードで宣伝してみました。

子へび

邪神ちゃん風に宣伝て・・・。

と思ったのは秘密です。笑

けどアプリは是非ご覧ください!この季節突然襲われるゲリラ豪雨に後どのくらい雨宿りしてたら過ぎ去るか一発で色んな場所検索できます。そして相変わらずスタイリッシュなアプリです。




子へび

子へびはようやく正規表現使って情報取得できたと思いきや情報が2重に3重になっていて取得方法がちょっと間違えているみたいだけど何がいけないのかまだ解析中なのに、その間にMaster松陰はもうアプリ完成しているし〜。

Master松陰

アイディアを思いつく→とりあえず作ってみる→公開リリース
のスピード感よ。

が大事だと言ってました。

子へび

子へびにはとりあえず作ってみるが大問題だな。

早く作らないと〜。

あれ今日の話題まとまりがないな。笑




Python 独学プログラミング プログラミング初心者の正規表現〜PyCharmを使って編〜

あっ どうも子へびです。

最近本の分野ではどっぷり芥川龍之介にハマっている子へびです。芥川龍之介って読めば読むほど子へびの中では『芥川君』と呼びたくなるのは子へびだけですかね?”さん”とか”呼び捨て”とかじゃなく”君”なのです。今まで他の作家で○○君と呼びたくなった人居なかったんですよね〜。なんでだろう?それはおいといて笑 芥川君の本残されたている作品が少なくて本当に残念です。もっとたくさんの作品読んでみたかったな。芥川君の作品子へび大好きです!




そんな芥川君ワールドにどっぷりとハマりつつ正規表現を勉強中の子へびですが、最近正規表現がようやく記号から文字に見えつつあります。笑
Master松陰からいただいたありがたいサンプルコードをお手本にちくちくいじっていた子へびですがまたいつもの情けさない落とし穴に毎度のことながら落ちました・・・。

子へび

おかしいな〜。どおして2つ目のカテゴリーまで抽出できるのに3つ目4つ目が全く読み取れないのかな?正規表現が違うのかな〜??

っと散々正規表現を検索しては書き直してを繰り返して費やすこと1週間。

子へび

は!そもそも2つ目のカテゴリー行までしか読み込み範囲指定
できてないじゃん!

コード全体を読み直してみたらそもそも全てのカテゴリー行を読み込む範囲指定を書き間違えていて全体のうち半分しか読み込めてないから3つ目4つ目のカテゴリーは範囲指定外だったんです。そりゃエラーになりますよね。本当情けない。




そして3つ目4つ目のカテゴリーが抽出できたかと思いきや、

子へび

おかしいな〜?どおして3つ単語が入ってるはずなのに1つしか抽出されないのかな〜?空白と改行が入ってると正規表現の書き方がちがうのかな〜?

っとまたつまづいて空白やら改行を取り除く正規表現を検索して書き直してを繰り返すこと1週間

子へび

は!ちゃんと3つの単語抽出できてるのに子へびのMacの画面が小さくてPyCharmの画面が途中で切れてる!

画面を横スクロールしたら残りの2つの単語が出てきました・・・。本当に本当に情けない。

こんな情けないことを繰り返しながらなんとか欲しい情報をゲットしつつある子へびです。

こんなことにつまづいてる間に

Master松陰

新しいアプリのネタが思いついて7割できた〜♪

子へび

そのスピード感子へびにもください。

と心から願った子へびです。

子へび

とほほ・・・。