You've already forked Douyin_Web_Live
浏览器简单抽象
This commit is contained in:
@ -1,49 +0,0 @@
|
||||
import requests
|
||||
import json
|
||||
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.edge.options import Options
|
||||
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
|
||||
from selenium.webdriver.common.proxy import Proxy, ProxyType
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support.expected_conditions import presence_of_element_located
|
||||
|
||||
from config.helper import config
|
||||
|
||||
def go(url):
|
||||
chrome_options = Options()
|
||||
chrome_options.add_argument('--proxy-server=%s:%s' % (config()['mitm']['host'], config()['mitm']['port']))
|
||||
|
||||
# 2022-04-09 添加一个忽略证书
|
||||
chrome_options.add_argument('-ignore-certificate-errors')
|
||||
chrome_options.add_argument('-ignore -ssl-errors')
|
||||
chrome_options.add_argument('--incognito')
|
||||
|
||||
proxy = Proxy()
|
||||
proxy.proxy_type = ProxyType.MANUAL
|
||||
proxy.http_proxy = "%s:%s" % (config()['mitm']['host'], config()['mitm']['port'])
|
||||
proxy.ssl_proxy = "%s:%s" % (config()['mitm']['host'], config()['mitm']['port'])
|
||||
|
||||
capabilities = DesiredCapabilities.EDGE
|
||||
proxy.add_to_capabilities(capabilities)
|
||||
|
||||
with webdriver.Chrome(options=chrome_options,
|
||||
desired_capabilities=capabilities,
|
||||
executable_path=config()['webdriver']['bin']
|
||||
) as driver:
|
||||
wait = WebDriverWait(driver, 10)
|
||||
|
||||
driver.implicitly_wait(24 * 60 * 60)
|
||||
|
||||
driver.get(url)
|
||||
|
||||
first_result = wait.until(presence_of_element_located((By.ID, "RENDER_DATA")))
|
||||
json_str = requests.utils.unquote(first_result.get_attribute("textContent"))
|
||||
json_obj = json.loads(json_str)
|
||||
|
||||
roomInfo = json_obj['initialState']['roomStore']['roomInfo']
|
||||
print(roomInfo)
|
||||
|
||||
wait.until(presence_of_element_located((By.CLASS_NAME, "oSu9Aw19")))
|
||||
|
Reference in New Issue
Block a user