2013-05-04 2 views
-1

Я пытаюсь получить некоторые данные о исторических доходах с веб-сайта, используя python. URL-адрес для данных заканчивается на .js (который является ссылкой javascript). Проблема в том, что если я использую urllib.urlopen для чтения ссылки, она преобразуется в строку, и это кошмар для извлечения данных из этой строки. Мне было интересно, есть ли модуль, который позволяет нам загружать данные аналогично json.Скремблирование URL-адреса, заканчивающегося на .js с использованием python

Ссылка, которую я пытаюсь, чтобы очистить это: http://test.optionslam.com/site_media/chart/data/GOOG_data.js

Это, как я пытаюсь сделать это:

данных = urlopen ('http://test.optionslam.com/site_media/chart/data/GOOG_data.js') .read()

Может кто-то, пожалуйста, предложите лучший подход для этого?

+0

Javascript * * является строка - URLLIB не делает каких-либо преобразования для вас. –

ответ

0

просто удалить var = части и завершающего ; и использовать JSON анализатор на остальных. Я уверен such a thing exists for python.

что-то вроде этого:

  • получить строку, как вы делаете
  • заменить все var с {
  • заменить = с :
  • заменить ; с },
  • удалить самый последний ,
  • прочитать как JSON
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 
Смежные вопросы