【IT168 资讯】本文作者是一名地地道道的程序员,最大的乐趣就是爬各种网站。特别是在过去的一年里,为了娱乐和利润而爬掉了无数网站。从小众到主流电子商店再到新闻媒体和文学博客,通过使用简单的工具(如BeautifulSoup)获得了很多有趣且干净的数据—我也很喜欢Chrome 的Headless模式。

本文,作者将分析从Greek wine e-shop商店(一个希腊葡萄酒网站)中获得的数据,来看看哪种葡萄酒最受欢迎。

scraper本身相当简单,可以在GitHub页面(https://github.com/Florents-Tselai/greek-wines-analysis)找到。作者将着重于通过使用标准的Python包对得到的数据(1125个独特的标签)做一些快速的探索性分析。

scraper本身暴露了一个相当简单的API。首先,请求葡萄酒页面的数据,并将数据返回给nicedict,如下所示:

In [2]:

In [3]:

Out[3]:

然后,定义一些matplotlib。

In [4]:

加载由houseofwine_gr.dump模块生成的数据转储,开发者也可以在GitHub页面找到.json,.csv和.xlsx的数据集。

In [5]:

以下是所拥有数据的视图:

In [6]:

Out[6]:

用np.nan替换空的字符串,使它们更容易处理 Pandas。

In [7]:

重命名一些包含特殊字符的列名,以便将它们用作本机DataFrame存储器。

In [8]:

我们还将适当的类型分配给列:

In [9]:

让我们将color列值从希腊语翻译成英语。

In [10]:

以下是数据集的颜色直方图。

In [11]:

以下是每种葡萄酒的简单指标分布情况:

In [12]:

如图所示,Average Rating列几乎为正态分布,μ值高达85以上。 Reddit上的Kroutoner解释了为什么会发生这种情况(并纠正了作者以前的错误):

典型的葡萄酒评级是50-100,而不是0-100。所以看起来似乎只有一半分布,实际上是一个几乎完全的分布。此外,90分以上的葡萄酒一般被认为效果更好,销售也更好。这个事实改变了对数据的解释,也就是说大多数葡萄酒被评为好,只有一小部分被评为非常好。

为了进一步推进,来看一下tags 列。

似乎每个标签列表可以给出有关葡萄酒的各种属性(品种,甜味等)的信息。接下来,作者将这些属性分开,将tags列元素从list 转换为set列表元素,因为这样会使操作更简单。也就是说,不是在一个if x in -else-try-except-IndexError中,我们将使用set操作。

现在,做一些简单操作来提取关于甜度,温和性等信息,以下信息同样从希腊语翻译到了英语。

以下是4个属性中每一个属性的直方图:

在这一点上,开发者可以(几乎)安全地假设所有剩下的标签显示每种葡萄酒的品种信息,所以定义一个新的列来存储它们。

由于解析错误,列中出现了一些整数,我们将其过滤掉。

我们也可以添加一个布尔变量varietal。酒中的混合物只有一种的称为varietal,至少有两种混合物的称作blends。

对于varietal葡萄酒,我们设定了一个single_variety - 对于其他非varietal的葡萄酒来说,这个数值将是NaN。

让我们来看看Varietal / Blend的分布是怎样的。

这是一些指示性的情节。

In [27]:

看起来Chardonnay是最流行的品种,而Vidal和Sangiovese是最昂贵的品种。评分最高的是Malvasia,但所有品种都非常接近。

把注意力转移到blends上,我们做了一些Numpy和Scikit-Learn来产生blends的矩阵。

上面的代码简单地从这里得到:

对此:

这些是blends中出现频率最高的品种。

In [30]:

这里是一个热图,显示哪些品种通常混合在一起。

In [31]:

In [32]:

如果你有兴趣,欢迎来Github页面与作者交流。

python爬虫数据分析毕业论文_Python 爬虫实操,顺便做了个数据分析相关推荐

  1. python爬虫下载小说_python 爬取小说并下载的示例

    代码 import requests import time from tqdm import tqdm from bs4 import BeautifulSoup """ ...

  2. python爬虫京东评论_python爬京东评论

    我,找回,密码了! 就是这个网址助我! # In[sy_final]: #!/usr/bin/python import requests import json #这个headers害惨了我,一定要 ...

  3. python爬虫好友图片_Python爬取所有微信好友头像,制作微信好友图片墙

    今天咱就试试怎么爬取微信列表中所有好友的头像,并做成一张图片墙,代码不长,60 行就可以搞定. 核心是利用三个库:wxpy 库,用于获取好友头像然后下载 Pillow 库,用于拼接头像 Pyinsta ...

  4. python爬虫天气数据_Python爬取真气网天气数据

    使用工具:pycharm,Chrome driver 使用库:selenium 前言: 我们无时无刻不在呼吸着周围的空气, 可身边的空气质量怎样呢? 嗯~~~ 大多数人会沉思一会儿, 最后还是会说:不 ...

  5. python爬虫微博图片_python爬取微博图片及内容

    import random import urllib.request import json import re import requests import time id=(input(&quo ...

  6. python爬虫企业数据_python爬取企业名录并入库

    #!/usr/bin/env python2#-*-coding:utf-8-*- '''@version: python2.7 @author: 'zyjsuper' @license: Apach ...

  7. Python 爬虫 中国行政区划信息爬取 (初学者)

    Python 爬虫 中国行政区划信息爬取 (初学者) 背景 环境准备 代码片段 1.定义地址信息对象 2.地址解析对象 2.1 获取web信息 2.2 web信息解析 2.3 区划信息提取 2.4 省 ...

  8. python爬取图片教程-推荐|Python 爬虫系列教程一爬取批量百度图片

    Python 爬虫系列教程一爬取批量百度图片https://blog.csdn.net/qq_40774175/article/details/81273198# -*- coding: utf-8 ...

  9. python爬虫对炒股有没有用_使用python爬虫实现网络股票信息爬取的demo

    实例如下所示: import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url ...

最新文章

  1. ASP.Net后台 实现先弹出对话框,再跳转到另一个网页的实现方法
  2. linux视频教程 iptables 跟踪,linux – 了解iptables中的连接跟踪
  3. 五、唱歌不如跳舞(下)
  4. 助你成长为优秀的程序员 杰出的软件工程师、设计师、分析师和架构师
  5. 如何在多版本anaconda python环境下转换spyder?
  6. antd Datepicker组件报错 ——date.clone is not a function或者date1.isAfter is not a function
  7. Visual Studio Code 前端调试不完全指南
  8. iostat命令详解_对iostat输出结果的理解
  9. bzoj 1237: [SCOI2008]配对(DP)
  10. python爬取LOL皮肤
  11. 2012年部分节假日安排
  12. 表空间信息查询(sql语句)
  13. APS高级排程在钣金冲压行业的应用
  14. 【Java】使用PDF模板合成PDF文件(文本 + 图片)
  15. html获取页面点击事件吗,jquery 获取页面点击事件 $(body).click()
  16. php 没有libmysql.dll,php_mysql_libmysql.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家...
  17. USDP使用笔记(七)使用Flink1.14.3替换自带的老版Flink1.13
  18. CTFshow sql注入 上篇(web221-253)
  19. 李想的理想 IPO :新造车「异类」背后的思考
  20. 一个基于EntityFrameworkCore+Lucene实现的全文搜索引擎库

热门文章

  1. 【arc075f】AtCoder Regular Contest 075 F - Mirrored
  2. ssm毕设项目基于Javaweb的宠物救助网站s6a19(java+VUE+Mybatis+Maven+Mysql+sprnig)
  3. 女孩子的试炼html5魔塔
  4. Calendar(日历)
  5. Shell-01Shell初相识
  6. 斑马打印机(zebraZT410R-203dpi)打印RFID标签流程
  7. Linux环境准备五---VMWare打开CentOS虚拟机报错VT(长模式不兼容)等错误的解决方案
  8. iOS小技能: 开发 uni 原生插件(支持iOS Extension)
  9. 麻雀爱上凤凰在线播放,麻雀爱上凤凰详细剧情
  10. 小程序基本标签与语法