|
@@ -29,13 +29,8 @@ import time
|
|
|
from selenium.webdriver.common.keys import Keys
|
|
|
from selenium.webdriver.common.by import By
|
|
|
from selenium.webdriver.chrome.service import Service
|
|
|
-<<<<<<< HEAD
|
|
|
# import pymysql
|
|
|
# pymysql.install_as_MySQLdb()
|
|
|
-=======
|
|
|
-import pymysql
|
|
|
-pymysql.install_as_MySQLdb()
|
|
|
->>>>>>> 1e549144883c5497a3deb5317546a98a9e9c2890
|
|
|
|
|
|
driver = None
|
|
|
|
|
@@ -135,23 +130,35 @@ async def func_expand(kw: str = Form(...),kw2:Optional[str] = Form(None),kw3:Opt
|
|
|
|
|
|
|
|
|
def restart_browser():
|
|
|
- os.system('docker container stop p4444')
|
|
|
+ portnum=random.randint(4444,4555)
|
|
|
+ print(portnum)
|
|
|
+ os.system('docker container stop sel2')
|
|
|
time.sleep(1)
|
|
|
- os.system('docker container rm p4444')
|
|
|
+ os.system('docker container rm sel2')
|
|
|
time.sleep(1)
|
|
|
- os.system('docker run -d -p ' + '4458' + ':4444 --name p4444 --add-host=host.docker.internal:host-gateway --shm-size="2g" selenium/standalone-chrome:103.0')
|
|
|
+ os.system('docker run -d -p'+str(portnum)+':4444 --name sel2 --add-host=host.docker.internal:host-gateway --shm-size="2g" selenium/standalone-chrome:103.0')
|
|
|
time.sleep(18)
|
|
|
- options = webdriver.ChromeOptions()
|
|
|
- options.add_argument("--no-sandbox")
|
|
|
- options.add_argument("--disable-dev-shm-usage")
|
|
|
- options.add_argument('--headless')
|
|
|
-<<<<<<< HEAD
|
|
|
- s = Service('/root/drivers/102/chromedriver')
|
|
|
- driver = webdriver.Chrome(options=options,service=s)
|
|
|
-=======
|
|
|
- ddriver = webdriver.Remote(command_executor='http://127.0.0.1:4458/wd/hub',options=options)
|
|
|
->>>>>>> 1e549144883c5497a3deb5317546a98a9e9c2890
|
|
|
- driver.set_window_size(950, 20000)
|
|
|
+ global driver
|
|
|
+
|
|
|
+ if driver is not None:
|
|
|
+ print('closing')
|
|
|
+ driver.quit()
|
|
|
+ driver=None
|
|
|
+ try:
|
|
|
+ options = webdriver.ChromeOptions()
|
|
|
+ options.add_argument("--no-sandbox")
|
|
|
+ #options.add_argument("--disable-dev-shm-usage")
|
|
|
+ options.add_argument('--headless')
|
|
|
+ options.add_argument("--incognito")
|
|
|
+ try:
|
|
|
+ #driver = webdriver.Chrome(options=options,executable_path='/root/driver/chromedriver103')
|
|
|
+ driver = webdriver.Remote(command_executor='http://127.0.0.1:'+str(portnum)+'/wd/hub',options=options)
|
|
|
+ except:
|
|
|
+ return None
|
|
|
+ except:
|
|
|
+ print('開啟失敗')
|
|
|
+ driver=None
|
|
|
+ return None
|
|
|
return driver
|
|
|
|
|
|
@app.post("/ranking/")
|
|
@@ -199,9 +206,9 @@ async def ranking(kw: str = Form(...), domain:str = Form(...),kw2:Optional[str]
|
|
|
result.append(datadict)
|
|
|
print(domain_name)
|
|
|
print(datadict)
|
|
|
- driver.quit()
|
|
|
+ web_driver.quit()
|
|
|
print('數量',len(elmts))
|
|
|
- time.sleep(30)
|
|
|
+ time.sleep(90)
|
|
|
|
|
|
# return "ok"
|
|
|
# return RedirectResponse(url="/ranking_result",)
|