我正在尝试使用请求模块从 webpage 中抓取产品的 product title
、description
和 price
。尽管该页面的内容是动态的,但大部分产品信息都可以在页面源代码中的某个脚本标签中找到。
我已经从那个页面抓取了 product title
和 description
,它们在容器变量中。不幸的是,我找不到容器内的价格。因此,我希望使用请求模块从该站点抓取 Regular price: $8.97
和 Sale price: $5.97
。
import re
import json
import requests
from pprint import pprint
url = "https://www.walmart.ca/en/ip/terra-delyssa-tunisian-extra-virgin-olive-oil/6000196167258"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36'
}
res = requests.get(url,headers=headers)
items = re.findall(r"window.__PRELOADED_STATE__=(.*?);<",res.text)[0]
container = json.loads(items)['entities']['skus']
for i in container:
product_name = container[i]['name']
description = container[i]['longDescription']
print(product_name,description)
<块引用>
<块引用>
如何使用请求从该站点抓取价格信息?
答案 0 :(得分:1)
你有 242 声望,所以我不能
无论如何https://www.walmart.ca/api/product-page/v2/price-offer向此链接发送帖子请求,您将获得您的东西
或
只需使用硒