心血来潮在知乎里面搜索一下 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 成长为了,一个强大的数据统计、数据分析软件,不再是你印象中的报表而已。
本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/212329.html
如有侵犯您的合法权益请发邮件951076433@qq.com联系删除