-1

我正在尝试使用 python 从网站获取一些历史收益数据。数据的 url 以 .js 结尾(这是一个 javascript 链接)。问题是如果我使用 urllib.urlopen 来读取链接,它会转换为字符串,从该字符串中提取数据是一场噩梦。我想知道是否有一个模块可以让我们以类似于 json 的方式下载数据。

我试图抓取的链接是:http ://test.optionslam.com/site_media/chart/data/GOOG_data.js

这就是我尝试这样做的方式:

data = urlopen(' http://test.optionslam.com/site_media/chart/data/GOOG_data.js ').read()

有人可以为此提出更好的方法吗?

4

2 回答 2

0

just remove the var = parts and the terminating ; and use a JSON parser on the rest. I am sure such a thing exists for python.

something like this:

  • get the string as you do
  • replace all var with {
  • replace = with :
  • replace ; with },
  • remove the very last ,
  • read in as JSON
于 2013-05-04T07:53:51.387 回答
0

按照luksch的指示:

import urllib, json

data = urllib.urlopen('http://test.optionslam.com/site_media/chart/data/GOOG_data.js').read()
data = data.replace("var", "{")
data = data.replace("=", ":")
count = data.count(";") - 1
data = data.replace(";", "},", count).replace(";", "}",) 
dump = json.dumps(data)
json = json.loads(dump)
print json
于 2013-05-04T23:50:52.720 回答