gpt4 book ai didi

javascript - 如何从 Scrapy 响应中的脚本标签中提取 Javascript 变量?

转载 作者:行者123 更新时间:2023-11-30 14:27:32 26 4
gpt4 key购买 nike

<script type="text/javascript">

define('roomsAndRatesData', function() {
var roomsAndRatePlans = {"propertyData":{"bookingFeeMessageEnabled":true}},{"rooms":{"24-285501":{"locale":"en"}}}

};
</script>

该脚本中还定义了其他变量。我只需要“var roomsAndRatePlans”变量中的数据,任何人都可以建议解决方案以仅获取该变量数据。

我已经尝试过其他解决方案,但总是检索该脚本标签内的所有数据并转换该数据会引发错误。

所以请提供解决方案以仅获取该脚本的特定数据

谢谢

最佳答案

您可以使用 js2xml图书馆:

>>> import js2xml
>>> from js2xml.utils.vars import get_vars
>>> snippet = '''
var product = {"price": 10.93, "stock": false, "name": "JBL"};
var analytics = {"id": 1234};
'''
>>> get_vars(js2xml.parse(snippet))
{
'product': {'price': 10.93, 'stock': False, 'name': 'JBL'},
'analytics': {'id': 1234}
}

您的 JS 代码段似乎不完整,所以我在这里使用了一个虚拟代码段。在您的情况下,您可能首先必须通过以下方式获取 JS 代码:

>>> snippet = response.css('script:contains("roomsAndRatesData")::text').get()

关于javascript - 如何从 Scrapy 响应中的脚本标签中提取 Javascript 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51705142/

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