如何通过API或RSS从网站获取数据?

How to get data from website via API or RSS?

提问人:jency 提问时间:10/24/2023 最后编辑:petezurichjency 更新时间:10/24/2023 访问量:49

问:

我需要从这个网站提取数据:https://nasdaqbaltic.com/statistics/en/news。从2010-01-01到现在。RSS 在页面上提供了 100 个项目,所以它只是一部分。 公司 TeliaLietuva AB.如何获取2010年1月至今的数据并将数据存储到XML文件中?`

蟒蛇 RSS

评论

0赞 Community 10/28/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答:

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中提取数据的。但它与分页有关。此时,我在第一页提取了数据。