0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

seleniumを使ったスクレイピング~2~

Last updated at Posted at 2020-10-08

前回に引き続いて今回はSeleniumを使ってスクレイピングを行う処理を行っていきたいと思います。

実行環境

  • MacOS
  • Python3.7.6(anaconda)
  • VSCode

参考にした記事

Seleniumのlocatorで必須となるcssSelectorをまとめてみた
PythonのSeleniumで特定の要素を指定して取得する
Python、Seleniumの基本
【Python】find_elements_by_css_selector・・・cssセレクタから要素を取得する
【Python3】ブラウザを経由したスクレイピング(動的なページなど)【Selenium】
HTMLタグ・要素・属性・CSSプロパティの整理
Seleniumを安定稼働させるために行うべき3つの設定(Headlessモードにも対応)

CSSセレクタの取得方法

seleniumを使う際に、find_element_by_css_selector("セレクタ")を使用して、ソースコードの中から目的のcssセレクタを取得するのですが、最初は自分でHTMLの階層を読み解いていかなければならないのかと思っていました。

色んな記事を読んでてなんでこの人たちはちゃんとcssセレクタを取得できているのかなと不思議に思っていたのですが、どうやらソースコードをコピーすることができるみたいでして、

① webページの自分が自動的にその場所をクリックしたりしたい場所で右クリックをする
② 検証ボタンを押して検証を行い、自分が欲しいソースコードの場所がマーカーされているので確認
③ そのソースコードの場所で右クリックをしてコピーを押すと、コピーセレクタというのがあるからそれを押す
④ エディタに貼り付ければ欲しいcssセレクタが表示される

といった流れでcssセレクタを取得することが可能です。

elementsとelementの違い

elementsにはリストが格納されるが、elementには1つの数字が格納される

clearの使い道

clearは検索ボックスなどに予め入力されている値を消去できます。
なので、検索ボックスに何か入力をして検索したいとなって場合に、予め入っている値を消去して自分の検索したいことだけを検索をするという処理ができるようになります。

idとclass

id1つのwebページに1つしか使えないようになっておりますが、classは1つのページに何回も使えるようになっております。なので、idで検索する方が自分が取得したい情報にアクセスしやすくなります。

まとめ

なんとかInstagramで自動でいいねをして、自動でフォローするという処理を作ることができました。
作ってみたら意外と仕組みが面白かったので、楽しく作ることができました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?