Тёмный
No video :(

【PythonでWebスクレイピング】Seleniumの使い方解説! Web操作自動化もできる!〜 初心者向け 〜 プログラミング入門 

Pythonプログラミング VTuber サプー
Подписаться 87 тыс.
Просмотров 63 тыс.
50% 1

Опубликовано:

 

29 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 72   
@pythonvtuber9917
@pythonvtuber9917 2 года назад
注意: 最新バージョンのSeleniumでは「find_element_by_○○○」が動きません。「find_element(By.○○○, 名前)」をご使用ください ▶︎ selenium-python.readthedocs.io/locating-elements.html#locating-elements 訂正: 1:24 ~ の 動的なWebサイトの解説のスライド上部に[Weページ]って書いてありますが[Webページ]の書き間違えです😵
@maruta3262
@maruta3262 Год назад
あれ?「find_element_by_○○○」が動かないと思ってたらコメントと概要欄に書いてくれてますねw 今頃気づきました! まず「from selenium import webdriver」の後に 「from selenium.webdriver.common.by import By」←こちらもimportする必要があるんですね。 それと、サンプルの「driver.find_elements_by_xpath('○○○')」のところを 「driver.find_elements(By.XPATH, '○○○'」と書くことで上手く動作をしました♬
@pythonvtuber9917
@pythonvtuber9917 Год назад
そうなんですよね😵 動画の解説だと今の書き方に対応できていないので、作り直したいのですが手が回らず... 確かにByもimportが必要ですね、情報ありがとうございます!うまく動いてよかったです😊
@user-zi9rg2gr5x
@user-zi9rg2gr5x Год назад
君のおかげでわかったよ! ありがとう
@katouken-qi5in
@katouken-qi5in 2 месяца назад
NameError: name 'By' is not defined って出るからなんでや?と思ったら、このコメントのおかげで解決できた!
@user-dc1yt2fn8s
@user-dc1yt2fn8s 3 года назад
痒い所に手が届く 素晴らしい主です😭
@pythonvtuber9917
@pythonvtuber9917 3 года назад
Seleniumの動画、需要があったようで嬉しいです😊
@ipg4140
@ipg4140 2 года назад
Python初心者で動画見漁ってますが、本当に分かりやすいですし、濃い内容でした。有料級だと思い、感謝の思いでコメントさせて頂いてます。 同じような内容でも、別のSeleniumも見てみたいと思いました。ありがとうございました。
@pythonvtuber9917
@pythonvtuber9917 2 года назад
色々な動画を見てくださりありがとうございます😊 Seleniumといったスクレイピング関連の動画は、今後、実践系の動画シリーズとしてアップする予定です!
@kbd1301
@kbd1301 3 года назад
seleniumはVBAで使ってましたがseleniumIDEは初めて知りました!便利ですね!
@pythonvtuber9917
@pythonvtuber9917 3 года назад
コメントありがとうございます😊 seleniumIDE便利なので、ぜひ使ってみてください!!
@lagavulin1968
@lagavulin1968 3 года назад
詳しい説明なのでとても理解できました。 動画でコードを一行毎に説明してもらえると”気付き”が多くて理解が深まります!!
@pythonvtuber9917
@pythonvtuber9917 3 года назад
徐々に、内容の難易度が上がってきてるのですが、それでも「多くの人にとってわかりやすい動画」を心がけているので、そう言ってもらえて嬉しいです😊
@user-eg6nx9rv8r
@user-eg6nx9rv8r Год назад
Seleniumを調べる中でPyleniumというライブラリを発見し個人的に気になっております。もし今後のネタになる様でしたら是非動画にしていただけると大変嬉しいです✨ いつもためになる分かりやすい動画を投稿いただきありがとうございます!
@charge-rifle-fujii
@charge-rifle-fujii 3 года назад
サプーちゃんはPythonのこと何でも知ってるんですねぇ… 作ってる動画の幅が広すぎて、サプーちゃんのPythonエンジニアとしての底が見えません…🤯
@pythonvtuber9917
@pythonvtuber9917 3 года назад
私もまだまだPythonについて勉強の身です!! 皆さんに満足してもらえるチャンネルにするためにも、私自身も進化していきます😉
@EverNEET
@EverNEET Год назад
他の配信者さんの動画でSeleniumのバージョン違いで つまづいていたのですが、こちらの注意:最新・・・で解決しました。 動画もすごくわかりやすかったです。ありがとうございます!
@pythonvtuber9917
@pythonvtuber9917 Год назад
Selenium、仕様が変わったのでつまづきポイントですよね...解決できたようで何よりです!!
@shakinceo
@shakinceo 10 месяцев назад
めちゃくちゃわかりやすかったです!早速実践します!
@blackcatandbluesky02
@blackcatandbluesky02 Год назад
実用的な具体例で、そして非常に分かりすくて助かりました。すぐに自分の業務に活かせそうです。ありがとうございます😊
@pythonvtuber9917
@pythonvtuber9917 Год назад
ご視聴いただきありがとうございます!ぜひ業務などでもご利用いただけたらと思います!!
@dessinaupointille483
@dessinaupointille483 Год назад
アドオン便利すぎた、紹介ありがとうございます
@kw7691
@kw7691 2 месяца назад
❤素晴らしいです。とても助かりました。
@pythonvtuber9917
@pythonvtuber9917 2 месяца назад
ご視聴ありがとうございます!!
@user-cc7hg4hr3k
@user-cc7hg4hr3k 2 года назад
Selenium ですが、今は普通にpip install とかやるとバージョン4.2.0がインストールされるようです(windowsでもlinuxでも)。 その場合、webdriver.Chrome() や driver.find_elements_by_xpath() などに非推奨のワーニングが出ます。 例: DeprecationWarning: executable_path has been deprecated, please pass in a Service object driver = webdriver.Chrome('./chromedriver.exe', options=options) これを出ないようにするには from selenium.webdriver.common.by import By from selenium.webdriver.chrome import service as fs とやって driver = webdriver.Chrome(service=fs.Service(executable_path='./chromedriver.exe'), options=options) schedule_el = driver.find_elements(By.XPATH, '//li[@id="chiyoda-today-status"]/div/div/span') とやるといいと思います。
@pythonvtuber9917
@pythonvtuber9917 2 года назад
情報ありがとうございます😊 ワーニングが出るんですね!本件、今後、視聴者様から質問を受けた時に参考にさせてもらいます😉
@user-cc7hg4hr3k
@user-cc7hg4hr3k 2 года назад
@@pythonvtuber9917 先週リリースされた selenium 4.3 から エラーが出るようになりました。
@yasu3703
@yasu3703 Год назад
ありがとうございます。 要素取得がどうしてもうまくいかないサイトがあって、悩んでました。 SeleniumIDE、つかってみます!
@pythonvtuber9917
@pythonvtuber9917 Год назад
無料でサクッと使えるので、ぜひSeleniumIDE使ってみてください!
@user-xb2lg2mb6w
@user-xb2lg2mb6w 4 месяца назад
selenium IEDは名前を知ってたけど使い方までは知りませんでした。 ちょっと前に、id部分にCSSが記載されてて、name属性も無く、class名の使い回しの多いサイトで苦労しましたが、selenium IEDを使うとそういった苦労も無くなりそうですね! 今度使って見ます!
@user-kr3jg7jz6n
@user-kr3jg7jz6n 3 года назад
何これめっちゃすごい
@pythonvtuber9917
@pythonvtuber9917 3 года назад
Selenium便利ですよね!是非、使ってみてください😊
@user-ts6zr9vv8h
@user-ts6zr9vv8h Год назад
いつも楽しく見させてもらってます。Selenuimのクリック後のページのwebスクレイピングのやり方を動画などで講義していただけないでしょうか?それが知りたいです。何卒よろしくお願いいたします。
@user-ic1lu9lw4p
@user-ic1lu9lw4p 4 месяца назад
いつもわかりやすい動画ありがとうございます。 scrapyでも同様の操作ができるのでしょうか
@user-cm7vf8xe2o
@user-cm7vf8xe2o Год назад
1:32 見出し2がWeページになってる
@user-zk5rl5zq2x
@user-zk5rl5zq2x 10 месяцев назад
バージョン違いなのか環境構築でだめでした。driverダウンロードでエラーでます。 最新版もお願いします。
@yn9349
@yn9349 2 года назад
いつもサプー様の動画を視聴しております。とても分かりやすい解説をありがとうございます。 質問なのですが、 chromeのバージョン: 105.0.5195.102なんですけど、chromedriverにダウンロードできる同一のバージョンのものが無いのと、似たようなものでchromedriver105.0.5195.52をダウンロードしてvscodeに読み込ませようとしてもエラーが出てしまいました。 chromedriverのダウンロードしたファイル自体はパソコンから開くことが出来るのですが、vscodeでなぜ読み込むことが出来ないのかわからないです。 コードを動かそうとしてもfile not foundエラーが出てしまいます。 どうしてもweb自動化を成功させたいので、何か解決方法などございましたら、 お手数ですがご教授いただけませんでしょうか。
@pythonvtuber9917
@pythonvtuber9917 Год назад
file not foundエラーが出ているのであれば、スクリプト側からドライバーのファイルが見えてないのだと思います。パスの指定が合っているかご確認ください。
@aki4281
@aki4281 2 года назад
神動画。すごいです。 スクレイピングを紹介している動画は沢山あるんですが、 スクレイピング結果をLINEとかメールで送信するというような動画はみたことがありません。 サプーさんはそういった動画は作成していますでしょうか?もしあったら見たいです。 現実的にはスクレピングした内容をなんらかの形で出力して確認するとかそういうことが大事かなと思っているので もし可能であればそういった動画も作成して頂きたいです。(みんなそこが知りたいと思っていると思います) ご検討よろしくお願いいたします。
@pythonvtuber9917
@pythonvtuber9917 2 года назад
ご視聴いただきありがとうございます!! LINEやメール送信の動画はありません😵 確かにそういうそういうテーマの動画は面白そうですね!ぜひ作りたいです! ただ、LINEにプッシュ通知しようと思うと、確か結構お金がかかった気がするので、まずはPythonでデータをメールで送信!みたいな動画を作ってみようと思います😊
@aki4281
@aki4281 2 года назад
返信ありがとうございます。 先ほども書きましたがウェブスクレイピングの動画はいっぱいあって、実行したらデータが取得できるというのは理解できるのですが、そのデータを活用して何かをするとか判断するとかが大事(より実践的)だと思うので、メールで送信とかラインで通知とかの動画も作ってもらえるとすごく嬉しいし、絶対みんなそこも知りたいと思っているはずです。 ご検討よろしくお願いいたします。これからも応援してます!
@user-el8oy7zp7q
@user-el8oy7zp7q 2 года назад
私の環境では『find_element_by_class_name()』が使えないようです。 同様に実行するにはどうすれば良いでしょうか?
@pythonvtuber9917
@pythonvtuber9917 2 года назад
使えないとは具体的にどのようなことでしょうか?実行時にエラーが出るということでしょうか? エラーが出力される場合は、エラー文言はどのようなものですか? また、エラー解消について動画を出しているので合わせてご確認ください。 ▶︎ ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-n-CEndcgAFY.html
@user-el8oy7zp7q
@user-el8oy7zp7q 2 года назад
schedule_el = driver.find_elements_by_class_name( AttributeError: 'WebDriver' object has no attribute 'find_elements_by_class_name' 調べてみたところ Selenium4では『find_element_by_〇〇』が非推奨となっているようです。 それが原因でしょうか? またその対策はありますか?
@amar8275
@amar8275 2 года назад
私もfind_element_byが使えなくて悩んでました。 非推奨だったのですね…
@mayuy
@mayuy 2 года назад
分かりやすい動画ありがとうございます。 最近よく拝見してます。 1点ご質問失礼します、タブで複数開いてるウェブページのURLを取得したいと思っているのですが、その場合もSeleniumを使ったらできるのでしょうか、または違うツールのほうが向いてるのがあるのでしょうか。 もし可能でしたら、お手すきの際に教えていただけますと幸いですm(__)m
@pythonvtuber9917
@pythonvtuber9917 2 года назад
SeleniumかBeautifulSoupかは、動的サイトかどうかで決めますね!「タブで複数開いているページ」というのがウェブブラウザ上のタブのことでしたら、それぞれのページごとにどちらが適切なのか判断した上でスクレイピングしたら良いかと思います。
@mayuy
@mayuy 2 года назад
@@pythonvtuber9917 さま お忙しい中、ありがとうございます。動的サイトかどうかって最初のところでおっしゃっていますよね、、、すみません。 Seleniumかなぁと思いながらやり方を探していたのですが、ググってもページ内の情報取得はあっても、すでに開いてる全タブページのURLを取得する方法がわからず、超初心者でどこから手を付けていいのかわからなくなっていました。。 もう少し調べてやってみます。ありがとうございました。
@inox3896
@inox3896 2 года назад
最新の Selenium では find_element_by_??? は使えないようです。find_element 版の解説動画もお願いできませんでしょうか?
@pythonvtuber9917
@pythonvtuber9917 2 года назад
検討してみますね!
@user-mo7rp5th5j
@user-mo7rp5th5j 2 года назад
Progateで最後まで学習終えたらスクレイピング勉強しても良いのでしょうか?それとも、動画やサイトを使って、学んだことをアウトプットする形で演習問題を解いた方が良いのでしょうか?ご意見お聞きしたいです。
@pythonvtuber9917
@pythonvtuber9917 2 года назад
ご質問ありがとうございます! Progateでは何をどこまで教えているのかを知らないので、正直どう答えて良いか分からないです... また、質問者様のPythoの習得度合いにもよるかと思います。基本的なことを十分に理解し、Pythonを使いこなせているのであれば、どんどん色々なトピックに進んだら良いかと思います!
@user-mo7rp5th5j
@user-mo7rp5th5j 2 года назад
@@pythonvtuber9917 そうですね、関数、クラス継承までは一応学習はしています。html,cssもやっているので、クラスはなんとなく理解することができました(自分ではそう思ってます)。 ただ他にも沢山学ぶことがあるらしいですし、使いこなせているかというと微妙ですね。。 何か指標みたいな動画ってありますか?チャンネルをみた感じ、演習系特化の問題が無いのかなと感じました。他のチャンネルの方だと、基礎的な問題を出してそれに対して自力でプログラムするという100本ノックみたいな動画がありましたが、それはほぼ何もできませんでした。
@pythonvtuber9917
@pythonvtuber9917 2 года назад
特に指標みたいな動画はないですね!作ってみても良いかもですね😉
@user-mo7rp5th5j
@user-mo7rp5th5j 2 года назад
@@pythonvtuber9917 時間がありそうでしたらぜひお願いします!
@user-fk1zd9jl9l
@user-fk1zd9jl9l 2 года назад
chromeドライバーの場所指定でずっとエラーになってたんですが、Macだと.exeを取って場所指定しないと出来ないんでしょうか?なんかそんな感じのをサイトで見つけたので。
@pythonvtuber9917
@pythonvtuber9917 2 года назад
Macの場合のドライバーはexeがそもそもついていないと思います😉 2022年7月現在だと以下のサイトの「mac64」ってファイル名についているもので、M1チップの場合はm1ってついているものを使ってください! chromedriver.storage.googleapis.com/index.html?path=103.0.5060.53/ の
@user-fk1zd9jl9l
@user-fk1zd9jl9l 2 года назад
​@@pythonvtuber9917 だから、chromedriverの.exeは必要ないってことですね。わかりました。ありがとうございます。あと最後のとこで from selenium.webdriver.support.ui import Select が見切れてたので一応お伝えしておきます。その前に説明があったので必要ないかもしれないですけども。また質問することありましたらよろしくお願い致します。
@skipclass123
@skipclass123 2 года назад
いつも拝見してます。 11行までのところを実行しました。 実行されないので、3行目の()内を削除して実行したところ動きました。しかし、ブラウザは、ボタンを押すことなく閉じてしまいました。なにが悪いのでしょうか?よろしくお願いいたします。
@pythonvtuber9917
@pythonvtuber9917 2 года назад
ご視聴いただきありがとうございます😊 11行目は動画の何分あたりのコードの11行でしょうか?もし良ければ、動かしているソースコードをこちらに貼り付けていただけると、もっと明確な回答ができるかと思います!!
@Syuririn
@Syuririn 2 года назад
個人的にSeleniumは難しいと思います。 idが存在しない要素にピンポイントでアクセスするためにはXPathで指定するくらいしか良い方法がなかったり、ブラウザによってXPathが違うのかブラウザが変わると要素が見つからなかったり、ブラウザのバージョンとwebdriverのバージョンを合わせないといけなかったり、ものによってはclick()しても動かないのでJavaScriptを叩くコードを書いたりとハマりポイントがたくさんあり、それを乗り越えて初めて使い物になるような気がします。 ただ、自分の知識が古いだけだと思うのですがSelenium IDEってこんなに便利でしたっけ?w これなら結構使いやすくなるかもしれませんね。
@pythonvtuber9917
@pythonvtuber9917 2 года назад
おっしゃる通り、要素へアクセスにXPathの指定じゃないと出来ない場合とか、ハマりポイントが色々あるので、難易度はちょっと高いとは思います😵 それでも、Seleniumはだいぶ前からあるのに、今でも使われている人気ライブラリなので、ぜひ紹介したいと思って動画を作りました😊 そうですね!Selenium IDEをうまく使えばSeleniumの難易度も結構下がると思います!!
@Syuririn
@Syuririn 2 года назад
@@pythonvtuber9917 最初はサイトを自動で繰り返し動かすためにSeleniumを使っていたのですが、requestsでスクレイピングできないサイトがあることを知り、それにSeleniumが使えることに気づいてからは手放せないソフトになってしまいましたがねw
@user-yo5cf6lu9x
@user-yo5cf6lu9x 2 года назад
pip install chromedriver-binary-autoでパス指定なしでも行けるかと思いますがいかがでしょうか?
@rlo9032
@rlo9032 2 года назад
ブラウザとドライバーのバージョンが違った場合は自動で対応したドライバーをダウンロードしてくれるライブラリとかありますよ
@user-xy1hf3ex4j
@user-xy1hf3ex4j 3 дня назад
なんでも解説してる。逆に怖い
@pythonvtuber9917
@pythonvtuber9917 2 дня назад
怖くないです☺️
Далее
Useful gadget for styling hair 💖🤩
00:20
Просмотров 1,8 млн