动动手,写个世界杯帅哥爬虫

这可能是你所见过最不专业最不正经的爬虫教程,因为我们的目标不是学术也不是业务,只是为了看看帅哥。

---我是严肃的分隔线---

首先要解决世界杯帅哥到哪里找的问题,国内的新浪、网易、腾讯等门户网站的世界杯专题虽然做了很多内容,但毕竟都是二手资料,我们做学问的,应该追根溯源。

球员数据的源头应该是国际足联的官网网站:

https://www.fifa.com

进到首页,我们不难发现,菜单里有个 PLAYERS,应该就是球员页面了。我们严肃地点进去。

点进去之后就看到了这个页面,你看,正好有 4 个大帅哥等着我们去爬呢!

当然仅这 4 个人不能满足我们,应该可以找到更多人的列表。

跳过寻找过程,我们找到了结果,都在这个页面上:

https://www.fifa.com/worldcup/players/browser/

这个页面上毫无保留地列出了 736 位注册的球员。有 32 个参赛队伍(当然不包括中国了),每个球队 23 人,这样算下来 32 x 23 正好等于 736,FIFA 爸爸果然没有骗我们。

既然所有人都在一个页面上了,那爬虫应该很容易搞定(不用考虑翻页的问题)。

这次我们需要一个爬虫工具的帮助,它的名字叫爬爬,它是一个洲浏览器插件,也是一个开源的爬虫项目,目前支持抖音、微信、微博等多种数据源。我们使用它来定义「世界杯帅哥」这个数据源,来获取我们需要的帅哥数据。它的源代码可以在这里找到:

https://github.com/toobigdata/papa

下载源码后,我们开始根据自己的需求改造它。

首先是修改 app/scripts/config.js,加入我们对帅哥数据的定义:

因为还不知道具体有哪些数据,所以表头和字段名都只填了采集时间,后边我们会根据网页上的实际内容来完善这个配置。

接下来,我们需要在 app/scripts/track/ 目录下创建一个叫 demo.fifa.player.js 的文件(注意恰好是上边的数据源,后边加个 .js)。这个文件可以从 demo.js 复制而来,它的基础代码结构是这样的:

在这个 JS 文件里,加入我们的爬虫逻辑(此处再略过一些细节,这些细节主要是分析网页内容,梳理出数据结构,再选择合适的选择符去把它们提取出来)。

代码并不多,只要静下心来研究一下,很容易看懂。

修改完后,在 chrome://extensions 里加载插件,再打开前边提到的球员页面,就会看到页面右侧有一个「爬爬」面板,悬停时显示成这个样子:

没错,点击它,很快数据就爬完了。

去哪里看数据呢?

点击浏览器右上角的爬爬图标(图标长得像个雷达),再展开的面板中点「本地数据」。

然后你看到页面是空白的:

不要慌张,我们还需要切换一下数据源,在左上角,选择「世界杯球员」。

然后,帅哥数据就出来啦!

我们爬到了所有球员的姓名、国家、位置、号码和头像地址。点左上角的「导出」可以保存为 csv 文件。

这个文件,你可以从百度下载:

链接:

https://pan.baidu.com/s/16bG6qjasMAp0PpIRAyDSsA

密码:

v2s9

如果你只想下载安装爬爬插件,入口在这里:

https://kolranking.com/papa-download

本文中展示的所有代码,可以从 Github 获取:

https://github.com/toobigdata/papa

---我是严肃的分完线---

以上,我们通过一个完整的案例,演示了怎么借助爬爬,定制自己的数据爬虫。为了让这个故事有点性感,我们女孩子和男孩子都比较喜欢的世界杯足球明星。

希望你喜欢。

希望对你有帮助。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180619G0B3J100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券