问题描述
使用Selenium,Requests和Beautiful Soup,我希望能够找到并打印此.m3u8链接(或此处显示的任何链接),但我不知道在Python中显示请求。
def locator(url):
driver = sp.driver # just geckodriver with profile
driver.get(url)
sleep(4)
# from here needs to somehow access the network tab & locate GET requests with Host == "cfvod.kaltura.com"
解决方法
必须使用ChromeDriver,PyChrome和The DevTools协议,但这行得通:
def outputstart(**kwargs):
print("START ",kwargs)
driver = sp.driver # my chromedriver profile with an argument added for port 8000
dev_tools = pychrome.Browser(url="http://localhost:8000")
tab = dev_tools.list_tab()[0]
tab.start()
url = 'https://google.com'
start = time.time()
driver.get(url)
tab.call_method("Network.emulateNetworkConditions",offline=False,latency=100,downloadThroughput=93750,uploadThroughput=31250,connectionType="wifi")
def outputstart(**kwargs):
print("START ",kwargs)
tab.call_method("Network.enable",_timeout=20)
tab.set_listener("Network.requestWillBeSent",outputstart)
,
https://stackoverflow.com/a/68363046/8491363
我使用 selenium(当前版本 3.0)来读取网络日志。查看上面的链接。
另一种方法是使用 Selenium 4.0,但它仍处于测试状态。当 4.0 发布时,它将正式支持 Chrome 开发工具的东西。