跨境电商选品实战——Ownips静态ip代理+Python爬虫轻松搞定Lazada电商选品

文章目录

  • 一、引言
  • 二、Lazada电商平台爬虫实战
    • 2.1、分析Lazada电商平台的商品列表接口
    • 2.2、定位商品列表计算逻辑
    • 2.3、封装IP代理
    • 2.4、运行爬虫
  • 三、数据处理及选品分析
  • 四、Ownips——企业级全球静态IP代理

一、引言

互联网与外贸的结合,催生了蓬勃兴起的跨境电子商务。基于这种跨越国界的电子商务模式,企业不再受限于传统的地域销售,而是可以将产品推向全球市场,实现全球范围的发展。

然而,与传统的国内电商相比,国际市场消费者的需求、偏好、文化习惯等差异巨大,因此我们在选品方面也面临更为复杂的挑战。根据目标市场的需求和特点精选出适合销售的产品,直接影响一个商家的竞争力,而选品也不仅仅是销售产品,更是树立品牌形象和提升竞争力的重要手段。

在这里插入图片描述

对于许多初入跨境电商领域的新手而言,选品方法通常局限于国内市场的经验和视野,缺乏对全球市场的深入了解和把握,数据来源有限,难以抓住市场需求和竞争态势。本文将结合实际操作和理论分析,以Lazada电商平台为例,利用Python爬虫与Ownips静态IP代理(我常用的代理品牌)相结合的方式来进行选品,以全新的视角实战跨境电商选品,希望可以给新手商家们一些选品方法。

二、Lazada电商平台爬虫实战

2.1、分析Lazada电商平台的商品列表接口

熟悉电商的朋友肯定知道,一个平台的商品列表中包含了商品的名称、类别、价格、描述、评价、销售量等信息,这些信息可以帮助商家全面了解市场需求、价格竞争情况、产品特性和销售策略等方面。

我们首先进入Lazada电商平台商品列表:https://www.lazada.com.ph/catalog,然后在搜索框中输入搜索的关键词,这里以“clothes”为例:

在这里插入图片描述

然后按下F12键,进入浏览器开发者模式界面,点击打开网络窗口和搜索窗口,按下F5刷新一次请求,搜索本页的最后一个商品的前几个词,就可以找到对应请求。
在这里插入图片描述

在右侧窗口中可以看到对应请求的标头、载荷和响应体:

在这里插入图片描述

下面我们来分析这个请求,点开标头可以看到请求的网址,这里可以拿到商品搜索的api为:https://www.lazada.com.ph/catalog/,然后记录请求标头的全部内容,作为后续爬虫的headers;其次点开载荷,这里可以看到api的参数,其中比较重要的参数有:isFirstRequest表示是否为首次访问 ,page表示为当前页,是爬虫爬取多页的关键参数,q表示搜索的关键词,spm为追踪参数,平台用于追踪搜索记录。这几个参数一般都不会被用来反爬,所以我们就可以进行正式开发。
在这里插入图片描述

2.2、定位商品列表计算逻辑

找到api接口并分析后,正式进入开发流程,首先我们需要对响应体进行分析,首先我们可以把这个响应体复制下来保存为json文件,然后搜索第一个商品的信息,找到商品所在的列表,然后可以搜索第二、第三个和最后一个商品,看其排序是否与列表中一致,若不一致还要重新计算排序逻辑。
在这里插入图片描述

分析JSON可以得知,商品列表存在mods.listItems中,所以我们可以使用Python中的requests库发送HTTP GET请求到https://www.lazada.vn/catalog/,同时传递刚刚记录下来的参数params和请求头headers,得到response对象后,使用jsonpath模块的jsonpath函数来解析,这里可以使用JSONPath表达式'$.mods.listItems.*'来提取responsemods对象下的listItems数组的所有元素:

response = requests.get('https://www.lazada.vn/catalog/',params=params, headers=headers).json()
data = jsonpath.jsonpath(response, '$.mods.listItems.*')
print(data)
print(len(data))

得到商品列表信息后,可以打印出来看一下格式并且查到每一页的商品数量为40,这与我们在官网的商品搜索得到的数量一致,因此,我们可以通过控制分页参数page来一次性爬取多个商品的信息,比如爬取关键词为“clothes”的第1页到第3页全部商品:

for page in range (1, 4):params = {"_keyori": "ss","ajax": 'true',"catalog_redirect_tag": 'true',"from": "input","isFirstRequest": 'true',"page": page,"q": "clothes","spm":"a2o4l.home-ph.search.go.23*******tG"}response = requests.get('https://www.lazada.vn/catalog/',params=params, headers=headers).json()data = jsonpath.jsonpath(response, '$.mods.listItems.*')#print(data)print(len(data))

