webスクレイピングとやらをやってみたくて、Udemyの講座を受講した。
Pythonによるビジネスに役立つWebスクレイピング(BeautifulSoup、Selenium、Requests)
基礎から丁寧に解説してくれており、実際に手を動かしながらやってみる形式で、演習問題もあり、非常に良質の講座でした。
しかし、いかんせん脳みそが小さいものだから、習った内容が盛りだくさん(普通の人にとっては盛りだくさんではないのかもしれない)で、ごっちゃごちゃに混乱状態になってしまった。
で、整理するための備忘録です。
講座の内容はざっくり以下の内容でした。9.5時間。
- HTMLの基礎、pythonの基礎
- newspaper3による記事の取得
- Pandasでスクレイピング
- Requestsの基本
- BeautifulSoupの基本
- BeautifulSoupを使った記事の取得
- XPathの基本
- Seleniumの基本
- Selenium ログインする方法
- Selenium 画面スクロールする方法
- Selenium 画像をダウンロードする方法
- CSSセレクタの記述方法
- XPathの応用
- 正規表現の基礎
- BeautifulSoup 階層の移動
- BeautifulSoup find,find_allメソッドの使い方
- BeautifulSoup selectメソッドの使い方
- 総合演習問題
BeautifulSoup,Selenium,find,select,find_by_なんちゃら・・・といつ、なにを、どこで使うの?なにが何?とごっちゃごちゃに。。。
自分の中で整理してみた。
以下、間違ったことを記載している可能性もありますので、読む場合は疑ってかかって読んでください。
pythonでのwebスクレイピングでは主に、request,BeautifulSoup,Seleniumを使う(ほかのものもあると思う)
まず、スクレイピングはインターネットのサイトから情報を取得する目的で行う。
requestとBeautifulSoupはセットで使う。
requestでURLをゲットする。
ゲットしたURLのHTMLの内容をBeautifulSoupで解析して、必要な要素を取り出したりして、HTMLから情報を取得する。
seleniumは「IDとパスワードを入力してログインボタンを押す」とか「検索ワードを入力して検索ボタンをクリックする」「画面スクロールして、ページの最後まで情報を取得する」等、なにかしらの動きを伴うときに使う。
seleniumで記事から情報を取得することもできる。
ただし、動きが重いのと、情報ゲットするにはBeautifulSoupの方がなんか良さそうなので、seleniumで目的の情報までたどり着いたら、BeautifulSoupを使ってHTMLの内容解析、情報取得、とするとなおよい。
というところだろうか。
findやらselelctやらがいつ、なにを使うの?がごっちゃになってしまったが、
BeautifulSoupではselectメソッドとfind,find_allメソッドを使う。
Seleniumではfind_element(s)_by_〇〇メソッドを使う。
※現在はfind_element(s)(By.〇〇,”××”)が推奨らしい
メソッドはこちらのリンクで「あ、そうゆうことか」とわかった
https://maasaablog.com/development/python/4093/
Seleniumの要素の取得方法
https://kurozumi.github.io/selenium-python/locating-elements.html#
Seleniumの基本的利用方法
https://qiita.com/motoki1990/items/a59a09c5966ce52128be
Seleniumインストール方法から基本操作方法
https://nkmrdai.com/vba-selenium-reference/
こちらは講師の清水先生のSelenium、BeautifuSoupの図解解説サイト
https://ai-inter1.com/python-selenium/
https://ai-inter1.com/beautifulsoup_1/
CSSセレクタの基本
https://gammasoft.jp/support/css-selector-for-python-web-scraping/
python Selenium 学習:練習用ページがあり、解説を見ながらやってみることができる親切な記事
https://hitori-sekai.com/python/web-scraping/
とりあえず、今日はここまで。
python webスクレイピング 超初心者の備忘録シリーズ
コメント