如何使用 Python 和 Beautifulsoup 从脚本标签获取 JavaScript 变量

Fra*_*ER 1 python selenium beautifulsoup web-scraping

我想使用 beautifulsoup 和 python 从变量元返回“id”值。这可能吗?此外,我不知道如何找到包含元变量的特定“脚本”标签,因为它没有唯一标识符,以及网站上的许多其他“脚本”标签。我也使用硒,所以我可以理解任何答案。

<script>
    var meta = "variants":[{"id":12443604615241,"price":14000}, 
    {"id":12443604648009,"price":14000}]
</script>
Run Code Online (Sandbox Code Playgroud)

Dal*_*jia 8

如果您使用selenium,则无需解析html来获取js变量,只需使用selenumwebdriver.execute_script()将其获取到python:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get('https://whatever.com/')
meta = driver.execute_script('return meta')
Run Code Online (Sandbox Code Playgroud)

就是这样,meta 现在保存了 js 变量,并且它保持了它的类型