爬取了20万淘宝店铺信息,我能干些什么?

写了个简单的多进程爬虫,按照热门类目,爬取了淘宝C点的20多万条店铺信息。

获取了店铺名、卖家昵称、店铺ID、店铺区域、店铺商品数量、店铺销量、店铺好评率、店铺等级等等信息。截图见文末

主要思路为:

一、从淘宝店铺搜索页面获取热门的类目信息;

def get_taobao_cate():
 url = 'https://shopsearch.taobao.com/search?app=shopsearch'
 driver = webdriver.PhantomJS(executable_path="F:\\phantomjs.exe")
 driver.get(url)
 driver.implicitly_wait(3)
 page = driver.page_source
 soup = BeautifulSoup(page,'lxml')
 cate_name = re.findall(r"q=(.*?)&tracelog=shopsearchnoqcat",str(soup))
 for c in cate_name:
 cname = urllib.parse.unquote(c,encoding='gb2312')
 cate_list.append(c)
 print(cname)
 print(cate_list)
二、按照热门类目信息,对店铺进行搜索,使用进程池Pool:
# 多线程执行 
pool = TheaderPool(processes=4) 
pool.map_async(get_seller_from_num,range(0,10020,20)) 
pool.close() 
pool.join()
三、解析淘宝搜索结果的Json数据,获取店铺信息:
def get_taobao_seller(keywords):
 # 爬取指定数量的店铺信息
 def get_seller_from_num(nums):
 url = "https://shopsearch.taobao.com/search?data-key=s&data-value={0}&ajax=true&_ksTS=1481770098290_1972&callback=jsonp602&app=shopsearch&q={1}&js=1&isb=0".format(nums,keywords)
 # url = "https://shopsearch.taobao.com/search?data-key=s&data-value={0}&ajax=true&callback=jsonp602&app=shopsearch&q={1}".format(nums,keywords)
 wbdata = requests.get(url).text[11:-2]
 data = json.loads(wbdata)
 shop_list = data['mods']['shoplist']['data']['shopItems']
 for s in shop_list:
 name = s['title'] # 店铺名
 nick = s['nick'] # 卖家昵称
 nid = s['nid'] # 店铺ID
 provcity = s['provcity'] # 店铺区域
 shopUrl = s['shopUrl'] # 店铺链接
 totalsold = s['totalsold'] # 店铺宝贝数量
 procnt = s['procnt'] # 店铺销量
 startFee = s['startFee'] # 未知
 mainAuction = s['mainAuction'] # 店铺关键词
 userRateUrl = s['userRateUrl'] # 用户评分链接
 dsr = json.loads(s['dsrInfo']['dsrStr'])
 goodratePercent = dsr['sgr'] # 店铺好评率
 srn = dsr['srn'] # 店铺等级
 category = dsr['ind'] # 店铺分类
 mas = dsr['mas'] # 描述相符
 sas = dsr['sas'] # 服务态度
 cas = dsr['cas'] # 物流速度
 data = {
 'name':name,
 'nick':nick,
 'nid':nid,
 'provcity':provcity,
 'shopUrl':shopUrl,
 'totalsold':totalsold,
 'procnt':procnt,
 'startFee':startFee,
 'goodratePercent':goodratePercent,
 # 'mainAuction':mainAuction,
 'userRateUrl':userRateUrl,
 'srn':srn,
 'category':category,
 'mas':mas,
 'sas':sas,
 'cas':cas
 }
 print(data)
 seller_info.insert_one(data)
 print("插入数据成功")
最后,用多进程执行:
if __name__ == '__main__':
 pool = Pool(processes=4)
 pool.map_async(get_taobao_seller,cate_list)
 pool.close()
 pool.join()

部分截图:

爬虫还比较粗糙,没有做任何的异常处理,也没有在数据插入的时候做重复值的判断(数据爬下来60多万,去重后只剩下20多万),没有使用IP代理池(这点小流量,阿里还是放过了)。

爬虫虽粗糙,数据还是拿下来了,接下来,用这些数据干些什么呢?

数据信息价值不大,需要的可以关注微信:州的先生,留言获取

原文发布于微信公众号 - 州的先生(zmister2016)

原文发表时间:2016-12-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏魏艾斯博客www.vpsss.net

腾讯云海外云服务器特惠/香港 1 核 1G 内存 1M 带宽/2 年 699.99 元/建站无需备案

腾讯云海外云服务器特惠专场来啦!国庆长假结束后腾讯云马不停蹄的开始推广海外云服务器,包括中国香港、硅谷、德国、多伦多、曼谷、弗吉尼亚等七个海外地域,从业务地区上...

1822
来自专栏about云

老外对中国式App设计趋势的分析:中国移动应用设计趋势解读

导读: 作为一个开发者,如果你还不关注移动云开发,那么你很快就被淘汰了。下面来看看老外对中国移动的分析 ? 今年夏天,我收拾好所有行李,从旧金山搬到了广州工...

42412
来自专栏钱塘大数据

【数说】用python爬下6万共享单车数据,谈谈单车热潮中的城市

共享经济的浪潮席卷着各行各业,而出行行业是这股大潮中的主要分支。如今,在城市中随处可见共享单车的身影,给人们的生活出行带来了便利。相信大家总会遇到这样的窘境,在...

3425
来自专栏BestSDK

5个要点,帮你打造爆款轻量级APP

在移动互联网去中心化发展的大背景下,近年不少轻量化产品大热,界面设计的轻量化可谓是一个主流趋势。轻量化不光意味着风格简约,更为重要的是轻量化使得界面中的信息传达...

2765
来自专栏机器人网

超好玩的绘画小机器人,能完美还原你的笔迹

你最想要的科技小工具是什么?我最想要机器人,最好是那种能陪我聊天、玩游戏,还能做饭、做家务的。 喂,醒醒!好吧,科幻电影里的机器人还得等上……也许100年,我是...

3436
来自专栏Dawnzhang的开发者手册

本周新鲜事:有的技术线负责人,我0点打电话,都睡觉了,很会养生。

大家知道 VIVO 上周发布了一款很有逼格的手机 VIVO NEX,这款手机有个很炫的功能就是采用升降前置摄像头配置,就是你拍照的时候会从手机顶部弹出一个镜头进...

563
来自专栏张善友的专栏

深港澳大湾区第三次.NET技术交流会圆满成功

1486
来自专栏技术博文

Linux哲学思想--基本法则

1、一切皆文件; 2、单一目的的小程序; 3、组合小程序完成复杂任务; 4、文本文件保存配置信息; 5、尽量避免捕获用户接口; 6、提供机制,而非策略。 自从L...

2838
来自专栏数据派THU

我是怎样爬下6万共享单车数据并进行分析的(附代码)

来源:钱塘大数据 本文长度为3297字,建议阅读7分钟 本文为你解答用Pyhon获取、分析单车数据的过程,并为你分析得出的结论。 共享经济的浪潮席卷着各行各业,...

47410
来自专栏Data Analysis & Viz

我的简书一月记:数据可视化

截止前天,来简书正好一个月。20170730 注册了账号,当晚发布处女作《爬取张佳玮138w+知乎关注者:数据可视化》,从而开启了《python爬虫和数据可视化...

632

扫码关注云+社区