从比特币中刮取数据

时间:2015-04-03 03:43:57

标签: python web-scraping beautifulsoup scrapy

背景:Python 2.7是我的第一个编码语言,没有其他代码/技术经验。我认为自己是python中的初学者。

问题:我试图以固定的间隔自动从比特币中删除原始数据(并将它们存储在csv中)。 scrapy或BeautifulSoup在这里是一个更好的用例,记住我必须完成的学习曲线吗?

URL(我想在“加载原始数据”下刮取数据表): http://bitcoincharts.com/charts/itbitUSD#rg60zig12-hourzczsg2015-02-03zeg2015-04-04ztgSzm1g10zm2g25zv

1 个答案:

答案 0 :(得分: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请求模块,因为该数据就像纯文本一样。没有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)