⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 worldindex.py

📁 股票软件 -- 用在外汇交易市场
💻 PY
字号:
#coding:gbk
from BeautifulSoup import *
import urllib
import sys

class Index:
    __text = '%-13s%-13s%6s'
    def __init__(self, url):
        page = urllib.urlopen(url)
        self.soup = BeautifulSoup(page)        
        page.close()

    def showIndex(self):
        print '\n' + '-'*30 + ' 世界各大指数 ' + '-'*30
        ul = self.soup.find(text=unicode('道琼工业', 'cp936')).parent.parent.parent 

        for li in ul.findAll('li')[1:]:
            div = li.findAll('div')
            print self.__text %(div[0].renderContents('cp936'), str(div[1].span.string), str(div[2].span.contents[0]))



    def billborad(self, title):
        print '-'*30 + title + '-'*30

        ul = self.soup.find(text=unicode(title, 'cp936')).parent.parent.parent.parent
        for li in ul.findAll('li')[2:]:
            div = li.findAll('div')
            print self.__text %(div[0].h3.a.renderContents('cp936'), str(div[1].span.string), str(div[2].span.string))

    def shrank(self):
        self.billborad('沪市A股涨幅排名')
        self.billborad('沪市A股跌幅排名')
        self.billborad('沪市A股成交额排名')

    def szrank(self):
        self.billborad('深市A股涨幅排名')
        self.billborad('深市A股跌幅排名')
        self.billborad('深市A股成交额排名')

    def middlerank(self):
        self.billborad('中小板涨幅排名')
        self.billborad('中小板跌幅排名')
        self.billborad('中小板成交额排名')

    def shhot(self):
        self.billborad('沪市A股振幅排名')
        self.billborad('沪市A股换手排名')
        self.billborad('沪市A股量比排名')

    def szhot(self):
        self.billborad('深市A股振幅排名')
        self.billborad('深市A股换手排名')
        self.billborad('深市A股量比排名')

class Forex:
    __title__ = '名称            买入价     卖出价     名称            买入价     卖出价'
    __text__ = '%-16s%-8.4f   %-8.4f   %-16s%-8.4f   %-8.4f'
    def __init__(self, url):
        page = urllib.urlopen(url)
        self.soup = BeautifulSoup(page)        
        page.close()

    def display(self):
        table = self.soup.find('table')
        print self.__title__
        for tr in table.findAll('tr')[2:-1]:
            td = tr.findAll('td')
    
            #code = td[0].renderContents('cp936)
            name = td[1].renderContents('cp936')
            bit = float(td[2].font.string)
            offer = float(td[3].font.string)

            #code2 = td[5].renderContents('cp936)
            name2 = td[6].renderContents('cp936')
            bit2 = float(td[7].font.string)
            offer2 = float(td[8].font.string)

            print self.__text__ %(name, bit, offer, name2, bit2, offer2)
#            print self.__text__ % (td[0].string, td[1].next.next, td[2].string, td[3].string, td[4].string, td[5].string, td[6].string, td[7].string)

def showIndex(remote):
    if not remote:
        url = r'file:///G:\Jay_Private\Develop\Python\Quote\test-data\quotes.money.163'
    else:
        url = r'http://quotes.money.163.com/'

    wi = Index(url)
    wi.showIndex()


    if len(sys.argv) > 1:
        if sys.argv[1] == 'sh':
            wi.shrank()
        elif sys.argv[1] == 'sz':
            wi.szrank()
        elif sys.argv[1] == 'mi':
            wi.middlerank()
        elif sys.argv[1] == 'shh':
            wi.shhot()
        elif sys.argv[1] == 'szh':
            wi.szhot()

def showForex(remote):
    url = r'http://www.bocgd.com/rate/servlet/com.bocgd.rate.RateDisplay'

    forex = Forex(url)
    forex.display()

if __name__ == '__main__':
    showForex(True)
    showIndex(True)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -