বিটকয়েন historicalতিহাসিক ডেটা পান [বন্ধ]


122

আমি আমার নিজস্ব বিটকয়েন চার্ট করতে চাই।

আপনি কি বিটকয়েন bitতিহাসিক মূল্য ডেটা পুনরুদ্ধার করার কোনও নির্ভরযোগ্য উপায় জানতে পারবেন? REST ব্যবহার করে এটি পুনরুদ্ধার করার কোনও উপায় আছে কি? আমি বিটফ্লুরটি দেখেছি, যা আরআরএসটি সমর্থন করে, তবে এটি কোনও কার্যকর মান ফিরিয়ে দিচ্ছে না, এতে একটি "অভ্যন্তরীণ সার্ভার ত্রুটি" রয়েছে।

আমি বিটকয়েনচার্টগুলিও দেখেছি, তবে আমি মনে করি এটি 2000 ডাটা মানের মধ্যে সীমাবদ্ধ।

আপনি কি আমাকে কোনও কাঠামো বা সিস্টেম এটি সম্পর্কে কাজ করার পরামর্শ দিতে চান?



আপনি কুইনজি থেকে অনেক এক্সচেঞ্জ / মার্কেটে historicalতিহাসিক বিটকয়েন ডেটার জন্য অর্থ প্রদান করতে পারেন: coinigy.com/bitcoin-data
জো ফিলিপস

উত্তর:


150

প্রকৃতপক্ষে, আপনি সিএসভি ফর্ম্যাটে বিটকয়েনচার্টস থেকে পুরো বিটকয়েনের ব্যবসায়ের ইতিহাস পেতে পারেন: http://api.bitcoincharts.com/v1/csv/

এটি সক্রিয় এক্সচেঞ্জগুলির জন্য দিনে দুবার আপডেট করা হয় এবং কয়েকটি ডেড এক্সচেঞ্জও রয়েছে।

সম্পাদনা: যেহেতু সিএসভিগুলিতে কোনও কলাম শিরোলেখ নেই, তাই সেগুলি এখানে: কলাম 1) ব্যবসায়ের টাইমস্ট্যাম্প, কলাম 2) দাম, কলাম 3) বাণিজ্যের পরিমাণ


2
+1 হ্যাঁ, এটি প্রতিষ্ঠিত ট্রেডস চার্ট করার ক্ষেত্রে এটি খুব কার্যকর। বিটস্ট্যাম্পের পুশার এপিআইয়ের মাধ্যমেও ডেটা সরাসরি অর্জন করা যেতে পারে যা আমি এখনই করছি। একদিনের জন্য বিটস্ট্যাম্পকে ইনডেক্স করার পরে, আমি
বিটস্ট্যাম্প ইউএসসি সিএসভি

2
@ লাইকিজেনস দ্বিতীয় কলামটি কী? মানগুলি 0.5-33 এর মধ্যে থাকে, যা বিনিময় হার ইউএসডি / বিটিসি হতে পারে না।
হোল্ডেনলি

4
bitcoincharts.comডেটা বড় ফাঁক থেকে সাবধান । আরও মনে রাখবেন যে "ক্রয় / বিক্রয়" সম্পর্কিত কোনও টিক তথ্য নেই।
পেট্রা জাভেরিক

2
@ জেরম এটি ইউনিক্স টাইমস্ট্যাম্প ফর্ম্যাটে, সুতরাং ইউটিসি
টাইমজোনায়

2
আমি কোথায় লিটকয়েন, ইথেরিয়াম বা অন্যান্য গুরুত্বপূর্ণ মুদ্রার ডেটা পেতে পারি?
স্ক্যান করুন

31

আপনি এখানে অনেক historicalতিহাসিক ডেটা পেতে পারেন: https://www.quandl.com/data/BCHARTS- বিটকয়েন- চার্টস- এক্সচেঞ্জ- রেট- ডেটা


1
শুধুমাত্র লিঙ্কের উত্তরগুলি এসও তে উত্সাহিত করা হয় না। এছাড়াও তিনি কেবল তথ্যই নয়, তথ্য পুনরুদ্ধার করার উপায় খুঁজছেন।
অভিনব প্যান্টস

1
আপনি ঠিক বলেছেন, আমার উত্তরে আমার আরও ব্যাপক হওয়া উচিত ছিল। তবে এটি তার অনুরোধের জবাব দেয়, ডেটা পুনরুদ্ধারের জন্য API কলগুলি পৃষ্ঠার ডানদিকে তালিকাভুক্ত করা হয়েছে।
শান

লিঙ্কটি নষ্ট হয়ে গেছে
গিলিয়াম শেভালিয়ার

2
@GuillaumeChevalier আমি পেয়েছি quandl.com/data/BCHARTS-Bitcoin-Charts-Exchange-Rate-Data
উয়র্ন

