這裏是刮從「購買BTC」表中的最低投標價的代碼:
from selenium import webdriver
fp = webdriver.FirefoxProfile()
browser = webdriver.Firefox(firefox_profile=fp)
browser.get('http://www.cavirtex.com/orderbook')
lowest_bid = float('inf')
elements = browser.find_elements_by_xpath('//div[@id="orderbook_buy"]/table/tbody/tr/td')
for element in elements:
text = element.get_attribute('innerHTML').strip('<b>|</b>')
try:
bid = float(text)
if lowest_bid > bid:
lowest_bid = bid
except:
pass
browser.quit()
print lowest_bid
爲了您的Windows的PC上的Python安裝硒,從命令運行line:
pip install selenium
(或pip install selenium --upgrade
如果你已經有了它)。
如果您想要「銷售BTC」表,請將「orderbook_buy」更改爲「orderbook_sell」。
如果您想要'Last Trades'表,請將「orderbook_buy」更改爲「orderbook_trades」。
注:
如果考慮性能的關鍵,那麼你就可以實現數據刮通過網址連接,而不是硒,並且讓你的程序運行得更快。但是,由於繁瑣的XML解析,您的代碼可能最終會變得「更加混亂」,因此您將被迫應用...
這是用於從電子郵件中發送前一個輸出的代碼自己對自己說:
import smtplib,ssl
def SendMail(username,password,contents):
server = Connect(username)
try:
server.login(username,password)
server.sendmail(username,username,contents)
except smtplib.SMTPException,error:
Print(error)
Disconnect(server)
def Connect(username):
serverName = username[username.index("@")+1:username.index(".")]
while True:
try:
server = smtplib.SMTP(serverDict[serverName])
except smtplib.SMTPException,error:
Print(error)
continue
try:
server.ehlo()
if server.has_extn("starttls"):
server.starttls()
server.ehlo()
except (smtplib.SMTPException,ssl.SSLError),error:
Print(error)
Disconnect(server)
continue
break
return server
def Disconnect(server):
try:
server.quit()
except smtplib.SMTPException,error:
Print(error)
serverDict = {
"gmail" :"smtp.gmail.com",
"hotmail":"smtp.live.com",
"yahoo" :"smtp.mail.yahoo.com"
}
SendMail("[email protected]_provider.com","your_password",str(lowest_bid))
如果您的電子郵件提供商或者是的Gmail或的Hotmail或雅虎上面的代碼應該工作。
請注意,根據您的防火牆配置,它可以在你第一次嘗試徵求你的同意......
詢問他們的API文檔..你將有JSON的訪問。 – abourget