gpt4 book ai didi

JavaScript 为 boxofficemojo.com 上的单部电影带来收入

转载 作者:太空宇宙 更新时间:2023-11-04 15:34:51 24 4
gpt4 key购买 nike

boxofficemojo.com 在此处有一个页面:

http://www.boxofficemojo.com/about/data.htm

讨论他们的数据源。我正在尝试获取给定电影的票房数字,以便在我的代码中执行其他操作。对于单部电影,boxofficemojo.com提供了以下方法(以星球大战3为例):

http://www.boxofficemojo.com/data/js/moviegross.php?id=starwars3.htm&shortgross=0

在 javascript(有或没有 jQuery)中,如何在变量中获取“$380,270,577”?我会遇到 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

它通过代理发送请求,该代理向其添加 Access-Control-Allow-Origin 响应 header ,然后将其作为响应传递回您的请求前端代码。

带有 Access-Control-Allow-Origin 响应 header 的响应是浏览器看到的内容,因此浏览器允许您的前端 JavaScript 代码实际访问该响应。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS有更多详细信息。

<小时/>

在收到响应后提取“$380,270,577”,您可以使用正则表达式匹配:

var s = `document.write('<style type="text/css"><!-- td.mojo_copyright { text-align: center; background-color: #000000; font-size: 7pt; font-family: arial; } a.mojocopyra:link, a.mojocopyra:visited, a.mojocopyra:active { color: #ffffff; font-size: 7pt; font-family: arial; } a.mojocopyra:hover { color: #ffffff; font-size: 7pt; font-family: arial; text-decoration: underline; background: none } ');

document.write('td.mojo_header { text-align: center; background-color: #8b0000; font-size: 9pt; font-family: verdana; font-weight: bold; color: #ffffff } ');

document.write('td.mojo_row { background-color: #ffffff; font-size: 9pt; font-family: verdana; color: #000000 } ');

document.write('--></style>');
document.write('<table border=0 cellspacing=1 cellpadding=3>');
document.write('<tr><td align=center class=mojo_header>Revenge of the Sith</td></tr>');
document.write('<tr><td align=center class=mojo_row><b>$380,270,577</b></td></tr>');
document.write('<tr><td class=mojo_copyright><a class=mojocopyra href=http://www.boxofficemojo.com/movies/?id=starwars3.htm><nobr>Source: Box Office Mojo.</nobr> <nobr>Click for more info.</nobr></a></tr>');
document.write('</table>');`

var r = /mojo_row><b>([^<]+)</; // match "…class=mojo_row><b>$380,270,577</b>…"

var gross = r.exec(s)[1]; // grab just "$380,270,577" from ([^<]+) matching group

关于JavaScript 为 boxofficemojo.com 上的单部电影带来收入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44474843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com