• R语言
  • 一个爬网页的练习:看看 R 邮件列表中最热门的讨论是什么

dapengde
继续提意见:首先我觉得三个不同页面放在不同tab下不大好,因为默认为rdev,即使只对cos感兴趣的用户,刷新一下页面就又跑去加载rdev了,还是用单独页面好一。

其次,经常出现断开连接,在调整年限范围之后。

再次,数据处理时间还是好慢,是不是可以考虑sql

    tctcab

    1. 你是说把他仨分成三个彼此独立的站点吗?那倒是容易,而且也快。
    2. 调整年限后断开连接的情况我还没遇见。一般情况下,用户几分钟没活动时就会自动断开,是为了节省 shinyapps.io 的机时。
    3. 确实慢,因为加载时要从 https://stat.ethz.ch/ 上读取最新的数据。等哪位把 trivis 弄好吧。此外,authors 统计数据载入得最慢,用处似乎不大,玩两天就删掉得了。

    tctcab
    嗯,好厉害,这样的确可以省很多! 太棒啦!

    dapengde
    太好啦,这样不仅可以一目了然了,而且可以用搜索栏搜感兴趣的题目了,太感谢啦!

      dapengde
      啊我以为使用的是抓取好的csv,没想到每打开一次还得在后台偷偷爬一次啊?

      甚至切换tab是不是也会重新爬?

      看你的已有代码里写的还是apply系,每次抓取可能会同时对数据源发出成百上千次访问这特喵是DDoS攻击了吧哈哈哈

        tctcab dapengde
        啊,原来是鲜榨数据呀,哈哈哈。对于 r-help 和 r-devel 可以用把历史数据存到本地,当前月份鲜榨。或者直接写是截至到某某日期的结果。 对于 COS 的话,可以先存到本地,每星期或者每月更新一次。

          tctcab Jiena

          r-devel 和 r-help 的历史数据是预先抓好的,只鲜榨最近一个月的数据。cos 目前没法鲜榨,原因是 shinyapps.io 好像不支持 jsonlite 包——这一点我没有找到依据,反正故障现象就是只要用这个包,那么布署到服务器端就出错,虽然本地运行完全没问题。

          初次切换 tab 时顿一下,并不是在重新抓取数据。可能是在渲染表格和图片吧,毕竟数据有几十万行。第二次切换就不顿了。把 COS 两万八千条文章全列在一张页面上只需几秒。

          我觉得目前速度还可以忍吧。随进度条玩一玩唐诗,经常出现惊艳的随机组合,我有时候甚至希望载入得更慢一点。

          不过,既然用户那么在乎速度,我另做了个轻便版,只载入预下载的历史数据,载入时会快一点,并且以 COS 为首页:

            dapengde

            哈哈这个好,速度满意,使用体验好很多。

            看了一下cos排名前面的帖子,要么是资料下载要么是标了“回复可见”的水贴,要筛出值得一看的帖子看来还不能依赖回复量

              tctcab 把你发现的那些水贴用正则过滤一下,再看回复量呢?资料下载的帖子应该是很早的了

                Cloud2016
                大概筛了一下,11年以后的帖就很少资料下载或者水帖了。
                挖坟好开心

                dapengde

                这个不急,从数据趋势看得出11年以后bbs啊论坛的时代就过去了,没啥新数据,所以一年更新一次新数据的话完全用不上travis啊哈哈哈哈哈

                16 天 后
                1 年 后

                Cloud2016

                挖个坑:

                古统》一书的数据实例被我挪走了两个到别的章节,我想添加两个新的实例来补位。看到 MSG-book issues 提到过把这个洛阳铲写进书里,又看到这里邀请给主站投稿,那么来吧!三件事合成一件事来办!写一篇,收进书里,同时给主站投稿。

                有人来填这个坑吗?

                8 个月 后

                这个工具掉链子有一年多了,故障没人提,估计没什么人用,我就懒得修理。最近,由于《现代统计图形(印刷版)》里提到了这个工具(我自己挖的坑,不怪别人),我一咬牙把问题修复了一下,再咬牙做成了个 R 包。

                安装

                remotes::install_github("pzhaonet/rchive")

                运行

                两种方式运行。

                喜欢敲代码的,在 R 语言环境下运行代码:

                rchive::rchive()

                喜欢点鼠标的,使用 RStudio 的插件:RStudio - Addins - Rchive

                注意事项

                初次运行后需要干瞪眼大约 10 秒钟,啥都别点,等待数据从 GitHub 载入。如果你连不上 GitHub 我就没辙了。

                GitHub 上的数据是用 Travis 每天自动更新的。所以,如果你今天点击了“Update”按钮,那明天之前就不用点了,点了也没用。