gpt4 book ai didi

python - 如何使用 python 请求(获取)和读取 xml 文件?

转载 作者:太空狗 更新时间:2023-10-30 02:39:44 24 4
gpt4 key购买 nike

我尝试在 Treasury Direct 上请求 RSS 提要使用 Python。过去我使用过 urllib,或者请求库来实现这个目的并且它工作正常。然而这一次,我继续得到 406 status error ,据我所知,这是页面告诉我它不接受请求中的 header 详细信息的方式。我试过修改它,但无济于事。
这是我试过的方法

import requests
url = 'https://www.treasurydirect.gov/TA_WS/securities/announced/rss'
user_agent = {'User-agent': 'Mozilla/5.0'}
response = requests.get(url, headers = user_agent)
print response.text

环境:Python 2.7 和 3.4。我也尝试通过 curl 访问,但出现了同样的错误。

我相信这是特定于页面的,但无法弄清楚如何适本地构建阅读此页面的请求。

我在页面上找到了一个 API,我可以用它读取 json 中的相同数据,所以这个问题现在对我来说更像是一个好奇心,而不是一个真正的问题。

任何答案将不胜感激!

标题详细信息

{'surrogate-control': 'content="ESI/1.0",no-store', 'content-language': 'en-US', 'x-content-type-options': 'nosniff', 'x-powered-by': 'Servlet/3.0', 'transfer-encoding': 'chunked', 'set-cookie': 'BIGipServerpl_www.treasurydirect.gov_443=3221581322.47873.0000; path=/; Httponly; Secure, TS01598982=016b0e6f4634928e3e7e689fa438848df043a46cb4aa96f235b0190439b1d07550484963354d8ef442c9a3eb647175602535b52f3823e209341b1cba0236e4845955f0cdcf; Path=/', 'strict-transport-security': 'max-age=31536000; includeSubDomains', 'keep-alive': 'timeout=10, max=100', 'connection': 'Keep-Alive', 'cache-control': 'no-store', 'date': 'Sun, 23 Apr 2017 04:13:00 GMT', 'x-frame-options': 'SAMEORIGIN', '$wsep': '', 'content-type': 'text/html;charset=ISO-8859-1'}

最佳答案

您需要将accept 添加到 header 请求中:

import requests

url = 'https://www.treasurydirect.gov/TA_WS/securities/announced/rss'
headers = {'accept': 'application/xml;q=0.9, */*;q=0.8'}
response = requests.get(url, headers=headers)

print response.text

关于python - 如何使用 python 请求(获取)和读取 xml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43567374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com