Python爬虫实战:利用巨量IP获取跨境电商数据
一、跨境电商数据的作用
跨境电商数据贯穿选品、运营、营销、供应链、风控全业务链路,是企业洞察海外市场、降低试错成本、提升经营效益的核心依据。
1.1 市场与选品决策
通过市场容量、搜索热度、竞品销量、用户偏好等数据,判断不同国家地区消费需求,挖掘潜力品类,规避红海赛道,辅助确定产品款式、规格、配色,减少盲目备货,提升选品成功率。
1.2 精细化店铺运营
依托流量、点击率、转化率、客单价、复购率等店铺数据,诊断 Listing 标题、主图、详情页的短板;监控订单、询盘、评价数据,及时优化产品页面、调整定价策略,改善客户体验,提升店铺权重与订单转化。
1.3 营销投放优化
分析广告曝光、点击、花费、投产比数据,筛选高转化关键词与投放渠道,关停低效投放,合理分配广告预算;结合海外用户画像,精准定位目标人群,提升推广效率,降低获客成本。
1.4 供应链与库存管理
结合历史销量、季节波动、节日大促预测销量,指导采购、生产与海外仓备货,合理设置安全库存,避免库存积压或缺货断货;同时分析物流时效、丢件率、物流成本数据,优选物流方案,压缩履约成本。
1.5 风险预警与合规管控
监控平台规则变动、竞品违规、差评投诉、退货率数据,提前识别侵权、产品纠纷、账号降权风险;结合各国关税、退换货数据,优化报关、售后方案,降低账号封禁与经营损失。
1.6 业务复盘与战略规划
汇总不同站点、品类的营收、毛利、回款数据,评估各板块盈利水平,识别优势市场与亏损业务,为站点扩张、业务收缩、长期业务战略调整提供量化支撑。
二、爬取目标
本次的爬取目标是Lazada电商平台输入关键词后的全部商品信息列表,并且进行翻页:

三、环境准备
Python:3.10
编辑器:PyCharm
第三方模块,自行安装:
pip install requests # 网页数据爬取
pip install pandas # 数据处理
四、代理IP获取
4.1 为什么爬虫要用代理IP?
1、爬虫使用代理IP主要是为了避免因频繁访问同一网站而被识别并封禁真实IP,同时代理IP还能帮助绕过地域限制,提高数据采集的效率和成功率。
2、由于跨境电商数据量大,想要成功获取到数据就比必须要使用到代理IP。
4.2 代理IP怎么选?
选择代理 IP,优先结合跨境电商业务场景,重点看IP 纯净度、地域覆盖、稳定性、并发与指纹环境、服务商合规性。优先选用住宅代理,避免机房 IP,防止账号关联;目标站点要和 IP 归属地精准匹配,保障访问地区真实环境;关注连通率、响应延迟,支持多账号隔离,做好指纹隔离;同时考察服务商的带宽、并发上限、售后及风控能力,拒绝廉价劣质池,降低店铺封号、IP 被拦截风险,按需选择按量计费或包量模式,平衡成本与业务安全。
4.3 代理IP推荐
经常有写爬虫的粉丝跑来问我有没有比较靠谱的代理IP可以推荐一下?
巨量IP是国内TOP级的代理IP服务提供商,专注于为企业及开发者提供稳定、安全、高效的IP资源解决方案。凭借覆盖全国400+地区节点、7000万日活跃IP池、行业顶尖技术团队及超高性价比套餐,致力于满足多场景业务需求,助力企业降本增效。注册免费试用(巨量IP)
我体验下来的感受有几点:
-
稳定性高,代理质量高
-
响应速度快
-
IP种类齐全:不限量、按量计费、包时、隧道代理、独享IP、共享长效
-
价格实惠,最低单0.0002元

最重要的还是注册免费领取1000IP代理! 觉得好用再购买即可
4.4 利用代码获取IP
在博主的提取代码中修改url为自己的API链接:

代码如下:
import requests
import time
def get_ip():
url = "这里放你自己的API链接"
while 1:
try:
r = requests.get(url, timeout=10)
except:
continue
ip = r.text.strip()
if '请求过于频繁' in ip:
print('IP请求频繁')
time.sleep(1)
continue
break
proxies = {
'https': '%s' % ip
}
return proxies
if name == 'main':
proxies = get_ip()
print(proxies)
3、代码返回IP,运行成功:

五、爬虫实战
我们爬取一个网站时,首先要查看是否有接口数据(有接口就用接口)、其次是能否用requests模块发送请求正常获取数据,如果requests模块不行就考虑使用selenium模块去获取数据了。
5.1 分析网页
- 我们首先打开电商平台官网,并在输入框输入我们想要爬取的商品列表:https://www.lazada.com.ph/#?

2、按下f12 或者 右击选择检查,选择Network,然后点击刷新:

3、我们随便选择一个Network下面的列表,接着按ctrl+f 打开搜索框,搜索商品信息找到接口:

4、点击heades,然后复制链接去新界面打开:

5、打开后可以看到商品信息:

