【问题标题】:Python 2.7 requests not reading complete bodyPython 2.7 请求不读取完整的正文
【发布时间】:2018-07-21 18:42:52
【问题描述】:

我正在尝试使用 Python 2.7 中的 requests 模块读取 Web 服务调用的正文。结果的主体是 CSV 数据。

请求只是一个 GET。我可以在 Chrome 中运行 url,它会返回 200 行的完整响应。网址如下所示:

http://localhost:8080/summary-report?endTime=9999999&startTime=0

当我尝试从 Python 获取数据时,它只检索第一行数据。我查看响应头,看到响应的长度只有 122 字节,大约是第一行的长度。我已经从 Python 运行了很多次,并且只返回第一行是一致的。

代码只有:

        r = requests.get(url)
        ans = r.content

CSV 文件的每一行都带有换行符吗? 还是因为我在 url 中使用 localhost? 我也用 127.0.0.1 尝试过,但看到了类似的行为。 可能与符号是 URL 中的问题?

【问题讨论】:

  • 页面是否有动态生成的内容?
  • 是的。页面是动态生成的。
  • 所以这就是原因。 request.get (url) 仅获取 URL 的主页。您无法使用它获取动态生成的内容。
  • 我也尝试过 urllib2,结果相似。改用什么?
  • 你需要一个JS引擎来解析和运行javascript,这样你才能得到动态生成的内容。

标签: python python-requests


【解决方案1】:

您可以使用request.get()获得动态生成的内容

您需要 JavaScript 引擎来解析和运行页面内的 JavaScript 代码。其中一些可以在下面找到:

http://code.google.com/p/spynner/

http://phantomjs.org/

http://zombie.labnotes.org/

【讨论】:

    猜你喜欢
    • 2018-07-28
    • 2012-02-09
    • 1970-01-01
    • 2015-09-01
    • 2012-08-22
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    相关资源
    最近更新 更多