ノンプロ研初心者プログラミング講座【Pythonコース第3期】第5回

コミュニティ「ノンプログラマーのためのスキルアップ研究会」の初心者プログラミング講座Pythonコース第5回のツイートまとめです。コンテンツは「スクレイピング基礎」です。
3
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

ChromeでHTMLのソースを見るショートカット WindowsならCtrl+U(MacならCommand+opt+U ) #ノンプロ研

2020-06-24 21:16:00
すえ @sue1242

BeautifulSoupを使うときは 'html.parse' をお忘れなく! #ノンプロ研

2020-06-24 21:17:17
しかお @shikao29

BeatifulSoup(HTMLドキュメント, 'html.parser') 戻り値はBeautifulSoupオブジェクト →HTMLをsoup化する!(取り出せる形にする) #ノンプロ研

2020-06-24 21:17:35
@shotarosawada

「BeautifulSoup」→スープストックというか、出汁?これからカレーにもシチューにもなれるよ、みたいな #ノンプロ研

2020-06-24 21:19:54
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

requestsライブラリでurlからレスポンスオブジェクトを作り、そのレスポンスからテキストを取り出して、beautifulsoup4ライブラリを使ってスープ化する(HTML構文を解析できる形にする、、?)。 スープ化って表現がシュールw #ノンプロ研

2020-06-24 21:25:28
しかお @shikao29

Chromeのデベロッパーツール ・Ctrl + I(アイ) ショートカット ・右クリックでの「要素の選択」 必要なものを決め打ちですぐ取れる #ノンプロ研

2020-06-24 21:27:44
@shotarosawada

Ctrl+Shift+IでChromeのデベロッパーツールを開ける。 欲しい要素を選択して、その ・タグ名 ・id ・クラス ・セレクタ といった観点から解析する。ページ内検索との合わせ技も使いつつがんばる #ノンプロ研

2020-06-24 21:29:46
@shotarosawada

BeautifulSoupオブジェクトのfindメソッドは最初の1つにマッチする。なので、ページ内でユニークな、titleタグやid属性なんかに有効。あとは、表が1コしかないケースでtableタグとか。「スクレイピングではid属性あったら超ラッキーです」#ノンプロ研

2020-06-24 21:33:58
しかお @shikao29

title、h1、tableタグは1ページに1つしかない場合が多い →findメソッドでとってきやすい id属性(HTML文書内で重複したid名はない) →(スクレイピングする人には)ラッキー! #ノンプロ研

2020-06-24 21:34:16
Kenny Tsuji | 『旬北海道』北海道から世界の食卓へ @TsujiKenzo

bs4.BeautifulSoup()のパラメータに渡せるパーサーはhtml5libやlxmlなどいくつか種類があってそれぞれ相性があるけど、初級の私はとりあえずhtml.parserで良さそう。 #ノンプロ研

2020-06-24 21:35:27
@shotarosawada

find_allメソッドはリストで戻す #ノンプロ研

2020-06-24 21:40:57
しかお @shikao29

attrsはattributesの略 paramsはparametersの略 プログラミングでよく使う英語は知っておくと理解が早まりそうですね。 #ノンプロ研

2020-06-24 21:44:22
@shotarosawada

演習5-09 @(隣IT)検索結果の結果ページ、その3ページ目までのH2要素を抜き出せ 「急に難易度あがります。今日の総まとめですね」#ノンプロ研

2020-06-24 21:47:25
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

宿題が急に難しくなるw 実践に近づく内容でわくわくする #ノンプロ研

2020-06-24 21:48:50
しかお @shikao29

CSS Cascading Style Sheets 装飾担当! #ノンプロ研

2020-06-24 21:48:57
しかお @shikao29

デベロッパーツールでセレクターを調べられるので、 「Copy Selector」を使えばいい! 作り方は(スクレイピング目的なら)知らなくてよい #ノンプロ研

2020-06-24 21:54:32
@shotarosawada

cssセレクタで取得する方法は最後の手段感がちょっとある。本来はサイトの構造を把握した状態でやるほうが望ましくて、でないとページの見た目が変わったらスクラップできなくなりかねないから #ノンプロ研

2020-06-24 21:56:10
しかお @shikao29

割と最後の手段な感じなので、なるべく構造を理解して他の手段で取得する。 #ノンプロ研

2020-06-24 21:57:04
すえ @sue1242

次回までに忘れずにchromedriverを使えるようにしましょう #ノンプロ研

2020-06-24 21:57:26
@shotarosawada

「今回から卒業LT発表された方に修了証を発行しようと思います」#ノンプロ研

2020-06-24 21:58:22
おおさき🥔小さなIT活用で快適な農場づくりを @massa_potato

おさらい!スクレイピングの際に行われる手順は、 (1)URLにリクエストを送る (2)Webサーバーからのレスポンスを受け取る (3)レスポンスから欲しいデータを取り出す(※) この(1)(2)にはPythonのrequestsライブラリ、(3)にはBeautifulSoup4ライブラリを使用する。 #ノンプロ研

2020-06-24 22:04:32
Kotaro FUJIMOTO @Kotaro_fjmt

【第5回:Python学習】 ★スクレイピング:web上のデータを収集すること ※著作権など利用には注意が必要!! ★スクレイピングの流れ ①URLにリクエストをする ②WEBサーバーからのレスポンスを受け取る ③レスポンスから欲しいデータを取り出す ★Chromeの「Ctr + U」の結果に驚愕💦 #ノンプロ研

2020-06-24 22:07:31
しかお @shikao29

第5回終了!いよいよ最終回目前です。 dokidoki #ノンプロ研

2020-06-24 22:09:45