1
দুর্দান্ত, আকর্ষণীয় সাইট। আমি পছন্দ করি এমন আরেকটি পরিষেবা হ'ল ওয়ালেটিনভেস্টর / ফরেস্টকাস্ট / বিটকয়েন-প্রেডিকশন যা স্বল্প ও দীর্ঘমেয়াদী বিনিয়োগের জন্য, প্রতিদিনের ক্রিপ্টোকারেন্সি দামের পূর্বাভাস দেওয়ার জন্য এআই এবং মেশিন লার্নিং ব্যবহার করে।
জনি

15

ক্ষেত্রে, আপনি ট্রেড ডেটা bitstamp সংগ্রহ করতে চাই তাদের গঠন WebSocket আপনি নীচের স্ক্রিপ্ট log_bitstamp_trades.py ব্যবহার করতে পারে দীর্ঘ সময় সময়কাল ধরে উচ্চতর রেজোলিউশনের।

স্ক্রিপ্টটিতে পাইথন ওয়েবসকেট-ক্লায়েন্ট এবং পুশার_ক্লিয়েন্ট_পিথন লাইব্রেরি ব্যবহার করা হয়েছে, সুতরাং এগুলি ইনস্টল করুন।

#!/usr/bin/python

import pusherclient
import time
import logging
import sys
import datetime
import signal
import os

logging.basicConfig()
log_file_fd = None

def sigint_and_sigterm_handler(signal, frame):
    global log_file_fd
    log_file_fd.close()
    sys.exit(0)


class BitstampLogger:

    def __init__(self, log_file_path, log_file_reload_path, pusher_key, channel, event):
        self.channel = channel
        self.event = event
        self.log_file_fd = open(log_file_path, "a")
        self.log_file_reload_path = log_file_reload_path
        self.pusher = pusherclient.Pusher(pusher_key)
        self.pusher.connection.logger.setLevel(logging.WARNING)
        self.pusher.connection.bind('pusher:connection_established', self.connect_handler)
        self.pusher.connect()

    def callback(self, data):
        utc_timestamp = time.mktime(datetime.datetime.utcnow().timetuple())
        line = str(utc_timestamp) + " " + data + "\n"
        if os.path.exists(self.log_file_reload_path):
            os.remove(self.log_file_reload_path)
            self.log_file_fd.close()
            self.log_file_fd = open(log_file_path, "a")
        self.log_file_fd.write(line)

    def connect_handler(self, data):
        channel = self.pusher.subscribe(self.channel)
        channel.bind(self.event, self.callback)


def main(log_file_path, log_file_reload_path):
    global log_file_fd
    bitstamp_logger = BitstampLogger(
        log_file_path,
        log_file_reload_path,
        "de504dc5763aeef9ff52",
        "live_trades",
        "trade")
    log_file_fd = bitstamp_logger.log_file_fd
    signal.signal(signal.SIGINT, sigint_and_sigterm_handler)
    signal.signal(signal.SIGTERM, sigint_and_sigterm_handler)
    while True:
        time.sleep(1)


