抓取shopee 产品数据

问题描述 投票:0回答:0

我尝试使用Python脚本获取Shopee产品数据,但它返回了错误。
我调用的API: https://my.xiapibuy.com/api/v4/pdp/get_pc?shop_id=169902600&item_id=22911296867
该API来自产品详情页面。

这是我的代码:(这些标头和cookie是从浏览器复制的)

import requests

cookies = {
    'REC_T_ID': '1568c551-2cfa-11ee-ac71-2cea7fa8a647',
    'SPC_R_T_ID': 'z8I2tHNVgPO02VHrers7bjpaaXBDUpbPlUFq2kDPKpROMkSsVwAsrQFTu+cMQj4h2NGso4KXCAXtbnWoCDBwqMfeTBNJniSYqkjcqcCsBJR1uqE024Ouoxupo79s+0EFvrKvaAaH4F6igRJCkWsY7W6GYCRDKjgdZ3+amaq6OOI=',
    'SPC_R_T_IV': 'RFVEdmRPek8wVGhPd0Q1Tw==',
    'SPC_T_ID': 'z8I2tHNVgPO02VHrers7bjpaaXBDUpbPlUFq2kDPKpROMkSsVwAsrQFTu+cMQj4h2NGso4KXCAXtbnWoCDBwqMfeTBNJniSYqkjcqcCsBJR1uqE024Ouoxupo79s+0EFvrKvaAaH4F6igRJCkWsY7W6GYCRDKjgdZ3+amaq6OOI=',
    'SPC_T_IV': 'RFVEdmRPek8wVGhPd0Q1Tw==',
    'SPC_F': 'H0EDmb7MVdOaE8povZ0xprHJEtngq0UT',
    '_med': 'refer',
    '_gcl_au': '1.1.299327793.1690517236',
    '__LOCALE__null': 'MY',
    'csrftoken': '5hqeIuJZYcEZz1M2KfWP1zuNtD4dFs3D',
    'SPC_SI': 'gNS+ZAAAAAA5S0t3ZzBlVrcyQgAAAAAAa3lpT1lLNDI=',
    '_QPWSDCXHZQA': '133426f0-d815-4b84-ce97-b40b30b772d1',
    'language': 'en',
}

