首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析google金融数据的python beautifulsoup4

解析google金融数据的python beautifulsoup4
EN

Stack Overflow用户
提问于 2014-02-09 02:30:01
回答 1查看 992关注 0票数 0

我刚开始使用漂亮的汤和刮东西,所以我试着弄湿我的脚。

我想从这里得到道琼斯工业平均指数的第一行信息:2UqD9NOTt6wHYrAE

虽然我可以读取数据,打印(汤)输出所有的东西,但我似乎不能走得足够远。如何选择保存到表中的行?第一排怎么样?

非常感谢你的帮助!

代码语言:javascript
复制
import urllib.parse
import urllib.request
from bs4 import BeautifulSoup
import json
import sys
import os
import time
import csv
import errno

DJIA_URL = "http://www.google.com/finance/historical?q=INDEXDJX%3A.DJI&ei=ZN_2UqD9NOTt6wHYrAE"

def downloadData(queryString):
    with urllib.request.urlopen(queryString) as url:
        encoding = url.headers.get_content_charset()
        result = url.read().decode(encoding)
    return result

raw_html = downloadData(DJIA_URL)
soup = BeautifulSoup(raw_html)

#print(soup)

table = soup.findAll("table", {"class":"gf-table historical_price"})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-09 02:37:18

那么,您需要第二个tr表行:

代码语言:javascript
复制
prices = soup.find('table', class_='historical_price')
rows = prices.find_all('tr')
print rows[1]

或者,若要列出包含价格信息的所有行,请跳过带有任何th元素的行:

代码语言:javascript
复制
for row in rows:
    if row.th: continue

或者使用第一个标题作为字典键的源:

代码语言:javascript
复制
keys = [th.text.strip() for th in rows[0].find_all('th')]
for row in rows[1:]:
    data = {key: td.text.strip() for key, td in zip(keys, row.find_all('td'))}
    print data

它产生:

代码语言:javascript
复制
{u'Volume': u'105,782,495', u'High': u'15,798.51', u'Low': u'15,625.53', u'Date': u'Feb 7, 2014', u'Close': u'15,794.08', u'Open': u'15,630.64'}
{u'Volume': u'106,979,691', u'High': u'15,632.09', u'Low': u'15,443.00', u'Date': u'Feb 6, 2014', u'Close': u'15,628.53', u'Open': u'15,443.83'}
{u'Volume': u'105,125,894', u'High': u'15,478.21', u'Low': u'15,340.69', u'Date': u'Feb 5, 2014', u'Close': u'15,440.23', u'Open': u'15,443.00'}
{u'Volume': u'124,106,548', u'High': u'15,481.85', u'Low': u'15,356.62', u'Date': u'Feb 4, 2014', u'Close': u'15,445.24', u'Open': u'15,372.93'}

等。

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

https://stackoverflow.com/questions/21654495

复制
相关文章

相似问题

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