#import redis import time import traceback #import json from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities import time import os from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC import dataset from selenium.webdriver.common.keys import Keys import json import random import time import redis import sys import codecs import random import os import time from userAgentRandomizer import userAgents import requests driver=None db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/seo?charset=utf8mb4') headers = { "Authorization": "Bearer " + "6SDULL1Ebklduc6TFxa97AFto5Sj21kyJ30CxiLiSoi", "Content-Type": "application/x-www-form-urlencoded" } def send_msg(kw): params = {"message":kw} r = requests.post("https://notify-api.line.me/api/notify",headers=headers, params=params) def re_get_webdriver(): global port global driver result=[] if driver is not None: print('closing....') driver.quit() os.system('killall chrome') print('quit....') driver=None try: r = redis.Redis(host='db.ptt.cx', port=6379, db=2,password='choozmo9') data=r.get('google_proxy') jstext=data.decode('utf-8') jsobj=json.loads(jstext) print(jsobj) proxy=random.choice(jsobj) ua = userAgents() user_agent = ua.random() options = webdriver.ChromeOptions() options.add_argument("--no-sandbox") options.add_argument("--disable-dev-shm-usage") options.add_argument("--headless") # options.add_argument('--remote-debugging-port='+port) options.add_argument('--proxy-server='+proxy) # options.add_argument('--proxy-server=socks5://192.53.174.202:8180') # options.add_argument('--proxy-server=%s' % proxy) print(proxy) # print('--proxy-server=%s' % proxy) # options.add_experimental_option("debuggerAddress", '127.0.0.1:9922') print(user_agent) # options.add_argument("--user-agent=" +user_agent) options.add_argument("--incognito") driver=None try: # driver = webdriver.Chrome(options=options) if os.name=='nt': driver = webdriver.Chrome(executable_path='C:/portable/webdriver/chrome102/chromedriver.exe',options=options) else: # driver = webdriver.Remote( # executable_path='/root/drivers/102/chromedriver', # command_executor='http://0.0.0.0:4444/wd/hub', # options=options # ) # driver = webdriver.Chrome(executable_path='/root/drivers/102/chromedriver',options=options) driver = webdriver.Chrome(options=options) except: # driver.quit() # os.system('pkill -f ') # os.system('kill %d' % os.getpid()) traceback.print_exc() sys.exit() return driver.set_window_size(1400,1000) return except: traceback.print_exc() driver=None return None def run_once(jsobj): table=db['rank_detection'] print(jsobj) global driver # i=random.randint(0,9) i=100 if driver is None: time.sleep(8) re_get_webdriver() if driver is None: return try: kw=jsobj['kw'] if jsobj.get('domain') is None: exclude=jsobj['exclude'] domain=None else: domain=jsobj['domain'] exclude=None # driver.get('https://www.google.com?num=100') driver.get('https://api.ipify.org/') time.sleep(5) print(driver.current_url) elmt = driver.find_element(By.XPATH, "//body") print(elmt.text) except: print('exception') traceback.print_exc() driver.quit() sys.exit() par1='tiny3' port='9942' #os.system('docker container restart tiny3') #time.sleep(8) #os.system('docker exec -it tiny3 curl --socks5 choozmo:choozmo9@172.105.205.52:8180 http://www.google.com') #p=random.choice(positive) run_once({'domain':'test','kw':" ttes"}) #run_once({'domain':domain,'kw':kw+' 錢濤'})