test_ip.py 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # import redis
  2. import time
  3. import traceback
  4. # import json
  5. from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
  6. import time
  7. import os
  8. from selenium.webdriver.support.ui import WebDriverWait
  9. from selenium.webdriver.support import expected_conditions as EC
  10. import dataset
  11. from selenium import webdriver
  12. from selenium.webdriver.common.by import By
  13. from selenium.webdriver.common.keys import Keys
  14. from selenium.webdriver.chrome.service import Service
  15. import json
  16. import random
  17. import time
  18. import redis
  19. import sys
  20. import codecs
  21. import random
  22. import os
  23. import time
  24. from userAgentRandomizer import userAgents
  25. import requests
  26. driver = None
  27. headers = {
  28. "Authorization": "Bearer " + "6SDULL1Ebklduc6TFxa97AFto5Sj21kyJ30CxiLiSoi",
  29. "Content-Type": "application/x-www-form-urlencoded"
  30. }
  31. def send_msg(kw):
  32. params = {"message": kw}
  33. r = requests.post("https://notify-api.line.me/api/notify", headers=headers, params=params)
  34. def re_get_webdriver():
  35. global port
  36. global driver
  37. result = []
  38. if driver is not None:
  39. print('closing....')
  40. driver.quit()
  41. os.system('killall chrome')
  42. print('quit....')
  43. driver = None
  44. try:
  45. s = Service('/root/driver/chromedriver')
  46. options = webdriver.ChromeOptions()
  47. options.add_argument("--no-sandbox")
  48. options.add_argument("--disable-dev-shm-usage")
  49. options.add_argument("--headless")
  50. options.add_argument('--remote-debugging-port=9222')
  51. options.add_experimental_option("debuggerAddress", '127.0.0.1:9927')
  52. options.add_argument("--incognito")
  53. r = redis.Redis(host='db.ptt.cx', port=6379, db=2, password='choozmo9')
  54. data = r.get('google_proxy')
  55. jstext = data.decode('utf-8')
  56. jsobj = json.loads(jstext)
  57. proxy = random.choice(jsobj)
  58. change_ip_list = ['--proxy-server=%s' % proxy, "--proxy-server=socks5://127.0.0.1:9050",
  59. "--proxy-server=socks5://192.53.174.202:8180"]
  60. change_ip = random.choice(change_ip_list)
  61. options.add_argument(change_ip)
  62. print('使用代理ip', change_ip)
  63. driver.delete_all_cookies()
  64. driver = webdriver.Chrome(service=s, options=options)
  65. driver.set_window_size(1400, 1000)
  66. except:
  67. traceback.print_exc()
  68. driver = None
  69. return None
  70. def run_once(jsobj):
  71. global driver
  72. driver.get('https://api.ipify.org/')
  73. time.sleep(3)
  74. ip_address = driver.find_element(By.TAG_NAME, "body").text
  75. print(ip_address)
  76. driver.quit()