if __name__ == '__main__':
    log_file_path = sys.argv[1]
    log_file_reload_path = sys.argv[2]
    main(log_file_path, log_file_reload_path

এবং লোগ্রোটেট ফাইল কনফিগার করুন

/mnt/data/bitstamp_logs/bitstamp-trade.log
{
    rotate 10000000000
    minsize 10M
    copytruncate
    missingok
    compress
    postrotate
        touch /mnt/data/bitstamp_logs/reload_log > /dev/null
    endscript
}

তারপরে আপনি এটিকে পটভূমিতে চালাতে পারেন

nohup ./log_bitstamp_trades.py /mnt/data/bitstamp_logs/bitstamp-trade.log /mnt/data/bitstamp_logs/reload_log &

টাইম-সিরিজ স্টোর যেমন ইনফ্লুডডিবিবি ব্যবহার করা একটি দুর্দান্ত উন্নতি হবে।
মিঃইলো

7

Bitstamp লাইভ Bitcoin ডেটা আছে যা সর্বজনীনভাবে উপলব্ধ রয়েছে JSONএই লিঙ্কে । এটি দশ মিনিটের মধ্যে than০০ বারের বেশি অ্যাক্সেস করার চেষ্টা করবেন না অন্যথায় তারা আপনার আইপিটি ব্লক করে দেবে (প্লাস, এটি যাইহোক এটি অপ্রয়োজনীয়; আরও এখানে পড়ুন )। নীচে C#লাইভ ডেটা পাওয়ার জন্য একটি পদ্ধতি রয়েছে:

using (var WebClient = new System.Net.WebClient())
{
     var json = WebClient.DownloadString("https://www.bitstamp.net/api/ticker/");
     string value = Convert.ToString(json);
     // Parse/use from here
}

এখান থেকে, আপনি পার্স করতে পারেন JSONএবং এটি একটি ডেটাবেজে (বা MongoDBসরাসরি এটি sertোকানোর সাথে) সংরক্ষণ করতে পারেন এবং তারপরে এটি অ্যাক্সেস করতে পারেন।

Historicতিহাসিক ডেটার জন্য (ডাটাবেসের উপর নির্ভর করে - যদি আপনি এটির কাছেই থাকেন) তবে কোনও ফ্ল্যাট ফাইল থেকে একটি সন্নিবেশ করুন যা বেশিরভাগ ডাটাবেস আপনাকে ব্যবহার করতে দেয় (উদাহরণস্বরূপ, কোনও ফাইল থেকে SQL Serverআপনি কিছু করতে পারেন )।BULK INSERTCSV


4

আমি এই মামলার জন্য একটি জাভা উদাহরণ লিখেছি:

JSONObjects এবং JSONArrays পুনরুদ্ধার করতে json.org লাইব্রেরি ব্যবহার করুন। নীচের উদাহরণে blockchain.info এর ডেটা ব্যবহার করা হয়েছে যা JSONObject হিসাবে প্রাপ্ত হতে পারে।

    public class main 
    {
        public static void main(String[] args) throws MalformedURLException, IOException
        {
            JSONObject data = getJSONfromURL("https://blockchain.info/charts/market-price?format=json");
            JSONArray data_array = data.getJSONArray("values");

            for (int i = 0; i < data_array.length(); i++)
            {
                JSONObject price_point = data_array.getJSONObject(i);

                //  Unix time
                int x = price_point.getInt("x");

                //  Bitcoin price at that time
                double y = price_point.getDouble("y");

                //  Do something with x and y.
            }

        }

        public static JSONObject getJSONfromURL(String URL)
        {
            try
            {
                URLConnection uc;
                URL url = new URL(URL);
                uc = url.openConnection();
                uc.setConnectTimeout(10000);
                uc.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
                uc.connect();

                BufferedReader rd = new BufferedReader(
                        new InputStreamReader(uc.getInputStream(), 
                        Charset.forName("UTF-8")));

                StringBuilder sb = new StringBuilder();
                int cp;
                while ((cp = rd.read()) != -1)
                {
                    sb.append((char)cp);
                }

                String jsonText = (sb.toString());            

                return new JSONObject(jsonText.toString());
            } catch (IOException ex)
            {
                return null;
            }
        }
    }

এটি কোন লাইব্রেরি ব্যবহার করছে?
মাইকেল এ

স্ট্যান্ডার্ড জেএসএন: জসন.আর.অর্গ
ডোমি

4

কয়েনবেসে একটি REST এপিআই রয়েছে যা আপনাকে তাদের ওয়েবসাইট থেকে historical তিহাসিক দামগুলিতে অ্যাক্সেস দেয়। তথ্যগুলি প্রতি দশ মিনিটে প্রায় Coinbase স্পট দাম (মার্কিন ডলারে) দেখায় বলে মনে হচ্ছে।

ফলাফলগুলি CSV ফর্ম্যাটে ফিরে আসে। আপনার অবশ্যই পৃষ্ঠার নম্বরটি API এর মাধ্যমে জিজ্ঞাসা করতে হবে। প্রতি পৃষ্ঠায় 1000 টি ফলাফল (বা মূল্য পয়েন্ট) রয়েছে। এটি প্রতি পৃষ্ঠায় প্রায় 7 দিনের মূল্যবান ডেটা।


4

নোড.জেএস সহ এটি জেএসএনে স্ক্র্যাপ করা মজাদার হবে :)

https://github.com/f1lt3r/bitcoin-scraper

এখানে চিত্র বর্ণনা লিখুন

[
  [
    1419033600,  // Timestamp (1 for each minute of entire history)
    318.58,      // Open
    318.58,      // High
    318.58,      // Low
    318.58,      // Close
    0.01719605,  // Volume (BTC)
    5.478317609, // Volume (Currency)
    318.58       // Weighted Price (USD)
  ]
]

স্ক্রিপ্টের জন্য আপনাকে ধন্যবাদ! দেখে মনে হয় যে এখন ডাউনলোড করা ফাইলগুলিতে কেবল "অপরিজ্ঞাত" থাকে।
চাদ জনসন

আমি সবেমাত্র রেপোটি পরীক্ষা করে দেখলাম, দৌড়ালাম npm install, এবং তারপরে cat bitstampUSD-2014-9-9.jsonআমার ভাল লাগছিল। আপনি যদি এটি কাজ করার জন্য বিনিয়োগ করেন তবে স্ট্যাকওভারফ্লো মন্তব্যগুলির পরিবর্তে গিথুবকে নিয়ে যেতে দিন? আমাকে একটি বাগ রিপোর্ট ছেড়ে দিন?
f1lt3r

যদি আমি বুঝতে পারি যে আপনার কোডটি আমাকে 1 মিনিটের স্কেলে বিটকয়েন দামের পুরো ইতিহাসটি পেতে দেয়?
মায়িউল এসএইচসি

হ্যাঁ এটি ঠিক
f1lt3r
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.