tongjy00880044 2024-09-12 12:46 采纳率: 100%
浏览 33
已结题

如何批量获取json的url

img


怎么写代码获取json里,headers中的url,不同时间搜索,这个url都会变

  • 写回答

22条回答 默认 最新

  • 妄北y 嵌入式领域优质创作者 2024-09-12 13:02
    关注

    以下参考免费微信小程序:皆我百晓生 作答,并由妄北y整理回复。

    从您提供的图1和图2的内容来看,您似乎想要从网页的网络请求中提取JSON格式的URL。这些请求通常在浏览器的开发者工具(DevTools)的“网络(Network)”标签中显示。要使用Python批量获取这些URL,您可以使用以下步骤:

    1. 使用浏览器的开发者工具抓取网页的网络请求。
    2. 从网络请求中找到JSON格式的请求URL。
    3. 使用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中,或者在代码中指定路径。

    这段代码只是一个基本的示例,您可能需要根据实际情况进行调整和优化。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(21条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月13日
  • 已采纳回答 9月12日
  • 创建了问题 9月12日

悬赏问题

  • ¥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语言)