一、引言

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

然而,与传统的国内电商相比,国际商场顾客的需求、偏好、文化习气等差异巨大,因而咱们在选品方面也面对更为杂乱的应战。依据目标商场的需求和特色精选出适合出售的产品,直接影响一个商家的竞赛力,而选品也不只仅是出售产品,更是建立品牌形象和提高竞赛力的重要手法。

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

对于许多初入跨境电商范畴的新手而言,选品办法通常局限于国内商场的经历和视界,缺乏对全球商场的深入了解和把握,数据来历有限,难以抓住商场需求和竞赛态势。本文将结合实际操作和理论剖析,以Lazada电商渠道为例,运用Python爬虫与Ownips静态IP署理(我常用的署理品牌)相结合的办法来进行选品,以全新的视角实战跨境电商选品,希望能够给新手商家们一些选品办法。

二、Lazada电商渠道爬虫实战

2.1、剖析Lazada电商渠道的产品列表接口

熟悉电商的朋友肯定知道,一个渠道的产品列表中包含了产品的称号、类别、价格、描绘、点评、出售量等信息,这些信息能够协助商家全面了解商场需求、价格竞赛状况、产品特性和出售策略等方面。

咱们首要进入Lazada电商渠道产品列表:www.lazada.com.ph/catalog,然后在…

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

然后按下F12键,进入浏览器开发者方式界面,点击打开网络窗口和查找窗口,按下F5改写一次恳求,查找本页的最终一个产品的前几个词,就能够找到对应恳求。

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

在右侧窗口中能够看到对应恳求的标头、载荷和呼应体:

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

下面咱们来剖析这个恳求,点开标头能够看到恳求的网址,这儿能够拿到产品查找的api为:www.lazada.com.ph/catalog/,然后… ,page表示为当前页,是爬虫爬取多页的要害参数,q表示查找的要害词,spm为追寻参数,渠道用于追寻查找记载。这几个参数一般都不会被用来反爬,所以咱们就能够进行正式开发。

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

2.2、定位产品列表核算逻辑

找到api接口并剖析后,正式进入开发流程,首要咱们需求对呼应体进行剖析,首要咱们能够把这个呼应体复制下来保存为json文件,然后查找第一个产品的信息,找到产品所在的列表,然后能够查找第二、第三个和最终一个产品,看其排序是否与列表中共同,若不共同还要从头核算排序逻辑。

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

剖析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署理,首要登录官网,登录后依据运用的场景(跨境电商、跨境服务、社媒、论坛)和所需的区域来挑选出高质量的ip,我这儿挑选 跨境渠道–Lazada为例:

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

然后点击获取署理,挑选API提取方式:

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

挑选单ISP,然后挑选署理协议为HTTP/HTTPS,提取格式能够就用TXT 回车换行方式:

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

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

    def lazada(host, port):
        ###################
        # 定义params、headers....
        ###################
        # 设置署理
        proxies = {
            'http': 'http://{}:{}'.format(host, port),
            'https': 'http://{}:{}'.format(host, port),
        }
        # 运用署理发送requests
        response = requests.get('https://www.lazada.vn/catalog/',params=params,proxies = proxies, headers=headers).json()
    if __name__ == '__main__':
        # 提取署理API接口,获取1个署理IP
        api_url = "https://api-proxy.ownips.com/getIsp?num=1&type=2&lb=1&sb=0&flow=1&regions=&attribute=isp"
        # 获取API接口回来的署理IP
        resp = requests.get(url=api_url, timeout=5).text
        myip, 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 = host
            self.port = port
        def run(self):
            lazada(self.host, self.port)
    if __name__ == '__main__':
        # 提取署理API接口,获取1个署理IP
        api_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)
                continue
        except ValueError:
            print("获取失利")
            time.sleep(1)
            continue
        else:
            # 解析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()
        # break
        time.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 time
    def lazada(host, port):
        wb = openpyxl.Workbook()
        sheet = wb.active
        header=['name','originalPriceShow','priceShow','ratingScore','review','location','sellerName','sellerId','brandName','brandId']
        sheet.append(header)
        headers = {
          "authority": "www.lazada.com.ph",
          "method": "GET",
          "path": "/tag/女装/?_keyori=ss&ajax=true&catalog_redirect_tag=true&from=input&isFirstRequest=true&page=1&q=女装&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_row
          max_columns = sheet.max_column
          align = 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 = align
          wb.save('result.xlsx') 
          time.sleep(10)         
        print("end")
    if __name__ == '__main__':
        # 提取署理API接口,获取1个署理IP
        api_url = "https://api-proxy.ownips.com/getIsp?num=1&type=2&lb=1&sb=0&flow=1&regions=&attribute=isp"
        # 获取API接口回来的署理IP
        resp = requests.get(url=api_url, timeout=5).text
        myip, myport = resp.split(":")
        print("ip:"   myip   " port:"   myport)
        lazada(myip, myport)

运行完成后,最终得到的result.xlsx数据文件如下图所示:

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

三、数据处理及选品剖析

拿到数据后,就能够对第二章收集到的数据开始剖析选品了,首要对渠道产品的标题高频词进行词云剖析,能够发现在clothes作为要害词查找下,产品标题的Tshirt和Cotton占比较高

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

其次能够对发货地进行剖析,经过计算出现频率,发现当前ip爬到的产品大部分发货地来自于Metro Manila这个地址,占比55%:

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

还能够从评分、销量、价格等方面多维剖析,经过运用柱状图、折线图、扇形图对数据可视化:

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

以下是可参考的选品剖析办法,具体剖析需求结合需求和商场去制定策略:

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

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

针对跨境电商范畴的多样化事务需求,许多出海企业正在活跃寻觅可靠的处理方案来战胜应战。静态IP署理作为一项要害技能东西,不只能够协助这些企业处理拜访安稳性、网站信赖度以及防封禁才能等问题,还在跨境电商、跨境社媒和广告营销等范畴发挥着重要作用。

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

这儿引荐一款我常常运用的企业级全球静态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署理了解不同国家区域用户的喜好和购买习气,把握海外商场散布状况,职业发展前景猜测,维持竞赛力。
    跨境电商选品实战——Ownips静态ip署理+Python爬虫轻松搞定Lazada电商选品