【Python爬虫】唯品会关键词搜索接口最热商品基础信息提取(源码在文末)

一、爬取目标

唯品会-(原Vipshop.com)特卖会:品牌特卖_确保正品_确保低价_货到付款

www.vip.com

二、爬取结果展示

图片

图片

三、过程解析

我们先来到官网打开控制台输入关键字,这里搜索面膜简单看看

图片

通过研究发现是先获取到相关的商品id,然后再用id去请求具体的商品信息在页面完成加载。这里先是getMerchandiseIds获取id

图片

紧接着就是把这里的id数组拿到getMerchandiseDroplets1接口去请求具体的商品信息。

图片

那么有了这个思路之后我们就可以开始写代码了,这里粘贴部分代码,那么有了这个思路 我们就可以很轻松的拿到商品信息数据,至于数据处理的部分 我相信不用我来说你也知道。

# 发起商品搜索请求,获取热门商品信息
for i in range(0, 1):
    url = 'https://mapi.vip.com/vips-mobile/rest/shopping/pc/search/product/rank?callback=getMerchandiseIds&app_name=shop_pc&app_version=4.0&warehouse=VIP_HZ&fdc_area_id=104101108&client=pc&mobile_platform=1&province_id=104101&api_key=70f71280d5d547b2a7bb370a529aeea1&user_id=&mars_cid=1628070214309_e7fbca2c43dda020cc7734c00466d49c&wap_consumer=a&standby_id=nature&keyword={}&lv3CatIds=&lv2CatIds=&orderId=6&lv1CatIds=&brandStoreSns=&props=&priceMin=&priceMax=&vipService=&sort=0&pageOffset={}&channelId=1&gPlatform=PC&batchSize=120&_=1628070503449'.format(
        quote(keyword), 10 * i)
    headers = {'referer': 'https://category.vip.com/', 'user-agent': 'Mozilla/5.0'}
    html = requests.get(url, headers=headers)
    start = html.text.find('{"code"')
    json_data = json.loads(html.text[start:-1])['data']['products']

hot_product_id = json_data[0]['pid']

# 模拟浏览器请求
headers = {
    # 防盗链 告诉服务器请求链接地址从哪里跳转过来
    "Referer": "https://category.vip.com/",
    # 用户代理 浏览器基本身份信息
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}
# 请求链接
url = 'https://mapi.vip.com/vips-mobile/rest/shopping/pc/product/module/list/v2?'
# 请求参数
data = {
    # "callback": "getMerchandiseDroplets1",  # 回调函数 获取requests.json()错误,将其省略
    "app_name": "shop_pc",
    "app_version": "4.0",
    "warehouse": "VIP_HZ",
    'fdc_area_id': "104103105",
    "client": "pc",
    'mobile_platform': "1",
    "province_id": "104103",
    "api_key": "70f71280d5d547b2a7bb370a529aeea1",
    "user_id": "",
    "mars_cid": "1709020224623_93efa75c9405a664404d2796c42f476e",
    "wap_consumer": "a",
    "productIds": hot_product_id,
    "scene": "search",
    "standby_id": "nature",
    "context": "",
    "_": "1689389675519",
}

# 发送请求
requeston = requests.get(url=url, params=data, headers=headers).text
# 假设 requeston 是你的 JSON 字符串
response_data = json.loads(requeston)# 获取 'data' 下的 'products' 列表
products = response_data['data']['products']

四、源码获取

编码不易,请支持原创!

本案例完整爬虫源码及结果文件,关注后回复  唯品会  可全部免费获取

获取后,有任何代码问题请留言!

任何疑问可以直接后台留言,蛋蛋会及时回复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值