Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用python抓取以.js结尾的url_Javascript_Python_Url_Web Scraping - Fatal编程技术网

Javascript 使用python抓取以.js结尾的url

Javascript 使用python抓取以.js结尾的url,javascript,python,url,web-scraping,Javascript,Python,Url,Web Scraping,我正在尝试使用python从一个网站获取一些历史收益数据。数据的url以.js结尾(这是一个javascript链接)。问题是,如果我使用urllib.urlopen读取链接,它将转换为字符串,从该字符串提取数据是一场噩梦。我想知道是否有一个模块允许我们以类似于json的方式下载数据 我正在努力寻找的链接是: 这就是我试图做到的: data=urlopen(“”).read() 有人能建议一种更好的方法吗?只需删除var=部分和终止并在其余部分使用JSON解析器。我敢肯定 大概是这样的: 按你

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

我正在努力寻找的链接是:

这就是我试图做到的:

data=urlopen(“”).read()


有人能建议一种更好的方法吗?

只需删除
var=
部分和终止
并在其余部分使用JSON解析器。我敢肯定

大概是这样的:

  • 按你的方式获取字符串
  • 将所有
    var
    替换为
    {
  • =
    替换为
  • 替换为
    },
  • 删除最后一个
  • 作为JSON读入

按照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
Javascript是一个字符串-urllib不会为您进行任何类型的转换。