備忘録です。HTMLの構造が変わらない限りコピペで動きます
seleniumを使ってブラウザを操作しました
ログインして、タイムライン(自分がフォローしてるユーザーの投稿)の最新の投稿に自動的にイイねします
もし、すでにイイねしてた場合は、except Exception as e:
でエラー処理に回して
イイねしてない記事までループを続行します
下記のスクリプトは、一旦、count = 0 while (count < 9):
にしてます
みんな、自分の投稿に「イイね!」されると嬉しいものです
みんなに「イイね!」してあげましょう
インスタグラムAPIがあまりにもクソだったので、自分で作ることにしました
実装
""" * * * * *seleniumの使い方は自分で勉強してください。 *macOS Python3.5で動作確認済みです。 * * * * """ from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome("/Users/hujisawa/Desktop/chromedriver") driver.get("https://www.instagram.com/accounts/login/") """ * * * * *インスタグラムのログイン窓のHTMLの構造を調べて、 *ログイン窓のユーザーネームとパスワードのHTMLを取得して *ユーザーidをパスワードを入力してログインします。 * * """ elem_search_word = driver.find_element_by_class_name("_2hvTZ") elem_search_word.send_keys("hujisawa4") password = driver.find_element_by_name('password') password.send_keys("あなたのパスワード") driver.find_element_by_css_selector(".oF4XW.sqdOP.L3NKy").click() driver.implicitly_wait(10) driver.find_element_by_css_selector(".aOOlW.HoLwm").click() """ * * * * *ログインすると、新しい要素が出現するまで若干待ちます。 * * * * """ """ * * * *最新の投稿にループを回してイイねします。 *すでにイイねしてた場合は、except Exception as e:でエラー処理に回して、 *イイねしてない記事までループを続行します。 * * * """ count = 0 while (count < 9): try: print ('The count is:', count) myDynamicElement = driver.find_element_by_class_name("glyphsSpriteHeart__outline__24__grey_9") myDynamicElement.click() count = count + 1 except Exception as e: print("You alredy LIKES " + str(e)) print ("Done!")