至此,商品列表的基本计算逻辑已经理清。

2.3、封装IP代理

然而,Lazada一类的电商网站通常会监控和识别过于频繁的请求,如果检测到来自同一IP地址的大量请求,可能会将该IP地址列入黑名单或暂时封禁,使得爬虫无法继续获取数据。这里选择使用静态IP代理方法,通过配置代理服务器,将爬虫程序的请求通过该代理服务器转发,从而隐藏爬虫程序的真实IP地址。

这种方法不仅能够有效应对Lazada网站的反爬虫机制,防止被封禁,还可以模拟来自特定国家或地区的网络请求,从而伪装成该地区的用户访问目标网站或应用,更深入地了解国外用户的行为和需求。

本次实战使用Ownips进行全球静态IP代理,首先登录Ownips官网 ,登录后根据使用的场景(跨境电商、跨境服务、社媒、论坛)和所需的地区来选择出高质量的ip,我这里选择 跨境平台–Lazada为例:

在这里插入图片描述

然后点击获取代理,选择API提取模式:

在这里插入图片描述

选择单ISP,然后选择代理协议为HTTP/HTTPS,提取格式可以就用TXT+回车换行形式:

在这里插入图片描述

最后点击生成API链接并把本机的ip添加到白名单里,然后在将高质量和安全的静态IP代理封装进爬虫代码中,其主要逻辑如下:

def lazada(host, port):#################### 定义params、headers....#################### 设置代理proxies = {'http': 'http://{}:{}'.format(host, port),'https': 'http://{}:{}'.format(host, port),}# 利用代理发送requestsresponse = requests.get('https://www.lazada.vn/catalog/',params=params,proxies = proxies, headers=headers).json()if __name__ == '__main__':# 提取代理API接口,获取1个代理IPapi_url = "https://api-proxy.ownips.com/getIsp?num=1&type=2&lb=1&sb=0&flow=1&regions=&attribute=isp"# 获取API接口返回的代理IPresp = requests.get(url=api_url, timeout=5).textmyip, myport = resp.split(":")print("ip:" + myip + " port:" + myport)lazada(myip, myport) 

拥有多个代理ip的话,还可以进行多线程爬虫,分别以获取到的代理IP和端口作为参数,执行 lazada 的函数:

class ThreadFactory(threading.Thread):def __init__(self, host, port):threading.Thread.__init__(self)self.host = hostself.port = portdef run(self):lazada(self.host, self.port)if __name__ == '__main__':# 提取代理API接口,获取1个代理IPapi_url = "https://api-proxy.ownips.com/getIsp?num=1&type=2&lb=1&sb=0&flow=1&regions=&attribute=isp"while 1 == 1:# 每次提取10个,放入线程中resp = rq.get(url=api_url, timeout=5)try:if resp.status_code == 200:dataBean = json.loads(resp.text)else:print("获取失败")time.sleep(1)continueexcept ValueError:print("获取失败")time.sleep(1)continueelse:# 解析json数组print("code=", dataBean["code"])code = dataBean["code"]if code == 0:threads = []for proxy in dataBean["data"]:threads.append(ThreadFactory(proxy["ip"], proxy["port"]))for t in threads:  # 开启线程t.start()time.sleep(0.01)for t in threads:  # 阻塞线程t.join()# breaktime.sleep(1)

2.4、运行爬虫

在申请到IP代理后,就可以正常进行爬虫爬取批量数据了,首先从Ownips提供的代理链接获取代理IP和端口号,然后使用 requests.get 方法发送 HTTP GET 请求,获取到 Lazada 网站的响应,并将响应结果解析为 JSON 格式,然后使用 jsonpath.jsonpath 方法提取响应中的商品信息,并将其存储到变量 data 中。得到data后,遍历每次爬虫爬到的 data 中的每个商品信息,提取其中的商品名称、原始价格、销售价格、评分、评价数量、地点、卖家名称、卖家ID、品牌名称和品牌ID 等字段信息并使用 openpyxl 库将提取的商品信息写入到 Excel 文件中,并设置单元格的对齐方式为水平居中和垂直居中,最终保存到 result.xlsx 文件当中。

完整的爬虫源代码如下,部分敏感信息做了模糊化处理:

