selenium捕获ajax请求内容
import json import os, sys import platform import time from seleniumwire import webdriver from selenium.webdriver.firefox.firefox_binary import FirefoxBinary system_ver = platform.system().lower() ff = None with open('cookies.json', 'r+', encoding='UTF-8') as f: cookies = list(json.loads(f.read())) url = "https://www.douyin.com/search/%E5%B0%8F%E7%8C%AB?publish_time=0&sort_type=0&source=tab_search&type=video" if system_ver == 'windows': ff = FirefoxBinary("C:/Program Files/Mozilla Firefox/firefox.exe") # if system_ver == 'linux': # ff = None gecko = os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), "geckodriver.exe") opts = webdriver.FirefoxOptions() opts.add_argument("--headless") driver = webdriver.Firefox(firefox_binary=ff, executable_path=gecko, options=opts) driver.get(url) time.sleep(2) for val in cookies: driver.add_cookie(val) driver.get(url) time.sleep(5) data_list = [] for request in driver.requests: if request.response: data = str(str(request.body).encode(),encoding='utf-8') print(data) if request.url.find('https://www.douyin.com/aweme/v1/web/search/item/') >= 0: data_list.append({ 'url':request.url, 'data':data }) with open('./results/data.json', 'w+', encoding='UTF-8') as f: f.write(json.dumps(data_list,indent=4)) print('文件写入成功') driver.quit()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理