我正在尝试使用pandas和以下代码从url“http://gsa.nic.in/report/janDhan.html”提取嵌套表:
import pandas as pd
url ="http://gsa.nic.in/report/janDhan.html"
table=pd.read_html(url)[3]
print(table)
table.to_excel("GSA.xlsx")
但是,它只打印表格的标题。请引导。我是新手,不想使用beautifulsoup。如果熊猫不能完成预期任务,为什么
Tags:
正如Eric指出的,这个表是由JavaScript填充的
然而,通过使用Chrome的开发工具,可以很容易地截获页面内部正在进行的API调用
转到“网络”选项卡并按XHR进行筛选,您将找到页面正在调用的端点,即
http://gsa.nic.in/gsaservice/services/service.svc/gsastatereport?schemecode=PMJDY
然后,像这样一个简单的脚本将为您提供格式良好的数据
该表由javascript填充,因此pandas获取的不是HTML。您可以通过在浏览器中查看页面源并搜索表中的值(如“PRADESH”)来确认这一点
解决方案是使用诸如
requests-html
或selenium
之类的库来刮取javascript呈现的页面。然后你可以用pandas解析HTML相关问题 更多 >
编程相关推荐