python-3.x - 将数字列从 url 保存到 python 数组
问题描述
我想将此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
了,我认为这不是正确的方法。有人可以帮我吗?
解决方案
如果您尝试打开问题中的链接(在浏览器中使用隐身模式或类似的方式,即删除您的 cookie),您会看到您需要登录网站才能访问该页面。这就是为什么您400 Bad Request
从服务器收到错误响应的原因。
从您尝试访问的网站的常见问题解答部分:
身份验证如何工作?Advent of Code 使用 OAuth 通过其他服务确认您的身份。当您登录时,您只会将您的凭据提供给该服务 - 绝不会提供给 Advent of Code。然后,您使用的服务会告诉 Advent of Code 服务器您就是您。一般来说,除了已经公开的信息之外,这不会显示任何关于您的信息;以下是来自 Reddit 和 GitHub 的示例。Advent of Code 将记住您用于身份验证的服务中的唯一 ID、姓名、URL 和图像。
该网站使用 OAuth 处理对您创建的 url 的登录将需要这些访问令牌。您可以使用类似的库python-oauth2
来帮助您解决此问题(还有其他库,因此您可以阅读并决定要使用哪个库)。创建和理解如何发出 http 请求超出了这个答案的范围。我建议您在互联网上四处寻找一些解释,然后再试一次,如果您遇到困难,请再问一个问题。否则,从浏览器保存文件可能会更容易......但我会把这个答案留给下一个遇到同样问题的人。
推荐阅读
- javascript - React Typescript 错误 TS2332:类型“{...}”不可分配给类型“{...}”
- swift - 为什么0的乘法逆会导致无穷大?
- java - Camunda 任务,用于过滤掉 xml 元素的某些部分
- vb.net - !ArgumentOutofRangeException 未处理
- ansible - 在ansible中转义特殊字符
- azure - [AuthBot]向 azure bot Web 应用添加身份验证
- python - 具有多个键并否定其中一些键的 Python 排序列表
- r - 如何使用 R 将数据框中的两列转换为一个列表
- php - Laravel 8.x:如何防止用户访问他们不允许访问的项目?
- terraform - AWS Athena 不返回任何行