这里是刮从“购买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