Javascript从boxofficemojo.com获取单个电影的总票房

Javascript从boxofficemojo.com获取单个电影的总票房,javascript,html,web-scraping,cors,Javascript,Html,Web Scraping,Cors,boxofficemojo.com在这里有一个页面: http://www.boxofficemojo.com/about/data.htm 讨论他们的数据源。我正在尝试获取给定电影的票房数字,以便在代码中使用其他内容。对于一部电影,boxofficemojo.com提供了以下方法(以《星球大战3》为例): 在javascript中(带或不带jQuery),如何在变量中获得“$380270577”?我会遇到CORS问题吗 我尝试了一些方法,比如$.getJSON(URL),$.ajax,但我似

boxofficemojo.com在这里有一个页面:

http://www.boxofficemojo.com/about/data.htm
讨论他们的数据源。我正在尝试获取给定电影的票房数字,以便在代码中使用其他内容。对于一部电影,boxofficemojo.com提供了以下方法(以《星球大战3》为例):

在javascript中(带或不带jQuery),如何在变量中获得“$380270577”?我会遇到CORS问题吗


我尝试了一些方法,比如$.getJSON(URL),$.ajax,但我似乎遇到了一个CORS错误,所以我甚至无法克服这个错误,以查看这些方法是否能够满足我的需要。我是不是太复杂了?javascript中有没有一种简单的方法来获取该值?

您可以通过代理请求来绕过CORS错误;尝试更改现有前端JavaScript代码以使用此URL:

https://cors-anywhere.herokuapp.com/http://www.boxofficemojo.com/data/js/moviegross.php?id=starwars3.htm&shortgross=0
它通过一个代理发送请求,该代理将
访问控制允许来源
响应头添加到它,然后将该头作为响应传递回请求的前端代码

浏览器看到的是带有
访问控制允许源代码
响应头的响应,因此浏览器允许前端JavaScript代码实际访问响应

有更多的细节


在获得响应后提取“
$380270577
”,您可以使用正则表达式匹配:

var s=`document.write(“”);
文件。写(“”);
文件。书写(“西斯的复仇”);
文件。填写(“$380270577”);
文件。写(“”);
文件。写(“”)`
var r=/mojo_行>([^
https://cors-anywhere.herokuapp.com/http://www.boxofficemojo.com/data/js/moviegross.php?id=starwars3.htm&shortgross=0