pythonにて下記のプログラムを実行したところ、予期せぬ場面で停止します。
原因がわからず、なにから施すべきかすらわかっていません。
ググって出てくるようなデバッグ措置を実施し、プログラムの問題点を洗い出す様にすべきでしょうか。
質問の意図が広くなりすいません。
どんなお言葉も受け止めますので、何卒ご指摘頂けますと幸いです。
python
1from selenium import webdriver 2from selenium.common.exceptions import WebDriverException 3from selenium.webdriver.common.action_chains import ActionChains 4import time 5import random 6 7def login(): 8 driver.get('https://www.instagram.com/accounts/login/?source=auth_switcher') 9 f = open('insta.txt','a') 10 f.write("instagramにアクセスしました\n") 11 f.close() 12 time.sleep(1) 13 14 #メアドと、パスワードを入力 15 driver.find_element_by_name('username').send_keys('username') 16 time.sleep(1) 17 driver.find_element_by_name('password').send_keys('Passwaord') 18 time.sleep(1) 19 20 #ログインボタンを押す 21 driver.find_element_by_class_name('L3NKy ').click() 22 time.sleep(random.randint(2, 5)) 23 f = open('insta.txt','a') 24 f.write("instagramにログインしました\n") 25 f.close() 26 time.sleep(1) 27 28def tagsearch(tag): 29 instaurl = 'https://www.instagram.com/explore/tags/' 30 driver.get(instaurl + tag) 31 time.sleep(random.randint(2, 10)) 32 f = open('insta.txt','a') 33 f.write("listtagより、tagで検索を行いました\n") 34 f.close() 35 time.sleep(1) 36 37def clicknice(): 38 target = driver.find_elements_by_class_name('_9AhH0')[10] 39 actions = ActionChains(driver) 40 actions.move_to_element(target) 41 actions.perform() 42 f = open('insta.txt','a') 43 f.write("最新の投稿まで画面を移動しました\n") 44 f.close() 45 time.sleep(1) 46 47 try: 48 driver.find_elements_by_class_name('_9AhH0')[9].click() 49 time.sleep(random.randint(2, 10)) 50 f = open('insta.txt','a') 51 f.write("投稿をクリックしました\n") 52 f.close() 53 time.sleep(1) 54 driver.find_element_by_class_name('fr66n').click() 55 f = open('insta.txt','a') 56 f.write("投稿をいいねしました\n") 57 f.close() 58 time.sleep(1) 59 60 except WebDriverException: 61 f = open('insta.txt','a') 62 f.write("エラーが発生しました\n") 63 f.close() 64 return 65 66 for i in range(random.randint(3, 5)): 67 try: 68 driver.find_element_by_class_name('coreSpriteRightPaginationArrow').click() 69 f = open('insta.txt','a') 70 f.write("次の投稿へ移動しました\n") 71 f.close() 72 time.sleep(random.randint(random.randint(2, 5), random.randint(10, 15))) 73 74 except WebDriverException: 75 f = open('insta.txt','a') 76 f.write("2つ目の位置でエラーが発生しました\n") 77 f.close() 78 time.sleep(5) 79 80 try: 81 driver.find_element_by_class_name('fr66n').click() 82 f = open('insta.txt','a') 83 f.write("投稿をいいねしました\n") 84 f.close() 85 time.sleep(2) 86 except WebDriverException: 87 f = open('insta.txt','a') 88 f.write("3acつ目の位置でエラーが発生しました\n") 89 f.close() 90 91if __name__ == '__main__': 92 93 taglist = ['f4f', 'l4l','like4like', 'instagood','followme', 'follow', 'いいね返し'] 94 95 while True: 96 driver = webdriver.Chrome(r'C:\Users*****\Downloads\chromedriver_win32\chromedriver.exe') 97 time.sleep(1) 98 login() 99 100 tagsearch(random.choice(taglist)) 101 clicknice() 102 103 driver.close() 104 105 abc = random.randint(random.randint(20, 100), random.randint(120, 1800)) 106 f = open('insta.txt','a') 107 f.write(str(abc)+"秒待機します\n") 108 f.close() 109 time.sleep(abc)```
コードが読めないので、ソースコードはコードブロック```で囲んでください。
インデントが判らないので、コードは「コードの挿入」で記入してください。
該当サイトはプログラムからのアクセスを許可していますか? 許可していない場合、アクセスをブロックされることもあるかと思います。
許可しているかどうかですが、プログラムの挙動としては
アクセス→ログイン→任意のパラメータにて目的の動作の実施
までは確認してますので、いきなりアクセスをブロックされているようには見えないです。
サイト側から何かしらの確認信号などが送られ、その応答がないと一定時間後にアクセスブロックするようなものがあるとするなら、そこに引っかかっている可能性はあるかもしれません。
利用規約ではやはり禁止していますね。(運営から許可を得ている場合を除く)
そうでしたか。
事前調べが足りておらず失礼いたしました。
また、わざわざお手数をおかけ頂きありがとうございます。