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