headers = {
    '1fc3679a': "'!CqtPWp4U8f1\\*4B\\_p>+Gt:",
    '35fd529f': '8;]_q`OMIU>I^5@4fP3GNrDl?e$%QeW;<5Wc;^l@B1W<OU2d^q]+7%LI=[/e_?a[#7eq5Vi4gU,:\'n4a(m-ooFs00<`Rs3mfk\']/01@"^#cu0V#)Noja#>ZUe)cXfBHWF@Oi`\'^rn`Sq`Bg3fG8:?GWYVRom8$@jMGW56P;qBbn\\mcghRL\\Ta1!@EG`!140(EfUhRL\\Ta1!@EG`!140(EfU',
    '641313d6': '5dnMA<f.]88Ms2GF\\E*j+$i>\\',
    'authority': 'my.xiapibuy.com',
    'accept': 'application/json',
    'accept-language': 'zh-CN,zh;q=0.9',
    'af-ac-enc-dat': 'AAcyLjkuMi0yAAABiamjwnAAAAxNAqAAAAAAAAAAAj+vsCN1JmrO07Nj/3HXJNy9QGsYdZAk8Sf2+ojFBHJ9SHj5V1019SPZ3MOqqCI1ddXGq/ckuV4su4PXFa0OSI9N/AE321h4OpGmXufWMh1yLYSsLh2OX3mg8tdekDcjIs8rEEeeQ15RO83PbnX5eMiU4on5fT9QmTzI96TrGrNlnFa9WqBq8JBvwYiEjCiIP+PgSuEQT6HZreBHbMxyHBeKKZOmb2MOcNDlc045GJC+Ku2HFSm7MBhE9TaZCRWjCU1LzAqX/zYTJ8PH9tVFw9ppG9ibUJ6Pv7fJJNPiR6EXIB6QP8zoUhKAg6vJXYPkXE5ho+pc0XG8frvsLhQK78fs7www8WJ6JV771K7M3S4Ty2Ncm8vFui5C+Cokhc47s9IEFIsGDUtpEpNSSI0oOt3tagOTHkenEhnNI10zaevKlBjvvsvFui5C+Cokhc47s9IEFIsGDUtpEpNSSI0oOt3tagOTUWJy02xIVh23BkGRTuyWQfap+xOCy0qf6FceYCNc1JRGrbfJWuRYlFp+J0tcUk6vRQg7nCQX6c8aLMHSU1udIlj4f3pW05can3G4luWGcOFGrbfJWuRYlFp+J0tcUk6vW74i8uA1jO6LutK226iCoUt/L1fMRwaKD4kPFBAxJLiQSTNfOVSaKdmrHu6LLPx/lhlXKGMc92/gjgVEhFfxvKcssCZ2aNdJkmjP2XAMSQaX/zYTJ8PH9tVFw9ppG9ibl/82EyfDx/bVRcPaaRvYmzZjQyDbjuC8aTsHZ2w1gSO56JLDRvApTrj5zb/kU/iGKIbi4DW4cw+l312+hM00onGL+nOXs0jN7EfyKNl4wTFGMDsru9H9Ohu8OFcbNM0vT14xBhlstwzFVbpGSg7PttDHWxZ2WI9e9yfERe6nPUw=',
    'af-ac-enc-sz-token': '',
    'content-type': 'application/json',
    # 'cookie': 'REC_T_ID=1568c551-2cfa-11ee-ac71-2cea7fa8a647; SPC_R_T_ID=z8I2tHNVgPO02VHrers7bjpaaXBDUpbPlUFq2kDPKpROMkSsVwAsrQFTu+cMQj4h2NGso4KXCAXtbnWoCDBwqMfeTBNJniSYqkjcqcCsBJR1uqE024Ouoxupo79s+0EFvrKvaAaH4F6igRJCkWsY7W6GYCRDKjgdZ3+amaq6OOI=; SPC_R_T_IV=RFVEdmRPek8wVGhPd0Q1Tw==; SPC_T_ID=z8I2tHNVgPO02VHrers7bjpaaXBDUpbPlUFq2kDPKpROMkSsVwAsrQFTu+cMQj4h2NGso4KXCAXtbnWoCDBwqMfeTBNJniSYqkjcqcCsBJR1uqE024Ouoxupo79s+0EFvrKvaAaH4F6igRJCkWsY7W6GYCRDKjgdZ3+amaq6OOI=; SPC_T_IV=RFVEdmRPek8wVGhPd0Q1Tw==; SPC_F=H0EDmb7MVdOaE8povZ0xprHJEtngq0UT; _med=refer; _gcl_au=1.1.299327793.1690517236; __LOCALE__null=MY; csrftoken=5hqeIuJZYcEZz1M2KfWP1zuNtD4dFs3D; SPC_SI=gNS+ZAAAAAA5S0t3ZzBlVrcyQgAAAAAAa3lpT1lLNDI=; _QPWSDCXHZQA=133426f0-d815-4b84-ce97-b40b30b772d1; language=en',
    'referer': 'https://my.xiapibuy.com/%EF%B9%8Aplayboy-wallet-leather-texture-men%E2%80%99s-wallet-short-wallet-student-youth-driver%E2%80%99s-license-leather-case-horizontal-trend-9ACO-i.169902600.22911296867?sp_atk=a5250a2c-f5f7-49b7-be6b-18726b56c2a0&xptdk=a5250a2c-f5f7-49b7-be6b-18726b56c2a0',
    'sec-ch-ua': '"Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'cors',
    'sec-fetch-site': 'same-origin',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',
    'x-api-source': 'pc',
    'x-csrftoken': '5hqeIuJZYcEZz1M2KfWP1zuNtD4dFs3D',
    'x-requested-with': 'XMLHttpRequest',
    'x-sap-ri': '6513c764292eed24875e79312986edf9b6275872ce16b662',
    'x-shopee-language': 'en',
    'x-sz-sdk-version': '2.9.2-2&1.4.1',
}

response = requests.get('https://my.xiapibuy.com/api/v4/pdp/get_pc?shop_id=169902600&item_id=22911296867', cookies=cookies, headers=headers)

print(response.json())

这是我得到的结果,它没有返回给我正确的数据

{'is_customized': False, 'is_login': False, 'platform': 0, 'action_type': 2, 'error': 90309999, 'tracking_id': 'bcc51839-67fc-43cf-bb49-c97bb25e1be5', 'report_extra_info': ''}

但是,当我使用抓包工具Charles来代理我的网络请求时,我能够成功检索数据。

为什么直接使用Python脚本会被检测到?还是我的代码有问题?

这是我所知道的:

1fc3679a
35fd529f
641313d6
x-sap-ri
标头每次请求都会改变,但每个生成的值可以使用5次

af-ac-enc-dat
sec-fetch-dest
sec-fetch-mode
headers 为必填项,其值是固定的

python web-crawler shopee
© www.soinside.com 2019 - 2024. All rights reserved.