从Javascript脚本块

时间:2018-01-16 06:32:50

标签: javascript python

我是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',

2 个答案:

答案 0 :(得分:2)

您可以使用regex从页面html中提取该内容。

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

matches = re.findall(regex, webpageHtmlString)

print(matches[0])

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

答案 1 :(得分:0)

使用PyQuery获取jquery,比如使用python查询html内容。

{{1}}

根据您的内容,您可以像查询一样使用Jquery