如何获取大名鼎鼎的Hacker News信息,40行Python

2020-10-24  本文已影响0人  菜鸟学python

Hacker News译为中文为黑客的新闻,看到黑客 这个词语,总带着一丝神秘,相信每个程序员都有成为一名黑客的梦想,小编当然也有这个梦想。

Hacker News 是一家关于计算机黑客和创业公司的社会化新闻网站,由硅谷教父保罗·格雷厄姆的创业孵化器 Y Combinator 创建。在程序员圈,尤其是技术大神圈里,非常流行,里面有很多第一手的技术圈资料和新鲜八卦趣事,号称程序员圈的"微博"。今天小编用Python带大家40行Python代码搞定!

\normalsize\mathbf{01.Hacker News API介绍}

在探索Hacker News的过程中,小编在GitHub上发现一个关于该网站的API接口,该接口与Firebase合作,可以实时地提供公共的Hacker News数据,利用该接口,可以快速爬取网站数据。

该API提供了数据接口https://hacker-news.firebaseio.com/v0/其中V0是API的版本号,所有信息都是基于这个接口添加后缀进行。下面将进行展示。

信息接口
在接口后输入/v0/item/id.json,其中id指定信息的唯一id,便可访问该信息的相关属性。

每条信息包含以下属性:

用户信息
在接口后面接入/v0/user/user.json,便可访问用户消息

每条信息包含以下属性:

\normalsize\mathbf{02.接口介绍}

API中还提供了查看实时数据的各种接口,方便大家调用,下面小编给大家展示2个最常用的接口。

比如查看最新的文章
在接口后面接入/v0/user/maxitem.json,便可查看最新的文章id


比如查看最热门的故事

小编这里调用/v0/topstories.json,查看Hacker News中最热门的信息id,再根据id,在调用信息接口/v0/item/<id>.json获取该信息的相关介绍,下面展示其中的核心爬虫代码:

然后对于每一个id的具体的文章信息,用gethtml进行解析 上面便是获取Hacker News中top500的文章的代码。为了解决requests对网页读取等待时间过长而卡住,小编这里使用了gethtml函数,再等待5秒后无响应,重新进行请求,5次之后仍没有结果则跳过。

我们看一下爬取的信息:
上图展示的小编爬到的相关信息,接下来小编就带大家一起看一看所有信息中哪一种类型的信息最受欢迎。在小编爬取的数据中共有449条有效数据,其中种类story占比99.78%,job为0.22%,可见story是haceker们最喜欢的类型。

接下来小编在首页中文章数量最多的作者进行了展示,todsacerdoti、rbanffy、bookofjoe、AndrewBissell、Reedx是排名前五的作者,不知道有没有大家喜欢的作者呢。

如果大家对Hacker感兴趣的话,可以去该网站看看Hacker们喜欢的文章,也许你会有新的发现哦!欢迎在留言区点评,记得给个三连哦!

目前wx搜索Python 【菜鸟学Python】排第二,汇聚了30万Python爱好者,累计原创近400篇趣味干货(爬虫,数据分析,算法,面试指南,原创趣味实战,Python游戏,机器学习),欢迎一起学Python,交流指正。

上一篇下一篇

猜你喜欢

热点阅读