test_ip.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import traceback
  2. from selenium import webdriver
  3. from selenium.webdriver.common.by import By
  4. from selenium.webdriver.common.keys import Keys
  5. from selenium.webdriver.chrome.service import Service
  6. import json
  7. import redis
  8. import random
  9. import os
  10. import time
  11. import redis
  12. driver = None
  13. def re_get_webdriver():
  14. global port
  15. global driver
  16. result = []
  17. if driver is not None:
  18. print('closing....')
  19. driver.quit()
  20. os.system('killall chrome')
  21. print('quit....')
  22. driver = None
  23. try:
  24. <<<<<<< HEAD
  25. s = Service('/root/driver/chromedriver102')
  26. =======
  27. #s = Service('/root/driver/chromedriver')
  28. >>>>>>> 74e6d014f895aed8af2d3b229efb941e56630b4b
  29. options = webdriver.ChromeOptions()
  30. options.add_argument("--no-sandbox")
  31. options.add_argument("--disable-dev-shm-usage")
  32. options.add_argument("--headless")
  33. #options.add_argument('--remote-debugging-port=9222')
  34. #options.add_experimental_option("debuggerAddress", '127.0.0.1:9927')
  35. options.add_argument("--incognito")
  36. r = redis.Redis(host='db.ptt.cx', port=6379, db=2, password='choozmo9')
  37. data = r.get('google_proxy')
  38. jstext = data.decode('utf-8')
  39. jsobj = json.loads(jstext)
  40. proxy = random.choice(jsobj)
  41. change_ip_list = ['--proxy-server=%s' % proxy, "--proxy-server=socks5://127.0.0.1:9050",
  42. "--proxy-server=socks5://192.53.174.202:8180"]
  43. change_ip = random.choice(change_ip_list)
  44. options.add_argument('--proxy-server=%s' % proxy)
  45. print('使用代理ip', change_ip)
  46. #driver.delete_all_cookies()
  47. driver = webdriver.Chrome(service=s, options=options)
  48. driver.set_window_size(1400, 1000)
  49. except:
  50. traceback.print_exc()
  51. driver = None
  52. return None
  53. def run_once():
  54. global driver
  55. re_get_webdriver()
  56. driver.get('https://api.ipify.org/')
  57. time.sleep(3)
  58. ip_address = driver.find_element(By.TAG_NAME, "body").text
  59. print(ip_address)
  60. driver.quit()
  61. os.system('docker container restart tiny6')
  62. time.sleep(1)
  63. run_once()