【问题标题】:Scraping Data from bitcoincharts从比特币图表中抓取数据
【发布时间】:2015-04-03 03:43:56
【问题描述】:

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

问题:我试图以固定的时间间隔自动从比特币图表中刮取原始数据(并将它们存储在 csv 中)。考虑到我必须经历的学习曲线,scrapy 或 BeautifulSoup 会是一个更好的用例吗?

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

【问题讨论】:

    标签: python web-scraping beautifulsoup scrapy


    【解决方案1】:

    实际上,您想要的原始数据来自发送到的 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)
    

    【讨论】:

      猜你喜欢
      • 2018-03-25
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-19
      • 2020-04-25
      相关资源
      最近更新 更多