我想解析这个url中的表并将其导出为csv:
http://www.bde.es/webbde/es/estadis/fi/ifs_es.html
如果我这样做:
sauce = urlopen(url_bank).read()
soup = bs.BeautifulSoup(sauce, 'html.parser')
然后这个:
resto = soup.find_all('td')
lista_text = []
for elements in resto:
lista_text = lista_text + [elements.string]
除了最后一栏'CódigosIsin'之外,我得到了所有解析好的元素 这是因为html代码中断了。我不知道 该怎么做,我尝试过这部分,但仍然不起作用:
lista_text = lista_text + [str(elements.string).replace('<br/>','')]
之后,我将列表转到np.array,然后转到数据帧,将其导出为.csv。那部分已经完成,我只需解决这个问题。
提前致谢!
答案 0 :(得分:2)
只是你需要注意.string
的作用 - 如果有多个子元素,它会返回None
- 与<br>
的情况一样:
如果标签包含多个内容,则不清楚是什么
.string
应该引用,因此.string
被定义为None
改为使用.get_text()
:
for elements in resto:
lista_text = lista_text + [elements.get_text(strip=True)]