import requests, jsonpath, openpyxl
from openpyxl.styles import Alignment
import json
import timedef lazada(host, port):wb = openpyxl.Workbook()sheet = wb.activeheader=['name','originalPriceShow','priceShow','ratingScore','review','location','sellerName','sellerId','brandName','brandId']sheet.append(header)headers = {"authority": "www.lazada.com.ph","method": "GET","path": "/tag/%E5%A5%B3%E8%A3%85/?_keyori=ss&ajax=true&catalog_redirect_tag=true&from=input&isFirstRequest=true&page=1&q=%E5%A5%B3%E8%A3%85&spm=a2o4l.home-ph.search.go.******hBy","scheme": "https","Accept": "application/json, text/plain, */*","Accept-Encoding": "gzip, deflate, br, zstd","Accept-Language": "zh-CN,zh;q=0.9","Cookie": "__wp***********************************************************AJjnU","Referer": "https://www.lazada.com.ph/","Sec-Ch-Ua": ""Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"","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/121.0.0.0 Safari/537.36","X-Csrf-Token": "e**********","X-Requested-With": "XMLHttpRequest"}proxies = {'http': 'http://{}:{}'.format(host, port),'https': 'http://{}:{}'.format(host, port),}for page in range (1, 20):params = {"_keyori": "ss","ajax": 'true',"catalog_redirect_tag": 'true',"from": "input","isFirstRequest": 'true',"page": page,"q": "clothes","spm":"a2o4l.home-ph.search.go.***********G"}response = requests.get('https://www.lazada.vn/catalog/',params=params,proxies = proxies, headers=headers).json()data = jsonpath.jsonpath(response, '$.mods.listItems.*')print(len(data))for item in data:name = jsonpath.jsonpath(item,'$.name')[0]originalPriceShow = jsonpath.jsonpath(item,'$.originalPriceShow')[0]priceShow = jsonpath.jsonpath(item,'$.priceShow')[0]ratingScore = jsonpath.jsonpath(item,'$.ratingScore')[0]review = jsonpath.jsonpath(item,'$.review')[0]location = jsonpath.jsonpath(item,'$.location')[0]sellerName = jsonpath.jsonpath(item,'$.sellerName')[0]sellerId = jsonpath.jsonpath(item,'$.sellerId')[0]brandName = jsonpath.jsonpath(item,'$.brandName')[0]brandId = jsonpath.jsonpath(item,'$.brandId')[0]sheet.append([name,originalPriceShow,priceShow,ratingScore,review,location,sellerName,sellerId,brandName,brandId])max_rows = sheet.max_rowmax_columns = sheet.max_columnalign = Alignment(horizontal = 'center', vertical = 'center')for i in range(1, max_rows + 1):for j in range(1, max_columns + 1):sheet.cell(i, j).alignment = alignwb.save('result.xlsx') time.sleep(10)         print("end")if __name__ == '__main__':# 提取代理API接口,获取1个代理IPapi_url = "https://api-proxy.ownips.com/getIsp?num=1&type=2&lb=1&sb=0&flow=1&regions=&attribute=isp"# 获取API接口返回的代理IPresp = requests.get(url=api_url, timeout=5).textmyip, myport = resp.split(":")print("ip:" + myip + " port:" + myport)lazada(myip, myport)

运行完成后,最终得到的result.xlsx数据文件如下图所示:
在这里插入图片描述

三、数据处理及选品分析

拿到数据后,就可以对第二章采集到的数据开始分析选品了,首先对平台商品的标题高频词进行词云分析,可以发现在clothes作为关键词搜索下,商品标题的Tshirt和Cotton占比较高

在这里插入图片描述

其次可以对发货地进行分析,通过统计出现频率,发现当前ip爬到的商品大部分发货地来自于Metro Manila这个地点,占比55%:

在这里插入图片描述

还可以从评分、销量、价格等方面多维分析,通过使用柱状图、折线图、扇形图对数据可视化:
在这里插入图片描述
在这里插入图片描述

以下是可参考的选品分析方法,具体分析需要结合需求和市场去制定策略:

  1. 对商品的原始价格和销售价格进行统计和比较,探索商品的价格变化趋势,找出价格竞争力较强的商品。
  2. 对商品的评价数量和评分进行统计,分析商品的受欢迎程度和用户满意度,按照不同品牌、类别或卖家对评价和评分进行对比,找出高口碑的商品。
  3. 可以根据IP的地理位置信息了解不同地区的商品偏好和销售情况,进行地域性营销策略的制定。
  4. 对商品的品牌进行统计,了解不同品牌的市场份额和影响力,为品牌营销提供参考。
  5. 根据商品的排序与特征(如品牌、价格、评分等)之间的关系进行商品推荐和相似商品挖掘,根据商品的上架时间和销售情况,分析市场的发展趋势和产品生命周期。通过对商品特征的分析,预测未来市场的发展方向和趋势

