在Python 3中,requests.get()给出不完整的json响应

问题描述 投票:0回答:2

我正在尝试使用

requests.get()
获取数据。并且响应数据很大(包含10000条mongodb记录)。但我得到的回应几乎总是被破坏。我很少得到正确的结果。

示例:
应该是这样的:

[
    {
        "_id":"5a72c839c634133e1e9ab502",
        "data":{"today_wh":13500},
        "dts":"2018-02-01T07:56:31.000Z",
        "ts":1517471791
    },
    {
        "_id":"5a72c839c634133e1e9ab503",
        "data":{"today_wh":13500},
        "dts":"2018-02-01T07:57:06.000Z",
        "ts":1517471826
    }
]

是这样的:

[
    {
        "_id":"5a72c8ecc634133e1e9ab51b",
        "data":{"today_wh":13700},
        "dts":"2018-02-01T08:00:01.000Z",
        "ts":1517472001
    },
    {
        "_id":

怎样才能得到完整的结果?

python python-3.x python-requests
2个回答
0
投票

requests 设置的默认 User-Agent 是 'User-Agent': 'python-requests/2.7.6'。尝试模拟,因为它来自浏览器而不是脚本。尝试按如下方式模拟用户代理:

import requests
url = "http://example.com/"
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
    'Content-Type': 'text/html',
}
response = requests.get(url, headers=headers)
html = response.text

0
投票

就我而言,这是由于网速较低而发生的。

© www.soinside.com 2019 - 2024. All rights reserved.