爬虫 只爬取网页部分内容_数据分析实战(三)数据采集 —— webScraper爬虫应用...

笔者不是一个专业的爬虫工程师,这里为大家介绍这次实战案例中,我使用的一款网页爬虫工具 webScraper。这款工具非常适合小白,懂一点网页前端css知识的人即可快速上手,且适用范围广,能够抓取大部分网页数据。下面就开始介绍爬取数据的过程。

第一步、选择数据

根据我们分析问题,我们要设置不变量和变量。不变量就是我们要控制的维度,让这些维度不会对我们的数据分析造成干扰,一般情况下,分析的问题越细致,不变量的维度就越多。这次我们选择的不变量为“白茶”、“明前茶”和“特级”。这样大大缩小了数据范围,淘宝网上满足这些条件的数据只有7页商品。我们要分析的变量包括“销量”、“价格”、“品牌”、“地域”等信息。其中“价格”需要通过“售价”和“净含量”计算出“单价”。最终我们确认了爬取的页面为商品详情页,里面包含我们想要的全部数据。

5c9544f73f7de0bb9d2372a137b79879.png
产品参数中数据很全,不过需要加工

第二步、设计爬虫

关于如何设计商品详情页的爬虫设计器可以参考这篇文章,讲的比较详细。web scraper 抓取分页数据和二级页面内容

我通过链接中提到的方法,设计了一个爬虫。并将产品参数的文本全部放在一个字段内,原因是产品的每项参数并不是固定的页面元素,所以只能都爬下来,再通过其他的工具进行处理。

b942de47de728742b571befc11cb4c3b.png
详情页爬虫字段设计

需要注意的是,直接用select功能在网页选取页面元素可能会出错,特别是列表页。因为设计器并不能准确的提取我们要选择元素的通用特征。例如,我通过select功能选取的元素如下图所示。

eb672fb37ba9cb52ce8cd18819cece91.png

点击爬取,发现只爬取了一个列表页中的部分商品。说明我的选择器并不具备通用性,再分析网页元素之后,我找到了商品的通用选择器应该是“div[data-category="auctions"]”,与之相对应的是“div[data-category="recommend-auctions"]”表示的是推荐的商品,也就是不在查询条件内的商品,这部分是我们要过滤的数据。

完成设计器之后,点击“Scrape”就开始进行商品信息爬取了,一页的数据还没有遍历完的时候,爬虫就被系统终止了。上网查了一下,原来是淘宝的反爬机制拦截了爬虫的访问。我们上网搜索商品的时候,会看到商品的淘宝或天猫链接一般都在前几位,并显示这“广告”。那是因为淘宝的商品不允许爬虫爬取,只允许SEM。这样既能保证推广的效果,也能防止竞争对手恶意爬取商品信息。

绕过反爬机制的方式当然是有的,但是综合考虑投入产出比之后,我决定爬取列表页中的数据。列表页中除了“产地”之外,其他主要信息都有。不过净含量信息放在标题中,需要在后续数据处理步骤中提取出来。我重新设计了一个列表页的爬虫,完成了元数据爬取。元数据包括字段“标题”、“价格”、“品牌”、“月销量”。下篇文章将会介绍,如何处理数据,主要是从标题中提取“净含量”信息,并通过“净含量”和“价格”计算“单价”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值