【问题标题】:python requests returning incomplete jsonpython请求返回不完整的json
【发布时间】:2021-08-06 02:40:18
【问题描述】:

我开始使用网页抓取页面在滚动时加载更多数据,所以我在执行此操作时打开了 get url,并获得了我需要的所有数据的 json,但我的代码没有返回我在浏览器中获得的所有 json只有 2 个结果不是第一个或最后 2 个,甚至不是彼此相邻,我不知道为什么它会删除其余的结果

import requests

jsonUrl = "https://www.deviantart.com/_napi/da-user-profile/api/gallery/contents?username=Dreamsquid&offset=48&limit=24&folderid=58533887"
response = requests.get(jsonUrl)
jsonResponse = response.json()
print(jsonResponse)

【问题讨论】:

    标签: python web-scraping python-requests


    【解决方案1】:

    尝试在我的控制台上运行相同的 python 命令,并将控制台结果与我们在 chrome 中打开 url 得到的结果进行比较。然后我在在线 json 比较器 (Json-Diff) 上格式化并比较了完整的 json,但我真的看不出任何区别(除了 " 和 ' 的区别)

    我认为问题可能出在您的控制台上。由于 json 有点大,可能无法打印完整的 json。我建议将输出写入文件,然后比较结果

    相同的代码:-

    import requests
    
    jsonUrl = "https://www.deviantart.com/_napi/da-user-profile/api/gallery/contents?username=Dreamsquid&offset=48&limit=24&folderid=58533887"
    response = requests.get(jsonUrl)
    jsonResponse = response.json()
    print(jsonResponse)
    with open('data.json', 'w') as json_file:
        json.dump(jsonResponse, json_file)
    

    希望这可以回答您的问题。如果这不起作用或任何其他问题或任何其他问题,请在 cmets 部分告诉我。

    谢谢

    【讨论】:

    • 嗨,J.Doe,为您未来的网络抓取项目提供一些提示和额外信息。如果网页使用 JavaScript 填充数据,您必须通过真正的浏览器运行它,例如使用 Selenium 库的 Chrome Headless。请参考以下帖子:-stackoverflow.com/questions/47730671/…
    猜你喜欢
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 2020-11-24
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    相关资源
    最近更新 更多