gpt4 book ai didi

javascript - 如何在Python中获取JavaScript内容

转载 作者:太空宇宙 更新时间:2023-11-03 17:30:38 24 4
gpt4 key购买 nike

我有一个网站,其中有我想要获取的数据,这些数据存储在 JavaScript 中。我如何获取它?

代码是这样的:- http://pastebin.com/zhdWT5HM

我想从“varplayersData”行获取。我想获取这个东西:-“playerId”:“showsPlayer”(显然没有引号)。我该怎么做?

我尝试过美味的汤。我当前的脚本如下所示

q = requests.get('websitelink')
soup = BeautifulSoup(q.text)

searching = soup.findAll('script',{'type':'text/javascript'})
for playerIdin searching:
x = playerId.find_all('var playersData', limit=1)
print x

我得到 [] 作为我的输出。我似乎无法弄清楚我的问题在这里。请大家帮忙:)

最佳答案

BeautifulSoup 只会帮助定位所需的 script 标记。然后,您将有多个选择:您可以使用 javascript 解析器提取所需的数据,例如 slimit ,或使用正则表达式:

import re

from bs4 import BeautifulSoup

page = """
<script type="text/javascript">
var logged = true;
var video_id = 59374;
var item_type = 'official';

var debug = false;
var baseUrl = 'http://www.example.com';
var base_url = 'http://www.example.com/';
var assetsBaseUrl = 'http://www.example.com/assets';
var apiBaseUrl = 'http://www.example.com/common';
var playersData = [{"playerId":"showsPlayer","userId":true,"solution":"flash","playlist":[{"itemId":"5090","itemAK":"Movie"}]];
</script><script type="text/javascript" >
"""
soup = BeautifulSoup(page)

pattern = re.compile(r'"playerId":"(.*?)"', re.MULTILINE | re.DOTALL)
script = soup.find("script", text=pattern)

print pattern.search(script.text).group(1)

打印:

showsPlayer

关于javascript - 如何在Python中获取JavaScript内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31892945/

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