123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- import time
- import json
- from selenium import webdriver
- from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
- import time
- import redis
- import os
- import urllib.parse
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support import expected_conditions as EC
- from selenium.webdriver.common.keys import Keys
- import codecs
- import random
- import requests
- import datetime
- import dataset
- import time
- import traceback
- import sys
- import fire
- from userAgentRandomizer import userAgents
- def init_browser(proxy1='proxy1',tiny1='tiny1',socks5="9050",debug='9922',cdriver=''):
- os.system('docker container restart '+proxy1)
- os.system('docker container restart '+tiny1)
- ua = userAgents()
- user_agent = ua.random()
- time.sleep(12)
- options = webdriver.ChromeOptions()
- options.add_argument('--headless')
- # options.add_argument('--proxy-server=socks5://127.0.0.1:'+socks5)
- options.add_argument('--disable-dev-shm-usage')
- options.add_argument('--no-sandbox')
- options.add_argument("--user-agent=" +user_agent)
- options.add_experimental_option("debuggerAddress", "127.0.0.1:"+debug)
- # options.add_experimental_option("debuggerAddress", "192.168.192.45:9922")
- # options.add_experimental_option("debuggerAddress", q[2])
- # options.add_argument("--user-agent=" +user_agent)
- options.add_argument("--incognito")
- # driver = webdriver.Chrome(executable_path=r'C:\portable\webdriver\chrome98\chromedriver.exe',options=options)
- driver = webdriver.Chrome(executable_path=cdriver,options=options)
- # driver = webdriver.Chrome(executable_path=epath,options=options)
- driver.delete_all_cookies()
- driver.set_window_size(1400,1000)
- return driver
- print(q)
- process_query(q)
- db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/seo?charset=utf8mb4')
- yt_lst=[]
- #ace YAt1PdQTp4Q
- #choozmo 'YIftavPmHxo','K5DEJXajtqA'
- #cursor=['LmWkYVV7wtU','pIPs1n7PTMk','K5DEJXajtqA','YIftavPmHxo','UeZjaenjkx4','YAt1PdQTp4Q','pWx4Sb31JZU','80MN3fcbNKk','OLAzzz-V0p4']
- r = redis.Redis(host='db.ptt.cx', port=6379, db=2,password='choozmo9')
- data=r.get('watch_yt')
- jstext=data.decode('utf-8')
- jsobj=json.loads(jstext)
- #js=random.choice(jsobj)
- cursor=jsobj
- #cursor=['IsUte9FeL-0','7SsOUn3ufgw','YAt1PdQTp4Q','lnROUcxy6W0','Hf3uts9fO54','YIftavPmHxo','K5DEJXajtqA']
- #cursor=db.query('select * from sbir_yt')
- #for c in cursor:
- # yt_lst.append(c['url'])
- yt_lst=cursor
- class JParams(object):
- def get(self, yt,proxy1,tiny1,socks5,debug,cdriver):
- if 'SBIR' in yt:
- yt=random.choice(yt_lst)
- url='https://www.youtube.com/watch?v='+yt
- print(url)
- driver=init_browser(proxy1='proxy1',tiny1='tiny1',socks5="9050",debug='9922',cdriver='/root/webdriver/98/chromedriver')
- #driver.get('https://www.youtube.com/watch?v=K5DEJXajtqA')
- try:
- driver.get(url)
- except:
- driver.quit()
- sys.exit()
- return
- video = driver.find_element_by_id('movie_player')
- video.send_keys(Keys.SPACE) #hits space
- time.sleep(1)
- video.click() #mouse click
- driver.execute_script('window.open("'+url+'","_blank");')
- driver.execute_script("window.scrollTo(0, window.scrollY + 400)")
- time.sleep(3)
- try:
- driver.get(url)
- except:
- driver.quit()
- sys.exit()
- return
- time.sleep(35)
- driver.quit()
- sys.exit()
- if __name__ == '__main__':
- fire.Fire(JParams)
|