如何从 stcipt var 中提取特定数据?
How to extract specific data from stcipt var?
以下是我要从中提取数据的页面的 html 代码的一部分
<script type="text/javascript">
var productOptInfo = {
prdNo: "3385792003",
//lastPrc : 497500,
optCnt: 5,
selOptCnt: 3,
entOptCnt: 2,
selOptTyp: "01",
optItemNms:
isOptCalc: false,
isNotOptPrd: false,
totStockQty: 9999,
totPrdStckNo: "12951427057",
totPrdPrc: "0",
defaultOptQty: "1",
optCheckStatus: "OK",
orderOptArr: [],
orderAddPrdArr: [],
orderRecmPrdArr: [],
isHighPrice: false,
SPLIT_SEPARATOR: ":∥:"
};
我的代码是..
import requests
from bs4 import BeautifulSoup
import re
url1 = 'http://www.11st.co.kr/products/3167879989'
req = requests.get(url1).text
soup = BeautifulSoup(req, 'lxml')
js = soup.find_all('script')[27].string
m = re.search(r'var productOptInfo = (.*?);', js, re.S).group(0)
print(m)
如何提取“optCnt”、“selOptCnt”和“entOptCnt”的值??
我想得到值 5,3,2
您可以安装 demjson
模块:https://pypi.org/project/demjson/ 并使用它来解析 javascript 对象 - 在这种情况下您会得到一个字典。
# note it's group(1)
m = re.search(r'var productOptInfo = (.*?);', js, re.S).group(1)
j = demjson.decode(m)
>>> j['optCnt']
2
>>> j['prdNo']
'3167879989'
以下是我要从中提取数据的页面的 html 代码的一部分
<script type="text/javascript">
var productOptInfo = {
prdNo: "3385792003",
//lastPrc : 497500,
optCnt: 5,
selOptCnt: 3,
entOptCnt: 2,
selOptTyp: "01",
optItemNms:
isOptCalc: false,
isNotOptPrd: false,
totStockQty: 9999,
totPrdStckNo: "12951427057",
totPrdPrc: "0",
defaultOptQty: "1",
optCheckStatus: "OK",
orderOptArr: [],
orderAddPrdArr: [],
orderRecmPrdArr: [],
isHighPrice: false,
SPLIT_SEPARATOR: ":∥:"
};
我的代码是..
import requests
from bs4 import BeautifulSoup
import re
url1 = 'http://www.11st.co.kr/products/3167879989'
req = requests.get(url1).text
soup = BeautifulSoup(req, 'lxml')
js = soup.find_all('script')[27].string
m = re.search(r'var productOptInfo = (.*?);', js, re.S).group(0)
print(m)
如何提取“optCnt”、“selOptCnt”和“entOptCnt”的值?? 我想得到值 5,3,2
您可以安装 demjson
模块:https://pypi.org/project/demjson/ 并使用它来解析 javascript 对象 - 在这种情况下您会得到一个字典。
# note it's group(1)
m = re.search(r'var productOptInfo = (.*?);', js, re.S).group(1)
j = demjson.decode(m)
>>> j['optCnt']
2
>>> j['prdNo']
'3167879989'