无法使用请求从站点中抓取价格相关信息

时间:2021-05-30 02:22:37

标签: python python-3.x web-scraping python-requests

我正在尝试使用请求模块从 webpage 中抓取产品的 product titledescriptionprice。尽管该页面的内容是动态的,但大部分产品信息都可以在页面源代码中的某个脚本标签中找到。

我已经从那个页面抓取了 product titledescription,它们在容器变量中。不幸的是,我找不到容器内的价格。因此,我希望使用请求模块从该站点抓取 Regular price: $8.97Sale 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)
<块引用> <块引用>

如何使用请求从该站点抓取价格信息?

1 个答案:

答案 0 :(得分:1)

你有 242 声望,所以我不能

无论如何https://www.walmart.ca/api/product-page/v2/price-offer向此链接发送帖子请求,您将获得您的东西

只需使用硒