爬取模块
本次爬虫项目包含8大功能模块,分别如下:
获取目标站点下所有分类信息
关联热搜词查询
商店信息查询
给定类别下商品排名及商品详细信息查询
给定关键字下商品排名及商品详细信息查询
获取评论信息
资源获取(爬取图片和视频)
IP接口模块,不断获取可用IP
功能1为定时任务,可设置每周或每月执行一次,主要作用是获取类别的id到name映射和父id和子id的映射关系。
功能2~7为长期任务,每时每刻监听各自的任务队列,当有任务入队时,获取并执行任务,完成任务后将对应的结果写入对应的结果池。
本次采用scrapy_redis框架,采用数据库为redis,任务队列的键为固定值如:'comment:start_urls',结果池的键为sha1映射值,如任务URL为'https://shopee.com.my/api/v2/item/get_ratingsfilter=0&flag=1&itemid=4556732202&limit=6&offset=0&shopid=313302454&type=0'对应'252fcc5a9b19b59d8255701d8272c672910ef268'。同时图片和视频的命名方法同样采用sha1。、
获取目标站点下所有分类信息
定时任务,定时执行即可,redis对应的结果键为固定键categories_mapping。

结果为列表,包含两个json元素,第一个是所有类别id到name的映射关系,第二个是父子id映射,前面的为父类别id后面的为子类别id。


关联热搜词查询
根据输入字符输出关联关键词,字符数可由1到n个组成,支持组合词搜索(如dress muslim)。


商店信息查询


给定类别下商品排名及商品详细信息查询
根据指定类别id查询商品排名和详细信息。

Match_id表示类别id,newest表示排名信息,0表示前50名,50表示第50~100名,第100表示100~150名,以此类推,终点为50*99=4950(即可查询到5000名)。

给定关键字下商品排名及商品详细信息查询
用法类似类别下商品排名,根据指定关键词查询商品排名和详细信息。

keyword表示关键词,newest表示排名信息,0表示前50名,50表示第50~100名,第100表示100~150名,以此类推,终点为50*99=4950(即可查询到5000名)。

获取评论信息
根据商品id和商店id获取商品的评论信息。

结果为列表,包含若干个json元素,第一个是评论的概述信息,第二个以后为评论详细信息,每个元素包含6条评论。

资源获取(爬取图片和视频)
下载需要的图片和视频保存在项目脚本所在文件夹



数据分析模块
以类目dress为例进行标题分析。

首先对标题进行分词,然后对历史销量大于一定值的商品进行分词统计。



从统计结果可以看出,销量高说明这些词的搜索量高,标题应尽可能包含高频的词汇和字符。