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