四、Ownips——企业级全球静态IP代理

针对跨境电商领域的多样化业务需求,许多出海企业正在积极寻找可靠的解决方案来克服挑战。静态IP代理作为一项关键技术工具,不仅能够帮助这些企业解决访问稳定性、网站信任度以及防封禁能力等问题,还在跨境电商、跨境社媒和广告营销等领域发挥着重要作用。
在这里插入图片描述

这里推荐一款我经常使用的企业级全球静态IP代理服务:Ownips。Ownips优选原生本土ISP,定向提供独享静态家庭住宅和独享数据中心IP代理,具备以下优势:

  1. A++级严选原生ISP服务:Ownips专注于提供A++级严选原生ISP服务,其与全球运营商合作,资源覆盖欧美主流、东南亚等全球100+国家地区,其中,独享静态ISP代理来自真实住宅设备的原生私人IP,具备完全的真人属性,更高业务安全性,稳定运行不掉线,专用数据中心代理来自全球国家的本地原生机房和个人专用的服务器IP,具有更高稳定性和更快的连接速度。
  2. 完整的合作伙伴生态链:Ownips具备丰富行业经验的技术+商务团队,能够整合软件集成、跨境工具等生态资源,完美适用于各种业务场景。
  3. 第三方工具集成:Ownips支持与大多数指纹浏览器进行快捷集成,用户可以直接将Ownips提供的服务与指纹浏览器进行无缝连接,防止账号之间的关联,保护隐私和安全。

在经过了较长时间的体验后,可以说Ownips可以满足跨境电商在店铺管理、社媒营销、市场调查等各方面业务场景:

  1. 在店铺管理方面,通过使用静态IP代理可在电商平台创建并管理多个店铺账号,独立安全防止账号关联,降低账号风险。
  2. 在社媒营销方面,商家可以运营多个社媒平台账号,搭建引流矩阵,广告精准投放并全面覆盖消费者人群,提高广告的点击率和转化率。
  3. 在市场调查方面,使用静态IP代理了解不同国家地区用户的喜好和购买习惯,掌握海外市场分布状况,行业发展前景预测,维持竞争力。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/740335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue的router

目前单页应用(SPA)越来越成为前端主流,单页应用一大特点就是使用前端路由,由前端来直接控制路由跳转逻辑,而不再由后端人员控制,这给了前端更多的自由。 当用户在应用中进行导航时,Vue Router …

基于EasyCVR视频技术的流媒体视频融合与汇聚管理系统建设方案

流媒体视频融合与汇聚管理系统可以实现对各类模块化服务进行统一管理和配置等操作,可实现对应用服务的整合、管理及共享,以标准接口的方式,业务平台及其他第三方业务平台可以方便地调用各类数据,具有开放性和可扩展性。在流媒体视…

122. 买卖股票的最佳时机 II(力扣LeetCode)

文章目录 122. 买卖股票的最佳时机 II题目描述贪心 122. 买卖股票的最佳时机 II 题目描述 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。…

【强化学习抓取】偏机器人领域(略)

文章目录 1. A Grasp Pose is All You Need: Learning Multi-fingered Grasping with Deep Reinforcement Learning from Vision and Touch摘要和结论引言相关工作模型框架 1. A Grasp Pose is All You Need: Learning Multi-fingered Grasping with Deep Reinforcement Learni…

基于PPT战略的河南嵩县旅游扶贫模式研究

