【问题标题】:Parsing diferent bs4.element.Tag with beautifulSoup用beautifulSoup解析不同的bs4.element.Tag
【发布时间】:2017-05-19 13:38:52
【问题描述】:

我想解析这个 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ódigos Isin”外,我得到了很好的解析 这是因为 html 代码 '.我不知道 怎么办,这部分我试过了,但还是不行:

lista_text = lista_text + [str(elements.string).replace('<br/>','')]

之后,我将列表放入 np.array,然后放入数据框以将其导出为 .csv。那部分已经完成了,我只需要解决这个问题。

提前致谢!

【问题讨论】:

    标签: python html url beautifulsoup


    【解决方案1】:

    只是你需要注意.string 的作用——如果有多个子元素,它将返回None——就像&lt;br&gt; 的情况一样:

    如果一个标签包含多个东西,那么不清楚是什么 .string 应该引用,所以.string 被定义为None

    改用.get_text()

    for elements in resto:
        lista_text = lista_text + [elements.get_text(strip=True)]
    

    【讨论】:

      猜你喜欢
      • 2015-10-31
      • 2015-07-09
      • 2022-11-25
      • 1970-01-01
      • 2021-08-16
      • 2019-12-15
      • 2019-09-16
      • 2016-08-04
      • 2020-04-13
      相关资源
      最近更新 更多