LoginSignup
2
2

More than 1 year has passed since last update.

【Python】Instagramの投稿に自動でいいねする

Last updated at Posted at 2022-05-24

初めに

 ことすたぐらむの3番目の機能は自動いいね機能です。
前回までの記事で、最新投稿urlを取得したので、そのurlを使用し、いいねをしていきます。
 投稿のurlがあればできるので、instaloaderでアカウントの最新投稿urlも取得できるため、そちらを取得しいいねをするなど、幅広い活用ができます。
 ぜひ試してみてください。(規約違反ですので、自己責任でお願いします)

自動いいね

 以下より、自動いいねのコードを解説していきます。

投稿ページに移動する

 ひとつ前の記事でハッシュタグで検索し、最新の投稿のurlを10件取得しました。

 このurlを使用し、最新の投稿に移動します。

instagram.py
self.get(url)
sleep(10)

投稿画面に移動して、いいねボタンが表示されるまでには少し時間がかかってしまうため、10秒スリープを入れています。

いいね!をさがす

 次にいいねボタンの横にあるいいね!の文字を探します。投稿にいいねしていない場合はこの文字は表示されません。いいねするかどうかの判定に使います。

instagram.py
elem_target_nice_text = self.find_elements_by_class_name('_8-yf5')

 class名がどの投稿でも決まっているのでここを変更する必要はありません。

いいねしていない場合、いいねボタンを押下する

 いいねボタンのclass名も固定されていて、fr66nという名前です。
 こちらを探してクリックします。

検索URL
for e in elem_target_nice_text:
    if (e.get_attribute('aria-label') != 'いいね!') :
        continue
    else :
        self.find_element_by_class_name('fr66n').click()

全体のソースコード

 以上のソースコードをまとめるます。

instagram.py
self.get(url)
sleep(10)#ここはちょっと考える
# いいねをしてない場合のみ、いいねをクリック
elem_target_nice_text = self.find_elements_by_class_name('_8-yf5')
for e in elem_target_nice_text:
    if (e.get_attribute('aria-label') != 'いいね!') :
        continue
    else :
        self.find_element_by_class_name('fr66n').click()

こちらでいいねができました。

終わりに

 投稿は読みこむのに時間がかかるため、読みこまれていないと正常に動きません。
 こちらに注意する必要があります。最終ソースコードではWebdriverで実装しようと思います。
 次回の記事では、今まで作成してきた機能を統合して、ソースコードを記述し、実際に動かしてみたいと思います。

2
2
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
2
2