Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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脚本块中提取变量_Javascript_Python - Fatal编程技术网

从Javascript脚本块中提取变量

从Javascript脚本块中提取变量,javascript,python,Javascript,Python,我不熟悉Javascript,并尝试使用Python解析它,但我一直在尝试使用BeautifulSoup以及从脚本的“RT.currentVideo”部分提取“file”行的请求,但我似乎不能。我完全不知道该如何存储网页的这一部分,因为它没有像我在网上发现的大多数其他相关问题那样的标识符 如果您有任何帮助,我们将不胜感激,感谢您抽出时间登记入住 这是我用来阅读页面的内容: url = "http://roosterteeth.com/episode/rt-docs-connected-conne

我不熟悉Javascript,并尝试使用Python解析它,但我一直在尝试使用BeautifulSoup以及从脚本的“RT.currentVideo”部分提取“file”行的请求,但我似乎不能。我完全不知道该如何存储网页的这一部分,因为它没有像我在网上发现的大多数其他相关问题那样的标识符

如果您有任何帮助,我们将不胜感激,感谢您抽出时间登记入住

这是我用来阅读页面的内容:

url = "http://roosterteeth.com/episode/rt-docs-connected-connected-official-trailer"
req = Request(url, headers={'User-Agent': 'Mozilla/5.0', 'Accept-Encoding': 'utf-8'})
response = urlopen(req)
webpage = BeautifulSoup(response.read().decode('utf-8', 'ignore'), "html.parser")
这是我想从中提取信息的页面上的Javascript块。同样,我希望得到的是'file'变量中的字符串

<script>
    RT.currentVideo = {
      authUser: 0,
      autoPlay: 1,
      csrfToken: 'H240Yw8x9oYasUw2Tzt3qpwzA14Z1ajRjuXo6RV1',
      endPoint: 89,
      desktopAgent: 1,
      file: 'https://rtv2-video.roosterteeth.com/uploads/videos/0e840b4f-a188-440d-adc0-b78093c1009f/index.m3u8',

RT.currentVideo={
授权用户:0,
自动播放:1,
csrfToken:'H240Yw8x9oYasUw2Tzt3qpwzA14Z1ajRjuXo6RV1',
终点:89,
桌面代理:1,
档案:'https://rtv2-video.roosterteeth.com/uploads/videos/0e840b4f-a188-440d-adc0-b78093c1009f/index.m3u8',
您可以使用从html页面中提取

import re
regex = r"file:\s*?'(.+)'"

matches = re.findall(regex, webpageHtmlString)

print(matches[0])

webpageHtmlString
应该是页面的html字符串。

使用PyQuery获得类似于jquery的html内容查询

from pyquery import PyQuery as pq

scripttags = pq('src') ## will output a list of script tags

print(scriptTags[0].src)

根据您的内容,您可以使用Jquery,比如查询

,该标记中不是JSON,而是Javascript。