6、链接分析:
https://www.lazada.com.ph/catalog/?ajax=true&isFirstRequest=true&page=1&q=MacBook&spm=a2o4l.homepage.search.d_go
-
page参数:是页码
-
q参数:搜索的关键词
5.2 导入模块
import requests # python基础爬虫库
import pandas as pd # pandas,用于写入Excel文件
import time # 防止爬取过快可以睡眠一秒
5.3 传入关键词设置翻页
根据5.1的网页分析我们了解了,只要在接口链接传入关键词和页数就可以成功获取数据:
def main():
# 一、传入关键词和需要爬取的页数,拼接数据接口链接
keyword = 'MacBook' # 设置需要爬取的商品关键词
page_num = 1 # 设置需要爬取的页数
data_list = []
for page in range(1, page_num+1):
url = f'https://www.lazada.com.ph/catalog/?ajax=true&isFirstRequest=true&page={page}&q={keyword}'
5.4 携带代理IP发送请求
下面代码利用4.4案例中的get_ip() 函数去获取代理IP,利用python携带代理IP去请求电商平台,以此达到隐秘IP的目的:
def get_data_json(url):
"""发送请求,获取响应"""
# 请求头模拟浏览器
headers = {
'Authority':'www.lazada.com.ph',
'Refere':'https://www.lazada.com.ph/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
}
# 获取代理IP
proxies = get_ip()
# 添加请求头和代理IP发送请求
response = requests.get(url,headers=headers,proxies=proxies)
# 将数据转为json字典格式
data_json = response.json()
return data_json
5.5 提取数据
提取我们需要的商品标题、商品价格、商品销量、五星好评数、商品链接、商品图片链接,如果需要更多的其他字段可以自己添加解析代码:
def get_data(data_list,data_json):
listItems = data_json['mods']['listItems']
print(len(listItems)) # 打印listItems列表长度,返回40,说明数据正确
for i in listItems:
try:
name = i['name']
except:
name = None
try:
priceShow = i['priceShow']
except:
priceShow = None
try:
itemSoldCntShow = i['itemSoldCntShow'].replace(' sold','')
except:
itemSoldCntShow = None
try:
review = i['review']
except:
review = None
try:
itemUrl = i['itemUrl']
url = 'https:' + itemUrl
except:
url = None
try:
image = i['image']
except:
image = None
print({'商品标题':name,'商品价格':priceShow,'商品销量':itemSoldCntShow,'五星好评数':review,'商品链接':url,'商品图片链接':image})
print('*'*50)
data_list.append({'商品标题':name,'商品价格':priceShow,'商品销量':itemSoldCntShow,'五星好评数':review,'商品链接':url,'商品图片链接':image})
运行成功返回数据:

5.6 保存数据
将数据全部写入excel文件中去:
def save(data_list,keyword):
df = pd.DataFrame(data_list)
df.to_excel(f'{keyword}.xlsx',index=False) # 根据关键词创建excel文件
5.7 效果展示
使用巨量IP成功爬取电商数据,效果非常Nice,最终生成一个excel表格,有商品标题、价格、销量等等:

5.8 完整源码
注意下面的完整源码,需要看4.3和4.4修改为自己的代理API才能运行成功,还可以修改爬取的关键词和页数:
import requests # python基础爬虫库
import pandas as pd # pandas,用于写入Excel文件
import time # 防止爬取过快可以睡眠一秒
def get_ip():
url = "代理IP"
while 1:
try:
r = requests.get(url, timeout=10)
except:
continue
ip = r.text.strip()
if '请求过于频繁' in ip:
print('IP请求频繁')
time.sleep(1)
continue
break
proxies = {
'https': '%s' % ip
}
return proxies
def get_data_json(url):
"""发送请求,获取响应"""
# 请求头模拟浏览器
headers = {
'Authority':'www.lazada.com.ph',
'Refere':'https://www.lazada.com.ph/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
}
# 获取代理IP
proxies = get_ip()
# 添加请求头和代理IP发送请求
response = requests.get(url,headers=headers,proxies=proxies)
# 将数据转为json字典格式
data_json = response.json()
return data_json
def get_data(data_list,data_json):
listItems = data_json['mods']['listItems']
print(len(listItems)) # 打印listItems列表长度,返回40,说明数据正确
for i in listItems:
try:
name = i['name']
except:
name = None
try:
priceShow = i['priceShow']
except:
priceShow = None
try:
itemSoldCntShow = i['itemSoldCntShow'].replace(' sold','')
except:
itemSoldCntShow = None
try:
review = i['review']
except:
review = None
try:
itemUrl = i['itemUrl']
url = 'https:' + itemUrl
except:
url = None
try:
image = i['image']
except:
image = None
print({'商品标题':name,'商品价格':priceShow,'商品销量':itemSoldCntShow,'五星好评数':review,'商品链接':url,'商品图片链接':image})
print('*'*50)
data_list.append({'商品标题':name,'商品价格':priceShow,'商品销量':itemSoldCntShow,'五星好评数':review,'商品链接':url,'商品图片链接':image})
def save(data_list,keyword):
df = pd.DataFrame(data_list)
df.to_excel(f'{keyword}.xlsx',index=False) # 根据关键词创建excel文件
def main():
# 一、传入关键词和需要爬取的页数,拼接数据接口链接
keyword = 'MacBook' # 设置需要爬取的商品关键词
page_num = 2 # 设置需要爬取的页数
data_list = []
for page in range(1, page_num+1):
url = f'https://www.lazada.com.ph/catalog/?ajax=true&isFirstRequest=true&page={page}&q={keyword}'
print(url)
# 二、发送请求获取数据
data_json = get_data_json(url)
# 三、解析数据
get_data(data_list,data_json)
time.sleep(1) # 降低爬取速度
# 四、写入excel
save(data_list, keyword)
if name == 'main':
main()
五、总结
在跨境电商广阔的出海赛道中,面对复杂多变的市场环境与业务痛点,不少出海企业都在寻求安全可靠的网络工具,以此化解账号关联、采集受限、访问拦截等各类难题。巨量IP 适配跨境电商多场景业务需求,依托优质的 IP 资源池,具备高连通稳定性、真实的地域环境以及出色的防封禁、抗风控能力,能够高效支撑竞品调研、市场数据采集、店铺运营等工作,为出海企业开展跨境业务保驾护航,有需求的可以了解体验:巨量IP免费体验
更多推荐




所有评论(0)