Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法使用请求从站点中刮取与价格相关的信息_Python_Python 3.x_Web Scraping_Python Requests - Fatal编程技术网

Python 无法使用请求从站点中刮取与价格相关的信息

Python 无法使用请求从站点中刮取与价格相关的信息,python,python-3.x,web-scraping,python-requests,Python,Python 3.x,Web Scraping,Python Requests,我试图从using requests模块中获取产品的标题、描述和价格。尽管该页面的内容是动态的,但大多数产品信息都可以在某些脚本标记的页面源中找到 我已经从该页面抓取了产品标题和说明,它们在容器变量中。不幸的是,我在集装箱里找不到价格。因此,我希望使用requests模块从该站点中获取常规价格:$8.97和销售价格:$5.97 import re import json import requests from pprint import pprint url = "https://

我试图从using requests模块中获取产品的
标题
描述
价格
。尽管该页面的内容是动态的,但大多数产品信息都可以在某些脚本标记的页面源中找到

我已经从该页面抓取了
产品标题
说明
,它们在容器变量中。不幸的是,我在集装箱里找不到价格。因此,我希望使用requests模块从该站点中获取
常规价格:$8.97
销售价格:$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)
重新导入
导入json
导入请求
从pprint导入pprint
url=”https://www.walmart.ca/en/ip/terra-delyssa-tunisian-extra-virgin-olive-oil/6000196167258"
标题={
“用户代理”:“Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.36(KHTML,如Gecko)Chrome/88.0.4324.150 Safari/537.36”
}
res=requests.get(url,headers=headers)

items=re.findall(r)window.\uuuu预加载\u STATE\uuuu=(.*);您有242个声誉,所以我不能

无论如何,发送post请求到此链接,您将获得您的物品


只需使用selenium

是的,你是对的。我想知道我怎么会错过它!!非常感谢你的指点。