Python 爬虫学习笔记 – 第三周/单元8/淘宝商品比价定向爬虫

English Version: https://today2tmr.com/en/2017/07/17/python-spider-study-note-week-threeunit-eightdirectional-spider-for-price-comparison-of-taobao-product

https://www.taobao.com/

实例介绍

功能描述

  • 目标:获取淘宝搜索页面信息,提取商品名称和价格
  • 理解:
    • 淘宝搜索接口
    • 翻页处理
  • 技术路线: request-re

以”书包”为关键词的搜索页第一页信息
https://s.taobao.com/search?q=书包&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170717

第二页
https://s.taobao.com/search?q=书包&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170717&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s=44

第三页
https://s.taobao.com/search?q=书包&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170717&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s=88

分析:

  • 每一页有44个商品
  • 接口:
    • 搜索首页 https://s.taobao.com/search?q=keyword
    • 第二页 https://s.taobao.com/search?q=keyword&s=44
    • 第三页 https://s.taobao.com/search?q=keyword&s=88
  • robots协议 https://www.taobao.com/robots.txt

     

    • 本实例中不进行骚扰,以类人频率访问

程序的结构设计

  • STEP 1: 提交搜索请求,循环获取页面。
  • STEP 2: 对于每个页面提取商品名称和价格信息。
  • STEP 3: 将信息输出到屏幕上。

编写

框架

 

getHTMLText(url)

 

parsePage(ilt,url)

  • 查看源码
    • 检索第一个商品的价格 "view_price":"59.00"
    • 检索第一个商品的名字 "raw_title":"休闲旅行背包日韩学院风初中高中学生书包"
  • 价格由view_price标识
  • 名字由raw_title标识

 

printGoodsList(ilt)

 

全代码

 

Leave a Reply

Your email address will not be published.