首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -从页面中的特定表中提取数据

Python -从页面中的特定表中提取数据
EN

Stack Overflow用户
提问于 2017-07-23 12:42:47
回答 1查看 757关注 0票数 0

刚开始学蟒蛇。整个周末都花在这个项目上,但进展很糟糕。希望能从社区中得到一些指导。

我的部分教程要求我从谷歌金融页面中提取数据。https://www.google.com/finance。但只有部门汇总表。然后将它们组织到一个JSON转储中。

到目前为止,我要问的问题是:

1)如何仅从部门汇总表中提取数据?我可以使用find_all,但结果也包括其他表。

2)如何得到各行业的变化:(能源: 0.99%,基础材料: 0.31%,工业: 0.17%)。没有唯一的标签我可以使用。唯一的字符是这些数字在扇区名称下面。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-23 13:45:32

查看页面(使用View Source或浏览器的开发工具),我们知道一些事情:

  • 扇区汇总表是div标记中唯一一个带有id=secperf (可能是“扇区性能”的缩写)的表。
  • 对于除第一行之外的每一行,左边的第一个单元格包含扇区名称,而左边的第二个单元格包含更改百分比。
  • 其他单元格可能包含条形图。条形图也恰好是表,但是我们想忽略它们,所以我们不应该对它们进行递归。

有很多方法可以解决这个问题。一种办法是:

代码语言:javascript
复制
def sector_summary(document):
    table = document.find(id='secperf').find('table')
    rows = table.find_all('tr', recursive=False)

    for row in rows[1:]:
        cells = row.find_all('td')

        sector = cells[0].get_text().strip()
        change = cells[1].get_text().strip()

        yield (sector, change)

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

https://stackoverflow.com/questions/45265221

复制
相关文章

相似问题

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