使用 Python 中的 BeautifulSoup 从脚本标签 [HTML] 中提取数据
Extract data from script tag [HTML] using BeautifulSoup in Python
我想从脚本中的变量中提取数据:
<script>
var Itemlist = 'null';
var ItemData = '[{\"item_id\":\"107\",\"id\":\"79\",\"line_item_no\":\"1\",\"Amount\":\"99999.00\"}]';
</script>
我想要 item_id
和 python
中的变量内部的金额
我尝试使用正则表达式它工作了一段时间但是当 cookies 会话更新时它停止工作
还有其他方法可以获取这些值吗?
我正在使用此方法从 html 获取脚本,但它会在 cookie 会话更新时发生变化
soup = bs(response.content, 'html.parser')
script = soup.find('script')[8]
所以我必须更改我放在 ('script')
之后的数字,现在是 [8]
如果 cookie 会话更新,我必须不断更改数字,直到找到我正在寻找的脚本对于
要从 <script>
中获取数据,您可以使用此示例:
import re
import json
from bs4 import BeautifulSoup
html_data = """
<script>
var Itemlist = 'null';
var ItemData = '[{\"item_id\":\"107\",\"id\":\"79\",\"line_item_no\":\"1\",\"Amount\":\"99999.00\"}]';
</script>
"""
soup = BeautifulSoup(html_data, "html.parser")
data = soup.select_one("script").text
data = re.search(r"ItemData = '(.*)';", data).group(1)
data = json.loads(data)
print("Item_id =", data[0]["item_id"], "Amount =", data[0]["Amount"])
打印:
Item_id = 107 Amount = 99999.00
我想从脚本中的变量中提取数据:
<script>
var Itemlist = 'null';
var ItemData = '[{\"item_id\":\"107\",\"id\":\"79\",\"line_item_no\":\"1\",\"Amount\":\"99999.00\"}]';
</script>
我想要 item_id
和 python
我尝试使用正则表达式它工作了一段时间但是当 cookies 会话更新时它停止工作
还有其他方法可以获取这些值吗?
我正在使用此方法从 html 获取脚本,但它会在 cookie 会话更新时发生变化
soup = bs(response.content, 'html.parser')
script = soup.find('script')[8]
所以我必须更改我放在 ('script')
之后的数字,现在是 [8]
如果 cookie 会话更新,我必须不断更改数字,直到找到我正在寻找的脚本对于
要从 <script>
中获取数据,您可以使用此示例:
import re
import json
from bs4 import BeautifulSoup
html_data = """
<script>
var Itemlist = 'null';
var ItemData = '[{\"item_id\":\"107\",\"id\":\"79\",\"line_item_no\":\"1\",\"Amount\":\"99999.00\"}]';
</script>
"""
soup = BeautifulSoup(html_data, "html.parser")
data = soup.select_one("script").text
data = re.search(r"ItemData = '(.*)';", data).group(1)
data = json.loads(data)
print("Item_id =", data[0]["item_id"], "Amount =", data[0]["Amount"])
打印:
Item_id = 107 Amount = 99999.00