Python请求HTML-Can';找不到具体的数据

Python请求HTML-Can';找不到具体的数据,python,python-requests-html,Python,Python Requests Html,我正在尝试使用python请求html库刮取网页。 指向该网页的链接是, 下图显示了我想要得到的数据(红色四舍五入数据) 我的代码是这样的 from requests_html import HTMLSession session = HTMLSession() r = session.get('https://www.koyfin.com/charts/g/USADebt2GDP?view=table') r.html.render(timeout=60) print(r.text) 像

我正在尝试使用python请求html库刮取网页。
指向该网页的链接是, 下图显示了我想要得到的数据(红色四舍五入数据)

我的代码是这样的

from requests_html import HTMLSession

session = HTMLSession()
r = session.get('https://www.koyfin.com/charts/g/USADebt2GDP?view=table')
r.html.render(timeout=60)
print(r.text)
像这样的网页html

from requests_html import HTMLSession

session = HTMLSession()
r = session.get('https://www.koyfin.com/charts/g/USADebt2GDP?view=table')
r.html.render(timeout=60)
print(r.text)

问题是,当我浏览网页时,我找不到我想要的数据,在HTML代码中我可以看到 正文部分中第一个div标记内的数据。 对如何解决这个问题有什么具体的建议吗


谢谢。

问题在于,在初始页面加载之后,JavaScript代码正在加载数据。一种解决方案是使用
Selenium
驱动web浏览器刮取页面。但是,使用常规浏览器,我查看了正在进行的网络请求,您查找的数据似乎是通过以下AJAX调用加载的:

https://api.koyfin.com/api/v2/commands/g/g.gec/USADebt2GDP?dateFrom=2010-08-20&dateTo=2020-09-05&period=yearly
因此:

印刷品:

{'ticker': 'USADebt2GDP', 'companyName': 'United States Gross Federal Debt to GDP', 'startDate': '1940-12-31T00:00:00.000Z', 'endDate': '2019-12-31T00:00:00.000Z', 'unit': 'percent', 'graph': {'column_names': ['Date', 'Volume'], 'data': [['2010-12-31', 91.4], ['2011-12-31', 96], ['2012-12-31', 100.1], ['2013-12-31', 101.2], ['2014-12-31', 103.2], ['2015-12-31', 100.8], ['2016-12-31', 105.8], ['2017-12-31', 105.4], ['2018-12-31', 106.1], ['2019-12-31', 106.9]]}, 'withoutLiveData': True}
['2010-12-31', 91.4]
['2011-12-31', 96]
['2012-12-31', 100.1]
['2013-12-31', 101.2]
['2014-12-31', 103.2]
['2015-12-31', 100.8]
['2016-12-31', 105.8]
['2017-12-31', 105.4]
['2018-12-31', 106.1]
['2019-12-31', 106.9]
我是如何找到URL的

当您单击最后一条消息时:


非常感谢您的重播,我有一些问题。我对AJAX一无所知,所以我想知道您是如何创建或从何处获得AJAX调用的?您是如何知道参数名称的?在我的浏览器Chrome中,我用鼠标右键单击并从关联菜单中选择“Inspect”。然后我从检查菜单中选择了“网络”。然后我选择了“XHR”向我展示XMLHttpRequest调用(所谓的“AJAX”异步Java和XML调用)。如果答案有用,请不要忘记“接受”答案。哇,太酷了。使用JSON非常有用。谢谢朋友