目录 摘 要 3 Abstract 3 (一)研究背景 4 (二)研究意义 5 (三)研究目的 6 二、概念界定及相关研究 6 (一)PPT战略 6 (二)PPT战略相关研究 6 (三&…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的常见手势识别系统(深度学习模型+UI界面代码+训练数据集)

摘要:开发手势识别系统对于增强人机交互和智能家居控制领域的体验非常关键。本博客详尽阐述了通过深度学习技术构建手势识别系统的过程,并附上了全套实施代码。系统采用了先进的YOLOv8算法,并通过与YOLOv7、YOLOv6、YOLOv5的性能对比&#xf…

AMS、PMS和WMS学习链接

原文: Framework学习(三)之PMS、AMS、WMS_ams pms-CSDN博客 1:PackageMangerService(PMS)讲解博主 PMS系列我觉得csdn博主jeanboy讲的非常好,这里附上博主的博客链接jeanboy。这是一位资深级的博客专家。关于他PMS的讲…

Java打乱数组元素

package com.mohuanan.exercise;import java.util.Random;//打乱数组的元素 public class ExerciseDemo05 {public static void main(String[] args) {int[] arr {1,2,3,4,5};Random r new Random();for (int i 0; i < arr.length; i) {int randomIndex r.nextInt(5);in…

project generator 简单使用

文章目录 1 progen 资源2 使用简介2.1 安装2.2 添加 target&#xff08;可选&#xff09;2.3 替换 CMake 模板&#xff08;可选&#xff09;2.4 创建 progen 项目 3 总结 1 progen 资源 0&#xff09;简介&#xff1a;progen&#xff08;project-generator&#xff0c;项目生成…

·xss文件上传漏洞

xss文件上传漏洞 本质&#xff1a;对上传的文件不加限制的漏洞&#xff0c;例如上传PHP文件。 面对一定程度上的防护&#xff0c;我们应该如何绕过。 一&#xff0c;一句话木马&#xff1a; <&#xff1f;php Eval($.post{})> ::$DATA ([‘pass’]); ?> 再ur…

C语言 - 各种自定义数据类型

1.结构体 把不同类型的数据组合成一个整体 所占内存长度是各成员所占内存的总和 typedef struct XXX { int a; char b; }txxx; txxx data; typedef struct XXX { int a:1; int b:1; …

字节一面:TCP 和 UDP 可以使用同一个端口吗?

数据包是计算机网络通信的核心&#xff0c;包含头部和数据负载。TCP和UDP协议在传输层使用端口号区分服务和应用。操作系统通过IP头部中的协议字段和端口号来管理网络流量&#xff0c;确保TCP和UDP流量即使共用端口号也不会相互干扰。 在现代计算机网络中&#xff0c;数据传输…

基于Springboot的代驾管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的代驾管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

【DAY11 软考中级备考笔记】数据结构 查找和排序

数据结构 查找和排序 3月12日 – 天气&#xff1a;晴 1. 顺序查找 顺序查找就是简单的从头一个一个的进行比较&#xff0c;注意它的平均查找长度 2. 折半查找 折半查找和二叉排序树一致&#xff1a; 优点&#xff1a;查找效率很高 缺点&#xff1a;要求必须是循序存储并且表中…

《计算机网络》考研:2024/3/11:2.1.6-习题精选(5、6题暂未完成)

2024/3/11 2.1.6 习题精选 一、单项选择题 我的答案&#xff1a;1.D 2.A 3.C 4.B 5.A 标准答案&#xff1a;1.D 2.A 3.B 4.B 5.A 3、【解】&#xff1a; 并行传输的特点&#xff1a;距离短、速度快。 串行传输的特点&#xff1a;距离长、速度慢。 在计算机内部通常为了保证速…

基于 Jenkins 搭建一套 CI/CD 系统

一、CI/CD环境介绍 本次要实现如下效果&#xff0c;开发人员完成功能开发并提交代码到gitlab仓库&#xff0c;jenkins自动完成拉取代码、编译构建、代码扫描&#xff08;sonarqube&#xff09;、打包&#xff0c;再自动化完成部署到Tomcat服务器提供访问。 环境准备三台Centos…

机器学习/深度学习 模型修正能力

一、模型修正 在了解模型修正能力之前&#xff0c;我们现在了解下‘模型修正’。 在深度学习模型训练中&#xff0c;模型通过反向传播计算损失函数的梯度&#xff0c;基于梯度利用梯度下降等优化算法更新模型参数以最小化损失函数。这个过程被称为‘模型修正’。 二、模型修正…

Linux - tmux命令

0、常用参数 tmuxnew-s<name> 新建名为name的会话&#xff08;无-s参数则默认以数字命名&#xff09; &#xff08;常用&#xff09; tmux a 恢复上一次的会话 &#xff08;常用&#xff09; tmux a-t<name> 恢复&#xff08;attach&#xff09;名为name的会话 &a…

springboot/ssm甘肃印象网站Java地区特产文化交流管理系统web

springboot/ssm甘肃印象网站Java地区特产文化交流管理系统web 基于springboot(可改ssm)vue项目 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;…

搜索引擎SEO策略介绍

baidu搜索&#xff1a;如何联系八爪鱼SEO baidu搜索&#xff1a;如何联系八爪鱼SEO baidu搜索&#xff1a;如何联系八爪鱼SEO 第一、 关键词的选择策略&#xff1a; 1、门户类的网站关键词选择策略&#xff1a; 网站每个页面本身基本都包含有关键词&#xff1a;网站拥有上百…