Laza大
东南亚地区最大的在线购物网站之一。 获得德国创业孵化器RocketInternet桑威尔兄弟(SamwerBrothers)支持,目标主要是印尼、马来西亚、菲律宾以及泰国用户。 该集团自2016年起成为阿里巴巴集团东南亚旗舰电商平台。
采集目标
采集新加坡地区的手机分类商品,并通过个维度指标进行占比分析。
爬虫代码开发
该网站没有设置复杂反爬虫机制,只需要挂上随机ip请求即可。 这里就不在分析反爬虫解析了。
爬虫code
直接上采集代码
import requests
import re
import os, json, pymongo, redis
# os.environ["http_proxy"] = "http://127.0.0.1:58889"
# os.environ["https_proxy"] = "http://127.0.0.1:58889"
db = pymongo.MongoClient(up)['tmalls']['lazada']
class Lazada():
def __init__(self):
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
}
def get_ip(self):
client = redis.Redis(ip, db=5, charset='utf8')
proxy = client.randomkey()
proxy = proxy.decode()
proxies = {"http": proxy, "https": proxy}
return proxies
def send_request(self, url):
i = 0
while i<5:
try:
response = requests.get(url, headers=self.headers, timeout=3, proxies=self.get_ip())
if response.json().get('mods'):
return response
i += 1
print('重试请求!')
except Exception as e:
print(f'{e}, 重试请求!')
i += 1
def gpage(self, page):
response = self.send_request(f'https://www.lazada.sg/shop-mobiles/?ajax=true&page={page}')
# pageData = re.findall('pageData = ({.+});', response.text)[0]
res = response.json()
items = []
for item in res['mods']['listItems']:
item["_id"] = item['nid']
items.append(item)
self.write_db(items)
def write_db(self,items):
try:
db.insert_many(items,ordered=False)
except:
print('重复插入!')
if __name__ == '__main__':
lzd = Lazada()
for page in range(1, 100):
print(page)
lzd.gpage(page)
采集数据展示
数据分析
价格区间分析
新加坡地区手机卖家价格分布图展示 由统计图可以看出$200-$500之间的手机商品最多,$2300-$2500之间的手机商品最少。
评价数量排行
评价数量top20的数据展示 大部分手机商品的评价在150-250条之间。
发货地区占比
绝大多数商品是由新加坡直接发出,很少一部分商品是中国和中国香港发出。
手机品牌占比
从饼图可以看出在新加坡地区最热销的品牌是三星,国产手机品牌也分到了半壁江山。为中国制造点赞。
结语
以上就是今天分享的lazada商品采集分析的内容,感谢观看!
17610352720 定制开发
仅供学习参考 仅供学习参考 仅供学习参考
|