将html表刮入数据框

时间:2017-07-18 01:41:28

标签: python html python-3.x pandas beautifulsoup

我已经构建了一个通过selenium指向网站页面的小刮刀,然后应该将最终页面上的html表读入数据框(或只是标题页)。我坚持到最后一点。我可以打开最后一页,我被卡住了。 html of final page

这是最后一页的html输出。表标题位于标记中,观察结果位于标记中。我的表格代码可能很糟糕,但现在是:

    df = pd.read_html(browser.get(table),header=0)
    print(df.head(n=6))

表是网址btw

我得到的错误是" TypeError:无法读取类型' NoneType'"的对象。 我相信我错过了一步,如果有人愿意指出我正确的方向,我将非常感激。

1 个答案:

答案 0 :(得分:0)

所以我明白了。我无法在pd.read_html()调用中嵌套get()调用。

    browser.get(table)
    source = browser.page_source
    content = pd.read_html(source)
    df = pd.DataFrame(content)

一旦我将浏览器打开到我想要的表格页面,我所做的就是调用浏览器(实际上是chromedriver)并获取page_source。然后我能够读取html并将其转换为数据帧。