提问人:jency 提问时间:10/24/2023 最后编辑:petezurichjency 更新时间:10/24/2023 访问量:49
如何通过API或RSS从网站获取数据?
How to get data from website via API or RSS?
问:
我需要从这个网站提取数据:https://nasdaqbaltic.com/statistics/en/news。从2010-01-01到现在。RSS 在页面上提供了 100 个项目,所以它只是一部分。 公司 TeliaLietuva AB.如何获取2010年1月至今的数据并将数据存储到XML文件中?`
答:
0赞
petezurich
10/24/2023
#1
试试这个:
import requests
import pandas as pd
params = {
'start': '2005-01-01',
'end': '2023-10-24',
'historical': '0',
'_': '1698143883305',
}
response = requests.get(
'https://nasdaqbaltic.com/statistics/en/instrument/LT0000123911/trading/chart_price_json',
params=params,
)
data = json.loads(response.text)["data"]["data"]
df = pd.DataFrame(data, columns=["date", "price", "volume"])
df["date"] = pd.to_datetime(df["date"], unit="ms")
display(df.head(3))
display(df.tail(3))
输出
date price volume
0 2005-01-03 14:30:00 0.834106 56282
1 2005-01-04 14:30:00 0.841829 109255
2 2005-01-05 14:30:00 0.845690 200466
date price volume
4762 2023-10-20 13:30:00 1.625 48853
4763 2023-10-23 13:30:00 1.625 52914
4764 2023-10-24 13:30:00 1.625 8361
要将数据另存为 XML,您可以执行以下操作:
df.to_xml("data.xml")
评论
0赞
jency
10/24/2023
其实不行,应该是这样的结构: “item”: [ { “company”: “Snaige”, “messageUrl”: “view.news.eu.nasdaq.com/...”, “published”: “2023-10-03 19:00:00 +0300”, “headline”: “关于获得投票权的通知”。格式与 RSS 中的格式相同。},
0赞
petezurich
10/24/2023
我的答案回答了你原来的问题。如果您有新要求,请发布新问题。另请记住,SO 不是代码编写服务。;0) 你现在需要的应该是你完全可以从我提出的代码中推导出来的东西。
0赞
jency
10/24/2023
那么如何从RSS页面中获取组合的xml呢?
0赞
petezurich
10/25/2023
你试过我给你的代码吗?您想“通过API或RSS”获取数据。我的答案是,代码可以在一个组合数据帧中生成从 2005 年到今天的数据,您可以将其导出为 XML。
0赞
jency
10/25/2023
是的。但它是关于价格的,而不是 RSS 中的信息。我是关于从RSS中提取数据的。但它与分页有关。此时,我在第一页提取了数据。
评论