World”でさんざんやったではないか。下記のように直してみた。res.read()print(body)HTMLがざざーっとターミナルに出た。TEXTに落とし込んだ時の罠あー出来た出来た、と喜んでいたが、もう一つ私には、野望があった。それは、このHTMLをTEXTに落とし込むこと。サイトのバックアップを取りたいのだ。ここまで出来てるんだから、楽勝に違いない。私は根拠のない自信に満ち溢れていた。そんな自信を神は見透かしたように新たな試練を私に与えたのである。上記にあげたスクレイピングは、私の野望を満たすには、致命的な欠点があった。それは、ファイル操作がなされていないこと。可能であれば、任意のテキストファイルを生成して、スクレイピングした内容を書き込みたいのだ。残念ながら今のコードでは、それはできそうにない。そこで下記のように改造してみた。file:file.write(res.text)無事TEXTファイルは出力されていた。中を開いてみて、私は、驚愕することとなる。文字化け、、文字化け、、、そう、Pythonは、基本文字コードがUTF-8でエンコードされるわけで、今回スクレイピングしたサイトは、Shift-JISだからか。そこで、下記のように修正した。file:file.write(res.text)無事、Shift-JISで書き出せたようだ。調べてみるとPythonの書き出しでエンコードで頭を抱えている人は、結構いるみたいで同じような記事を多数目にした。UTF-8などほかの文字コードを指定したいときは、上記コードのencoding=’XXXXXXX’のXXXXXXXの部分に入れるといい。サクラエディタなんかだと、文字コードを聞いてくれるので親切だ。’w’の部分だが、これは、書き込みを表す。書き込む際、もし、そのテキストに何か書いてあっても上書きされる。書き込みの後から追加したいなら、’a’にするべきだ。まとめざざっとだが、Pythonでスクレイピング、超基礎知識を書いてきた。ググレカスとは言うが、実際には、ググってそのまま書いてうまくいくことは、少ない。何かしら壁があるのだ、そこをまたググって調整して自分の望むコードに仕上げていくのがプログラムというものだ。今回は、表示の壁、文字コードの壁にぶち当たったが、Pythonでよくあるのは、エラーの壁。エラーといってもいろいろあるんだけど、単純なケアレスレベルの物からインストールし忘れのものまで。(※1)また、Pythonのバージョンによって関数の使い方が仕様変更になってしまったものも結構ある。記載された記事が古ければ、つまりPython2とPython3では、いろいろ仕様が違うので注意したい。ちなみに本ブログで使用しているのは、Python3.7である。読者諸君が本ブログでスクレイピングした時、挫折しないでこれをひとつのTipsとしてさらなる踏み台とされることを祈ってやまない。※1.importしているもので、Webに書いてあるものが必ずしも自分の環境にインストールされてはいないということ。それでもモチベがたもてないなら、おすすめはプログラミングスクールに行くしかない年間費はそこそこ高いが、エンジニアになれば、1年以内に回収できる。効率的に学びたいならスクールに行くことをお勧めしている。今流行りのプログラミングスクールについて調べてみた!AIマスターに最速4週間。エンジニアの道は、ここから始まる。【悲報】人生を変えたい人は職場を変えるべし。がんばらないでプログラマーになる。