2015-04-03 56 views
0

背景:Python 2.7是我的第一種編碼語言,沒有其他代碼/技術經驗。我會評價自己作爲python的初學者。從bitcoincharts報廢數據

問題:我試圖以固定的時間間隔自動從bitcoincharts(並將它們存儲在csv中)中提取原始數據。 scrapy或BeautifulSoup會在這裏成爲一個更好的用例,記住我必須讓自己完成的學習曲線?

URL(我想湊下的「加載原始數據」的數據表): http://bitcoincharts.com/charts/itbitUSD#rg60zig12-hourzczsg2015-02-03zeg2015-04-04ztgSzm1g10zm2g25zv

回答

4

其實你想從一個Ajax請求來的原始數據發送到

http://bitcoincharts.com/charts/chart.json?m=itbitUSD&SubmitButton=Draw&r=60&i=12-hour&c=1&s=2015-02-03&e=2015-04-04&Prev=&Next=&t=S&b=&a1=&m1=10&a2=&m2=25&x=0&i1=&i2=&i3=&i4=&v=1&cv=0&ps=0&l=0&p=0&

並且數據是這樣的:
[[1422835200, 226.160000000000, 232.330000000000, 223.450000000000, 225.834600000000, 288.974600000000, 65610.792992280000, 227.046920360060], [1422878400, 228.790000000000, 243.900000000000, 223.480000000000, 237.687800000000, 1119.126000000000, 255111.532814370000, 227.956041423727], [1422921600, 237.490000000000, 246.760000000000, 236.320000000000, 242.580000000000, 414.730800000000, 99174.059876450000, 239.128755029649]...]
其中主列表中的每個列表代表一行。

爲了從這個URL中提取數據,你只需要python requests模塊,因爲這些數據就像純文本一樣。沒有html標籤來分隔它們。 Scrapy和BeautifulSoup處理html。爲了處理文本,我們需要python腳本。 代碼將會是這樣的

import requests 
import json 

url = 'http://bitcoincharts.com/charts/chart.json?m=itbitUSD&SubmitButton=Draw&r=60&i=12-hour&c=1&s=2015-02-03&e=2015-04-04&Prev=&Next=&t=S&b=&a1=&m1=10&a2=&m2=25&x=0&i1=&i2=&i3=&i4=&v=1&cv=0&ps=0&l=0&p=0&' 
data = json.loads(requests.get(url).content) 
+0

謝謝!完美解決方案 – JChan 2015-04-03 06:41:15

+0

@JChan你如何獲得Ajax請求? – arshpreet 2016-09-06 08:53:02