专栏名称: Python中文社区
致力于成为国内最好的Python开发者学习交流平台,这里有关于Python的国内外最新消息,每日推送有趣有料的技术干货和社区动态。 官方网站:www.python-cn.com
目录
相关文章推荐
Python爱好者社区  ·  又一大企启动大规模自愿离职计划,一千多人报名 ... ·  6 天前  
Python爱好者社区  ·  1885页的Python完整版电子书 ·  1 周前  
Python爱好者社区  ·  68k,确实可以封神了! ·  6 天前  
Python中文社区  ·  美股投资必备!全面解读FinViz的强大功能 ·  1 周前  
Python爱好者社区  ·  阿里云盘惊现他人私密照,网友:匪夷所思的 Bug ·  1 周前  
51好读  ›  专栏  ›  Python中文社区

小白爬虫第一篇——抓取淘宝文胸数据

Python中文社区  · 公众号  · Python  · 2017-03-17 20:12

正文

專 欄

蜗牛仔,Python中文社区专栏作者。

博客园:

http://www.cnblogs.com/xiaobeibei26/

简书:

http://www.jianshu.com/u/3cfeb3395a95

小白爬虫系列的文章,顾名思义都是写给小白的,每一篇都是楼主都会选择一个网站进行实战,因为楼主觉得爬虫是一个力气活,只有在实战中才能提高战力啊。好了,话不多说,我们选择的第一个网站是淘宝,当然这次不是大规模抓取,大规模留到进阶篇。首先我们打开淘宝的首页,然后在搜索栏输入文胸(这里只是以文胸为例子,你喜欢写啥就写啥,本人测试无论输入哪种商品都可以),结果如图:

         这里都是琳琅满目的文胸,然后楼主去网页的源代码看了看,商品的具体数据是JS动态加载的,不在源代码里面的,那么我们就找嘛,毕竟每页这么多的商品数据,找到这个JS文件也不难,因为淘宝的商品太多了,楼主就简单切换一下页数,果然在切换的时候抓到了这个js请求文件,如图

        打开这个文件可以看到都是我们需要的商品数据

        抓到这个文件就好办了,我们先分析一下这个请求,如图

        这里的URL是超级长,当然我们可以适当调整的,url里面的很多参数去掉也是没有关系的,我们先把这个URL直接复制到浏览器打开,看看结果,如图

       在大括号里面的是我们想要的数据,但是明显这里有个jsonp1035这段数字字母阻碍着我们解析里面这段数据,楼主是解析超久这段数据也没有成功啊当时,最好斗胆在网页中把这段字母数字去掉,居然是不妨碍我们访问的,改了之后的URL是这个 
https://s.taobao.com/search?data-key=s&data-value=44&ajax=true&_ksTS=1479917597216_854&callback&q=文胸
好了,访问这个网站得到的数据就是干干净净的json数据了,可以直接在Python里面解析了,当然你可以不是文胸,我测试了很多商品都没有问题的。 
        如下是代码,超级简单的,值得一提的是淘宝的数据隐藏得比较深,不是一个简单的字典,当时楼主不知道json在线解析器折腾了好久,里面商品的数据是在字典几个层次下面的,你要按照key-value一步步提取才可以,如图

        data_dict就是那份淘宝数据解析成的字典,要取到后面第四个key,后面的数据才是我们要的商品数据

        运行之后,随便输入你想要爬取的商品,然后都会被以csv的格式爬取下来的,里面有价格,交易次数,地点等数据,有兴趣的也可以分析一下哈,总结起来本次实战难点主要有两点: 
一、淘宝链接的提取以及修改 
二、具体数据的解析以及提取
 
        最后提一下,本篇爬取的是第一页,但是只爬一页明显是满足不了楼主和各位的啊,楼主翻了翻,其实页数是有规律的,如图

        页数都是有数字规律的,当然第一篇我们简单爬取就好了,等我下几篇教会了大家如何写简单的代理池,我们再回来大规模爬微信或者京东淘宝这些网站,我们慢慢来。

        好了,本篇实战介绍到这里,下次带带大家爬一爬链家某个区域房子的数据,保准学会,超级简单。

文中代码及完整源码资料已上传至Python中文社区小密圈,欢迎讨论并下载。

§§

欢迎加入

Python中文社区

小密圈

Python 中 文 社 区

Python中文开发者的精神家园

合作、投稿请联系微信:

AndyWong188

— 人生苦短,我用Python —




申请专栏作者,请点击阅读原文