怎么写代码获取json里,headers中的url,不同时间搜索,这个url都会变
22条回答 默认 最新
关注 以下参考免费微信小程序:皆我百晓生 作答,并由妄北y整理回复。
从您提供的图1和图2的内容来看,您似乎想要从网页的网络请求中提取JSON格式的URL。这些请求通常在浏览器的开发者工具(DevTools)的“网络(Network)”标签中显示。要使用Python批量获取这些URL,您可以使用以下步骤:
- 使用浏览器的开发者工具抓取网页的网络请求。
- 从网络请求中找到JSON格式的请求URL。
- 使用Python编写代码,通过自动化工具(如Selenium)来模拟浏览器行为,从而获取这些URL。
下面是一个使用Python和Selenium来获取网页网络请求中JSON URL的示例代码:
from selenium import webdriver from selenium.webdriver.common.by import By import time # 初始化Selenium WebDriver driver = webdriver.Chrome() # 打开目标网页 driver.get("https://ldlink.nih.gov") # 等待页面加载完成 time.sleep(5) # 根据网络情况调整等待时间 # 打开开发者工具 driver.execute_script("window.open('about:devtools-toolbox?id=YOUR_ELEMENT_ID&type=YOUR_ELEMENT_TYPE', '', 'width=800, height=800');") # 切换到开发者工具窗口 driver.switch_to.window(driver.window_handles[1]) # 切换到“网络”标签 driver.find_element(By.ID, "tab-network").click() # 清空网络请求记录 driver.find_element(By.ID, "btn-clear").click() # 返回到原始网页窗口 driver.switch_to.window(driver.window_handles[0]) # 触发一些操作,以生成网络请求(例如,点击某个按钮或等待某些内容加载) # ... # 再次切换到开发者工具窗口 driver.switch_to.window(driver.window_handles[1]) # 获取网络请求列表 network_requests = driver.find_element(By.ID, "network-requests") # 等待网络请求加载完成 time.sleep(5) # 根据网络情况调整等待时间 # 提取JSON URL json_urls = [] network_requests.find_elements(By.CSS_SELECTOR, ".request") # 获取所有请求 for request in network_requests.find_elements(By.CSS_SELECTOR, ".request"): url = request.get_attribute("data-href") # 获取请求的URL if url.endswith(".json"): # 检查URL是否以.json结尾 json_urls.append(url) # 打印提取到的JSON URL for url in json_urls: print(url) # 关闭浏览器 driver.quit()
请注意,这段代码需要您根据实际情况调整,例如等待时间、元素ID和类型等。此外,您可能需要安装Selenium库和相应的WebDriver。
安装Selenium库:
pip install selenium
下载对应版本的ChromeDriver(与您的Chrome浏览器版本相匹配)并将其路径添加到系统PATH中,或者在代码中指定路径。
这段代码只是一个基本的示例,您可能需要根据实际情况进行调整和优化。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
- ¥20 网站后台使用极速模式非常的卡
- ¥20 Keil uVision5创建project没反应
- ¥15 mmseqs内存报错
- ¥15 vika文档如何与obsidian同步
- ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
- ¥15 陆空双模式无人机飞控设置
- ¥15 sentaurus lithography
- ¥100 求抖音ck号 或者提ck教程
- ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)