selenium 爬取淘宝列表页

该项目旨在爬取淘宝指定商品列表页的商品图片、名称、价格、购买人数、店铺名称及地址等信息,并存储到mongo数据库。由于页面数据由js加载,故采用selenium进行动态请求。爬虫循环抓取100页,通过判断页码和元素加载完成状态确保正确抓取。解析过程中使用xpath,数据以字典形式存储并插入mongo。
摘要由CSDN通过智能技术生成

爬取目标:

  • 网站:淘宝指定商品的列表页
  • 解析目标:
    • 商品图片
    • 商品名称
    • 价格
    • 购买人数
    • 店铺名称
    • 店铺地址(城市)
  • 存储:mongo 数据库

项目思路:

  1. 由于淘宝的列表页采用 js 加载的数据,直接发 requests 请求有些麻烦,故采用 selenium 的请求方式
    • 淘宝单个品类的列表均为100页,故采用循环100次的方式
    • 每次都首先请求第一页,判断当请求的页数大于1时,通过页码输入框,跳转到当前请求页码的页面。
    • 注意要等待页面中某些元素加载完成后才执行之后的操作(使用css-selector匹配相应元素)
      • 页码输入框
      • 页码跳转按钮
      • 列表页数据加载
      • 判断分页中高亮的页码号与当前请求的页码是否对应(text_to_be_present_in_element 方法提供选定元素的文本与指定文本比较)
    • 异常处理,重新请求该页码
  2. 解析页面
    • 解析使用的是xpath,学习了 div[starts-with(@class, 'words')] 这种语法,基础不扎实,牢记。
    • 将每个字段组合成字典的形式传给mongo处理函数
  3. mongo 存储
    • 正常插入操作即可,记得加异常处理

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值