网购是一个流行的平台,同时也是一个非常便捷的方式,虽然是在虚拟网络的商品,但是它们都有各自的参数链接,也是商品的另类名牌,那这个淘宝宝贝链接url分析该怎么进行呢?
一、整体思路
1、首先你需要一个IP代理池
2、使用本机IP将淘宝中基本的商品分类抓取下来
页面源链接:https://www.taobao.com/tbhome/page/market-list
从页面源链接中解析到的URL形如下:https://s.taobao.com/search?q=羽绒服&style=grid
3、将诸如此类的URLhttps://s.taobao.com/search?q=羽绒服&style=grid作为任务队列,使用多线程对其进行抓取与解析(使用代理IP),解析的内容为第4点
4、我们需要分析每一种类的商品在淘宝中大概具有多少数量,为此我解析出带有页面参数的URL,在第3点中URL的基础上:https://s.taobao.com/search?q=羽绒服&style=grid&s=44,在浏览器中打开URL可发现此页面为此种类衣服的第二页
5、我们得到了每一种商品带有页面参数的URL,意味着我们可以得到此类商品中全部或部分的商品ID,有了商品ID,我们就可以进入商品详情页抓取我们想要的数据了
6、为了实现第5点,我们先将第4点中抓取到的URL全部存储进MySQL中
7、从MySQL中将待抓取URL全部取出,存储到一个队列中,使用多线程对此共享队列进行操作,使用代理IP从待解析URL中解析出本页面中包含的商品ID,并构建商品详情页URL
8、在第7点中解析商品ID的时候,同时使用布隆过滤器,对重复ID进行过滤,并将已经抓取过的URL任务放入Redis缓存中,等达到合适的阈值时,将存储在MySQL中对应的URL行记录中的flag置为true,表示此URL已经被抓取过,等到下一次重启系统,可以不用对此URL进行抓取
二、实现细节
我们先从IP代理池说起,在这个项目中所运用到的IP代理池与我在Java网络爬虫(十一)–重构定时爬取以及IP代理池(多线程+Redis+代码优化)这一篇博客中所讲述的IP代理池的实现思想有一些细小的差别。
三、监控线程
这个线程的主要作用是将Redis数据库中缓存的,已经成功解析过的任务,将其对应MySQL中所在的行记录中的flag位设置为true。
一些卖家需要把宝贝放在淘宝站外的网站上推广,这个时候就需要卖家提取无线的链接地址,大家也可以登录淘宝,进入卖家中心点击任意宝贝提取url链接哦!
推荐阅读:
淘宝客url参数详解,怎么获得URL链接?
淘宝客api生成推广url的方法是什么?
淘宝商品链接参数分析介绍!
上一篇: 上一篇:淘宝造物节能量怎么玩?如何兑换造物节能量?
下一篇: 下一篇:怎么运营好京东店铺?几招搞定!