关于使用-Python-Selenium-模块-对-阿里云-视频点播-访问日志的批量下载的方法记录
Posted on 2025-07-28 19:07 520_1351 阅读(17) 评论(0) 收藏 举报关于Ali Cloud / 阿里云 ,对于视频点播的访问日志,如果没有配置,日志推送 的情况下
默认只能看到一个月的访问日志,如果有大量访问的情况,基本上就是每小时一个日志,一天24个日志.gz格式的文件
但是要下载所有的访问日志,却只能一个一个的下载,于是笔者想到可以使用python,基于 Selenium模块,进行批量下载
记录核心代码和逻辑如下:
dst_date='2025-06-28' End_date='2025-07-29' while True: print(dst_date) dst_date_xpath=f"//td[@title='{dst_date}']" date_picker = driver.find_element(By.XPATH, "//input[@role='combobox']") date_picker.click() date_input = driver.find_element(By.XPATH, "//input[@placeholder='YYYY-MM-DD']") date_input.send_keys(Keys.CONTROL + 'a') date_input.send_keys(Keys.DELETE) date_input.send_keys(dst_date) date_input.send_keys(Keys.ENTER) # 等待可以点击日期 ,这样就能确保不异常,Author: QQ-5201351 date_choose = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, dst_date_xpath))) date_choose.click() Query_Button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.next-btn.next-medium.next-btn-primary"))) Query_Button.click() # 可能遇到一天日志没有,或者太少,下面就没有页码,这里只是为了切换日期后,归位到第一页,无论有没有第一页、都会到后面的下载过程!!!! try: Fist_Page = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//span[contains(@class,'next-btn-helper') and text()='1']"))) Fist_Page.click() except: pass time.sleep(5) while True: download_links = [link.get_attribute('href') for link in WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, "//a[text()='下载']")))] for i in download_links: print(i) driver.get(i) Next_Button=WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "button.next-btn.next-next"))) Is_last_page=Next_Button.get_attribute('disabled') if not Is_last_page: Next_Button.click() time.sleep(5) else: break dst_date=get_next_day(dst_date) if dst_date==End_date: break
这样就能自动下载自己定义的日期范围内的日志了,不过最多,也只能下载到1个月的日志!对于生产环境,需要更多的日志,还是建议配置上 【日志推送】
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/19009482
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!
浙公网安备 33010602011771号