スポンサーリンク

【python】webスクレイピング Selenium BeautifulSoupを学ぶ(超初心者がやってます)

スポンサーリンク
※当サイトは広告を含みます

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スクレイピング 超初心者の備忘録シリーズ

コメント

タイトルとURLをコピーしました