2024年最新2024必看-Python高级面试题总结,【爬虫】Laza大商品采集维度数据分析_lazada爬虫难度,2024年最新腾讯秋招面试时间

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

正文

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)

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
R-1713816681250)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值