无法使用Python请求获得JSON响应

时间:2019-04-23 14:05:41

标签: python json web-scraping python-requests

我有一个产品网页,登录后会得到 ,产品描述和特征

https://www.questonline.gr/proionta/laptop,-tablet-axesouar/laptop/nb-dell-inspiron-3552-n3060-4gb-500gb-w10

但是它使用来自不同URL https://www.questonline.gr/quest-mvc/Pricing/GetPrices

的JSON文件显示价格。

我使用以下部分:

time.sleep(3)
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'}

r = self.ses.get(myurl, headers=headers)


if r.status_code == 200:

    r2 = self.ses.post('https://www.questonline.gr/quest-mvc/Pricing/GetPrices')
    json_data = json.loads(r2.text)
    print(json_data)

    Myhtml = r.text
    soup = BeautifulSoup(Myhtml, 'html.parser')

我要获取的JSON响应是

{
  "status": "success",
  "item_list": {
    "263704": {
      "Matnr": "263704",
      "Price": 21.12,
      "Price1": 0.0,
      "Price2": 0.0,
      "Currency": "EUR"
    }
  }
}

enter image description here

enter image description here 相反,我收到如下错误:

{'error':'对象引用未设置为对象的实例。','debug':''}

如果我更改为get。(url),则会收到错误消息

期望值:第4行第1列(字符6)

那么我可以从JSON响应中获取价格吗?

通过邮寄而不是通过获取来做错了吗?

插入标题是否错误?

谢谢你,很抱歉我的新手问题

0 个答案:

没有答案