搜索引擎如何制作?(Excel居然可以做搜索引擎)

qinzhiqiang 12-04 10:15 1,575次浏览

心血来潮在知乎里面搜索一下 Excel,想学习一些高点赞文章的写作方法。

看到这些标题,完了,一下子勾起下载和收藏的欲望啦!

怎么样把所有高点赞的文章全部都抓下来呢?

开始的时候我想的是用 Python。

后来想一想,用 Power query 好像也可以实现,于是就做出了下面这个效果。

在表格里面输入搜索词,然后右键刷新,就可以得到搜索结果。

你能明白我一定要抓到表格里吗?

因为 Excel 里可以根据「点赞数量」直接排序啊!

那种感觉就跟排队一样,到哪里排队,我都是第 1 个,挑最好的!

好了,闲话少说,我们来看一看这个表格是怎么做出来的。

大致可以分为 4 个步骤:

❶ 获取 JSON 数据连接;

❷ Power query 处理数据;

❸ 配置搜索地址;

❹ 添加超链接

01

操作步骤

❶ 获取 JSON 数据连接

平常在浏览网页的时候,是一个单纯的网页地址。

而网页里所看到的数据,实际上也有一个单独的数据链接,这个可以在浏览器里面查找到。

我们需要的数据链接,对应的通常是 JSON 格式的数据,就像下面这样。

查找的方法,需要进入到开发者模式,然后查看数据的 Network 变化,找到 xhr 类型的链接,其中一个就是数据的传输连接。

把这个链接复制下来,这就是 Power query 要抓取数据的链接。

❷ Power query 处理

你可能不知道,Power Query 除了可以抓取 Excel 当中的数据之外,

还可以抓取 SQL、Access 等多个类型的数据:

网站数据也是其中一个:

把前面我们获取的链接,粘贴到 PQ 里面,链接就可以抓取数据了。

然后得到的是网页的数据格式,怎么把具体的文章数据获取到呢?

Power Query 强大的地方就在于,它可以自动识别 json 的数据格式,并解析提取具体的内容。

整个过程,我们不需要做任何的操作,只是鼠标点点就可以完成。

这个时候我们获得的数据,会有一些不需要的多余的数据。

比如说:thumbnail_info(缩略图信息),relationship,question,id.1 等等。

把它们删掉,只保留可需要的文章的标题、作者、超链接等等就可以了。

数据处理完成后,在开始选卡,点击「关闭并上载」,就完成了数据的抓取,非常简单。

❸ 配置搜索地址

不过这个时候,我们所抓取到的数据是固定的,没办法根据我们输入的关键词来更新。

这是因为数据超链接当中所包含的搜索词没有更新。

所以这一步呢,我们需要配置一下这个数据链接,实现根据搜索词动态更新。

在表格里面新创建一个数据,然后加载到 Power query 里面。

再获取这个搜索词,以变量的形式放在搜索地址里面,就完成了搜索地址的配置。

修改后的地址代码如下:

  getdata = (page)=>
  let
      keywords = 搜索词[ 搜索词]{0},
      源 = Json.Document(Web.Contents("https://www.zhihu.com/api/v4/search_v3?t=general&q="& keywords & "&correction=1&offset="& Text.From(page*20) &"&limit=20&random=" & Text.From(Number.Random()))),
      data = 源[data],
      jsondata = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
  in
      jsondata,
  转换为表 = Table.Combine(List.Transform({1..10}, getdata)),  

▲ 左右滑动查看

❹ 添加超链接

到这一步所有的数据都已经处理完成了,但是如果想要查看原始的知乎页面,需要复制这个超链接,然后在浏览器里打开。

每次要点击好几次鼠标比较麻烦;

这里我们借助 HYPERLINK 这一个函数,生成一个可以点击的超链接,这样访问起来就简单很多了。

 最后效果

最后的效果就是:

❶ 输入搜索词;

❷ 点击右键刷新;

❸ 找点赞最高的;

❹ 点击【点击查看】,享受插队的感觉!

02

总结

知道在表格里面搜索的好处了吗?

❶ 按照「点赞数」排序,「评论数」排序;

❷ 看过的文章,可以加一列写备注;

❸ 可以筛选自己喜欢的「作者」等等。

明白为什么,精英都是 Excel 控了吧?

现在大部分表格的使用者,还是把 Excel 当做一个报表工具,画画表格、写写公式而已。

请你记住下面几个 Excel 新功能,这些功能已经让 Excel 成长为了,一个强大的数据统计、数据分析软件,不再是你印象中的报表而已。