【问题标题】:Web Scraping using Python, requests.get() responses incomplete values for number exceeding 27 digits使用 Python 进行 Web 抓取,requests.get() 响应超过 27 位数字的不完整值
【发布时间】:2021-06-06 19:01:57
【问题描述】:

我正在尝试使用 python 抓取 shopee 商品信息。

https://shopee.com.my/All%20in%20one%20pc%20Intel%20core%20I3/I5/I7%20Dual-core%208G%20RAM%20128%20gb%20SSD%20With%20optical%20drive%20CD%2023.8%20Inch%20computer%20Office%20Desktop%20All-in-one%20desktop%20Support%20WiFi-i.206039726.5859069631为例。

由于它使用 ajax,我试图从以下位置提取它:https://shopee.com.my/api/v2/item/get?itemid=5859069631&shopid=206039726

当我从 chrome 检查中检查它时,在预览和响应中,图像显示完整的值(32 位)。但是当我从 requests.get() 获取响应值时,该值仅显示 27 位。

在预览和响应中,“图像”的值是:

images: ["0cab02400aec16036fc22e1371e6ac82", "7822e2c23e97a127cc7d5e1f09ceeb05",…]
0: "0cab02400aec16036fc22e1371e6ac82"
1: "7822e2c23e97a127cc7d5e1f09ceeb05"
2: "30aafee6dea83815d0ef8f903ae83545"
3: "9e50205c2e35d906eecaa5c51efee1b1"
4: "36653bbf56bf3c3ee23e733505514a2e"
5: "3fbd12af05e09c4f8d7444f42950a560"
6: "66d3c8663071e841f22a0164207b9af5"
7: "8dd24dfe33310ac8a7aa2449a9d7cd5b"
8: "ad83672be0471df9f7d4328c8cc6b093"

requests.get() 值是:

"images":["0cab02400aec16036fc22e1371e","7822e2c23e97a127cc7d5e1f09c","30aafee6dea83815d0ef8f903ae","9e50205c2e35d906eecaa5c51ef","36653bbf56bf3c3ee23e7335055","3fbd12af05e09c4f8d7444f4295","66d3c8663071e841f22a0164207","8dd24dfe33310ac8a7aa2449a9d","ad83672be0471df9f7d4328c8cc"]

最后 5 位数字丢失。

代码:

response = requests.get(url,cookies=cookie, headers=headers)

print(response.content)

if response.status_code == 200:

    item_info = response.text

我怎样才能解决这个问题并获得完整的价值?非常感谢!

【问题讨论】:

    标签: python html ajax web-scraping python-requests


    【解决方案1】:

    @tadahjj 你能链接到那个端点的 api 文档吗?它可能会告诉您为什么它会在响应中返回一个不完整的 id - 不管怎样,它都会给我们更多的工作来诊断错误。

    【讨论】:

      猜你喜欢
      • 2020-03-30
      • 2018-07-31
      • 2017-05-21
      • 2014-04-25
      • 2022-07-22
      • 1970-01-01
      • 2022-11-13
      • 2022-10-03
      • 1970-01-01
      相关资源
      最近更新 更多