2021.03.28美味しいスープ、そそられますよね。個人的には春雨が入ったスープのブームが来てます本記事の目的はBeutifulSoupの役割、働きについて理解することですPythonを使ったWebスクレイピングとしてこれまで”requests”を使ってWebサイトの情報を取ってくるところまでをやりました。使っているパソコンからサーバーへと私このページの情報をください!!サーバーほいよっと、情報をもらう役割がありました。いただいた情報は人の目では非常に読みにくく、この読みにくい情報を読み取りやすいようにする必要があります。Webサイトの情報は基本的にHTMLというコンピュータ言語で記述されています。このコンピュータ言語で表示された情報から欲しい情報を得るのに使われるのが次で紹介する”BeutifulSoup“というライブラリです。先ほど紹介したようにBeutifulSoupではrequestsによって得られたHTMLで記述されたWebの情報、すなわちHTMLの解析をすることが目的となります。そのままでもいいじゃないかと思われる方もいらっしゃるかもしれません。解析が必要な理由としては、この得られたHTMLというものは”人の目では大変読みにくい”かつ”不要な情報がかなり多く含まれている”からです。どこでもいいのでWebサイト上で右クリックし、”検証”もしくは”ソースの表示”等をクリックしてみてください。試しにはてなブログでやってみた結果が↓です。すると、こんな大変な文字の羅列が見られるわけですね。こんなことならWebサイトから一枚一枚画像を保存したり、必要な情報を目視でまとめた方が早いじゃないかと、その通りです。わざわさHTMLで情報を取得するのにはBeutifulSoupが処理をし易くする為にあります。requetsで具材(HTML)を持ってきたからあとは調理(BeutifulSoup)お願いします!と理解いただければ問題ありません。準備、インストールしてimportBeutifulSoupを使うにあたって、まずはインストールが必要になりますね。Macをお使いであれば”ターミナル”、Windowsでれあば”コマンドプロンプト”もしくは”Powershell”を起動します。起動したら以下のコードを入力します。BeautifulSoup4BeautifulSoup4の4を忘れずに入力しておいてください、バージョンが新しくなっているので4が抜けてしまうとエラー表示がされます。Enterを押して下の画面表示がされていれば既にInstallは完了しています!errorが出てなければ大丈夫のはずです。(2.0.1)次にpythonもしくはpython3を入力して、動きを一つ一つ確認できる状態にします。pythonで、Enter。>>>のように表示されていれば、準備完了です。BeutifulSoupをimportします。bs4を忘れずに打ってくださいね。BeautifulSoupと入力しEnter>>>正常にimportできていればなにも表示されないはずです。できない場合の原因としてはスペルミスもしくはBeautifulSoupの大文字B,Sが小文字になっていることを疑ってみてください。ここではrequestsも使いたいので、requestsもimportしましょう。requestsrequestsがよくわからないという方はこちらでrequestsを説明していますので、参照して見てください。requests.get("https://www.irasutoya.com/")としましょう。ましたこのあたりはrequestsを紹介した記事でもやっていますね。BeautifulSoupを使ってみましょう!BeautifulSoupを使ってみる!それでは”soupという変数”に”BeautifulSoupでいらすとやの情報を解析した結果”をいれましょう。BeautifulSoup(result.text,"html.parser")でEnterを押して>>>と何も表示されなければOKです。この右辺BeautifulSoupのカッコ内についてみていきましょう。“html.parser”の2つ引数があります。引数がよくわからない場合は2つ何か入れる必要があるんだという認識をしていただければと思います。1つ目の引数で解析する情報をいれます、ここではいらすとやトップページの情報が入ったresult.textを引数としています。2つ目の引数では解析処理の種類、、、とパッと理解するのは難しいですが、簡単に説明すると、解析するhtml内のここにタイトルがあってあそこに画像があるのかと認識する処理です、我々人間の”目”みたいなものだと思ってください”目”の種類にも色々あるのですが、今回は一番標準的なhtml.parserを使用します。何はともあれ進んでみましょう!まずはできることや概要を把握して、わかりにくいところはあとで細かく調べていくスタンスでいいと思います。進んでいるとモチベーションが下がりにくく、学習の継続にも繋がります。次に画像のリンクを取り出します。>>>soup.find_all("img")これでsoupという箱(変数)に入った情報の中から”img”という言葉に関連する情報を取り出します。~~~>と表示されているものがたくさんあることがわかります。soup.find_all(“img”)で、soup内にあるhtmlの中からでimgタグのついた情報を全て取り出していることがわかるかと思います。Webサイトから情報を持ってくるには、自分の求めている情報にはどんなタグがついているのかを把握する必要がありますネしかし、”こうやって次に必要な情報は何かを把握する→調べる”を繰り返すことで自身の知識にもなりますので頭の体操と思って、進んでいきましょう!この記事では情報を取り出すまでを見ていきました、情報が取り出せたら今度は”どのファイルに保存するかが気になりますね。独学Python[初めてのPython]requestsの動きを見てみよう!Webスクレイピングをするにあたって、まず考える必要があるのは欲しい情報をどのWebページから持ってくるか(どのWebページ情報が欲しいか)です。そこで使われるのがPythonが(ライブラリとして)持っているrequestsです。以下の記事でtxtファイルについて少しみてみましたが、今回はCSVファイルについてみていくことにしましょう。CSVファイルとはなんだ基本的なCSVフ...独学Python[Python]ここから始めよう!ファイルから欲しい情報を抜き取る!一連の流れでやってみる[初心者][スクレイピング]ある程度基本事項を学んだら、そこから何ができるのかが気になるところです。Pythonでおすすめなのが簡単なスクレイピング!今回はPythonを使って、Webページから欲しい情報を取り込んでみましょう。読み込むデータの準備デ...独学Python[Python]プログラミング初学者が知っておきたいPythonについて。こんにちは、未経験からITエンジニアになって3ヶ月が経ちました!今は新規事業開発の機械学習エンジニアもどきとして奮闘しており、毎日知らないことだらけで何も理解していないんだなあと思い知らされる毎日です。いうわけでこの記事では、私が現時...独学Python[独学][Python]Pythonを始めよう!仮想環境(venv)を使ってみる。[初心者]Pythonを独学でやっていてあまり気にすることのなかった仮想環境について学んで見ようかな。BINANCEの公式に従って進めていきます。認証がまだの方は先に認証を済ませておく必要があります。途中うまくいかなかったので、参考になれば幸いです。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。メーカーに入社するも、やる気なく、上司と相性悪く、軽く病む、いや病む。前から”お金”について知識を蓄えておくべきだったと後悔。グ.お問い合わせタイトルとURLをコピーしました。