首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python BS4与SDMX

Python BS4与SDMX
EN

Stack Overflow用户
提问于 2016-09-16 21:31:21
回答 1查看 249关注 0票数 1

我想检索SDMX文件(如https://www.bundesbank.de/cae/servlet/StatisticDownload?tsId=BBK01.ST0304&its_fileFormat=sdmx&mode=its)中给定的数据。我尝试使用BeautifulSoup,但它似乎看不到标签。在下面的代码中

代码语言:javascript
复制
import urllib2
from bs4 import BeautifulSoup 
url = "https://www.bundesbank.de/cae/servlet/StatisticDownload?tsId=BBK01.ST0304&its_fileFormat=sdmx"
html_source = urllib2.urlopen(url).read()
soup = BeautifulSoup(html_source, 'lxml')
ts_series = soup.findAll("bbk:Series")

这给了我一个空的对象。

BS4是错误的工具吗,或者(更有可能的)我做错了什么?提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-16 21:58:48

soup.findAll("bbk:series")将返回结果。

事实上,在这种情况下,即使您使用lxml作为解析器,BeautifulSoup仍然会将其解析为html,因为html标签是大小写敏感的,BeautifulSoup会将所有标签小写,因此soup.findAll("bbk:series")可以工作。请参阅官方文档中的Other parser problems

如果您希望将其解析为xml,请改用soup = BeautifulSoup(html_source, 'xml')。它还使用lxml,因为lxml是BeautifulSoup唯一的xml解析器。现在,您可以使用ts_series = soup.findAll("Series")获得结果,因为beautifulSoup将剥离名称空间部分bbk

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39532776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档