【问题标题】:Save column of numbers from url to python array将数字列从 url 保存到 python 数组
【发布时间】:2020-03-25 01:51:06
【问题描述】:

我想将this url 中的数据列保存到python 中的数组中。例如,我用 pandas.save_table 进行了尝试:

import pandas as pd
pd.read_table('https://adventofcode.com/2019/day/1/input', sep='')

但我得到HTTPError: HTTP Error 400: Bad Request,我认为这不是正确的做法。 有人可以帮我吗?

【问题讨论】:

  • 如果您不告诉我们如何您具体尝试了(发布minimal reproducible example)和是什么,那么很难为您提供帮助> 完全没有成功(发布错误消息)。 stackoverflow.com/help/how-to-ask
  • 好的,没问题。我认为我尝试过的方法并没有太大帮助,因为它可能太错误了......但是感谢您的建议

标签: python-3.x pandas https


【解决方案1】:

如果您尝试打开问题中的链接(在浏览器中使用隐身模式或类似的方式,即删除您的 cookie),您会看到您需要登录网站才能访问该页面。这就是为什么您会收到 400 Bad Request 错误作为来自服务器的响应。

来自您尝试访问的网站的常见问题解答部分:

身份验证如何工作? Advent of Code 使用 OAuth 来确认 您通过其他服务的身份。当您登录时,您只有 将您的凭据提供给该服务-永远不要出现代码。然后, 您使用的服务告诉 Advent of Code 服务器您是 真的是你。一般来说,这不会显示任何关于您的信息 已经公开的内容;以下是来自 Reddit 和 GitHub 的示例。 Advent of Code 将记住您的唯一 ID、姓名、URL 和图像 来自您用来进行身份验证的服务。

网站使用 OAuth 处理对您创建的 url 的登录将需要这些访问令牌。您可以使用 python-oauth2 之类的库来帮助您解决此问题(还有其他库,因此您可以阅读并决定要使用哪个库)。创建和理解如何发出 http 请求超出了这个答案的范围。我建议您在互联网上四处寻找一些解释,然后再试一次,如果您遇到困难,请再问一个问题。否则,从浏览器中保存文件可能会更容易......但我会把这个答案留给下一个遇到同样问题的人。

【讨论】:

    猜你喜欢
    • 2016-04-13
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    相关资源
    最近更新 更多