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

简介:

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

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

在大括号里面的是我们想要的数据,但是明显这里有个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一步步提取才可以,如图
640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

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

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



原文发布时间为:2017-03-17
本文作者:蜗牛仔
本文来自云栖社区合作伙伴“ Python中文社区”,了解相关信息可以关注“ Python中文社区”微信公众号
相关文章
|
11天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
1月前
|
数据采集 存储 XML
给你一个具体的网站,你会如何设计爬虫来抓取数据?
【2月更文挑战第23天】【2月更文挑战第75篇】给你一个具体的网站,你会如何设计爬虫来抓取数据?
|
1月前
|
数据采集 存储 XML
深入浅出:基于Python的网络数据爬虫开发指南
【2月更文挑战第23天】 在数字时代,数据已成为新的石油。企业和个人都寻求通过各种手段获取互联网上的宝贵信息。本文将深入探讨网络爬虫的构建与优化,一种自动化工具,用于从网页上抓取并提取大量数据。我们将重点介绍Python语言中的相关库和技术,以及如何高效、合法地收集网络数据。文章不仅为初学者提供入门指导,也为有经验的开发者提供进阶技巧,确保读者能够在遵守网络伦理和法规的前提下,充分利用网络数据资源。
|
2月前
|
数据采集 数据可视化 数据挖掘
Python爬虫实战:抓取网站数据并生成报表
本文将介绍如何使用Python编写简单而高效的网络爬虫,从指定的网站上抓取数据,并利用数据分析库生成可视化报表。通过学习本文内容,读者将能够掌握基本的爬虫技术和数据处理方法,为日后开发更复杂的数据采集与分析工具打下坚实基础。
|
28天前
|
数据采集 存储 Rust
Rust高级爬虫:如何利用Rust抓取精美图片
Rust高级爬虫:如何利用Rust抓取精美图片
|
1月前
|
数据采集 JavaScript 前端开发
给我举几个爬虫抓取数据时遇到错误的例子。
【2月更文挑战第23天】【2月更文挑战第76篇】给我举几个爬虫抓取数据时遇到错误的例子。
|
1月前
|
数据采集 存储 数据挖掘
Python爬虫实战:打造一个简单的新闻网站数据爬取工具
本文将介绍如何运用Python编写一个简单而高效的网络爬虫,帮助您在实际项目中快速获取并存储新闻网站的数据。通过学习本文,您将了解到如何利用Python中的第三方库和技术来实现数据爬取,为您的数据分析和应用提供更多可能性。
|
1月前
|
数据采集 存储 监控
Python爬虫实战:利用BeautifulSoup解析网页数据
在网络信息爆炸的时代,如何快速高效地获取所需数据成为许多开发者关注的焦点。本文将介绍如何使用Python中的BeautifulSoup库来解析网页数据,帮助你轻松实现数据抓取与处理的技术。
|
2月前
|
数据采集 前端开发 JavaScript
Python爬虫之Ajax数据爬取基本原理#6
Ajax数据爬取原理【2月更文挑战第19天】
32 1
Python爬虫之Ajax数据爬取基本原理#6
|
15天前
|
数据采集 Python
【python】爬虫-西安医学院-校长信箱
本文以西安医学院-校长信箱为基础来展示爬虫案例。来介绍python爬虫。
【python】爬虫-西安医学院-校长信箱