• 新鲜事
  • 我从Sci-Hub上下载了一个数据集,但是对DOI这个东西感到迷茫

Cloud2016
回头我就琢磨下怎么用 rcrossref 吧,我只会 R,不会 Python。我下载的是 Sci-Hub 2017年的数据集,里面DOI去重以后有28773939个,只看中国的也有8785828,量确实很大。
另,这个数据集没有缺失,每一条数据都有一个DOI,说明可以默认全都是网站的有效浏览。我只取中国的,按城市汇总浏览量,如下:

rank	city	freq
1	Beijing	3807399
2	Shanghai	2915865
3	Dingxi Shi	2147668
4	Guangzhou Shi	1365568
5	Nanjing Shi	1305058
6	Wuhan Shi	1050703
7	Hangzhou Shi	962155
8	Chengdu Shi	904620
9	Changsha Shi	757669
10	Tianjin	  670712
11	Xian Shi	   669085
12	Zhengzhou Shi	538862
13	Hefei Shi	512964

那个“Xian Shi”我想了一会,明白是“西安市”。理论上浏览量最高的都是教育大省的省会城市,为撒浏览量第三多的会是定西市咧?

    yuanfan 提供这么好的经纬度和时间信息,可以考虑从时间和空间两个角度先探索分析一波。

    分析文章metadata,可以再抽样,或者就某一地区全量分析 DOI 数据,DOI 确实挺多的

    yuanfan 这个现象挺有意思,定西市没有知名研究机构,不太可能是自然流量。这里有两种可能:定西IP访问scihub有某种优势,所以有些自动化的文献下载工具在遴选代理服务器时总是选那边IP;另一种可能就是某个定西熊孩子写了个自动生成doi然后自动下载全文的爬虫脚本,运行后忘记关了,不过这大概率会被scihub发现。我倾向于第一种,因为现在确实有 scihub 的桌面版工具可以直接通过doi找全文。不过这也好验证,因为这里也有时间戳,前者的时间流量应该是相对平滑的,后者应该是突然出现一个高流量。

      yufree
      按天统计浏览量的数据长下面这样。
      定西市的,看起来很像是自然流量,因为跟其他城市数据一样存在周期性,且在2017年1月底2月初春节假期的时候出现过波谷,都在2017年10.7-10.29日缺失数据。

      对比看下北京的:

      还有上海的:

      我猜也有可能定西市存在不知名的研究机构。但也有一点不自然的地方。
      按小时汇总浏览量,定西市的数据看起来在每天5点、11点、16点会出现峰值,如下:

      其他城市如北京、上海、广州、南京、武汉等都是只在每天5点、10/11点出现峰值,如下:

        yuanfan 这个自然流量有点不自然,圣诞节突然少了很多,这不太像国内研究人员能干出来的事,感觉可能所有地方都有部分海外代理流量。工作时间也确实有意思,因为凌晨5点起来读论文跟下班回家前读论文这么励志的事发生在碳基生物身上也不正常。10-11点这个应该是最正常的。
        这样我只能猜一下,早上四五点跟下午四五点的峰不是国内贡献的,而是其他时区10-11点的科研人员搞的,这些地方应该跟国内有5-6个小时时差,东三区我能想到的文献大国应该就是伊朗跟俄罗斯了,而另一侧则可能是国际日期变更线附近,这个我就不太理解了,早起读论文这事有点超出我这个夜猫子的认知范围了。不过,也有验证方法,不论哪个国家,法定节假日与周末搜索流量都会低,可以把各国法定节假日数据抽出来就能知道挂代理的人有多少,具体来自哪个国家,另外可以提取出国内周末的数据看看时间分布,应该也能给出些线索。

        感谢楼上几位的探索,感觉很有帮助。如果说这个问题有一个简单的解释,那我的猜想是 GeoIP2 的映射数据不准确。因为 IP 段的实际归属地可能被经常调整。这里的三个峰可能是很多本来属于其他来源城市数据的叠加。另外一个相关的可能性是附近的主要访问来源城市被错误映射,比如兰州。所以直接剔除这条应该影响不大。

        读文献这个时间确实反常,先天认为应该是上午和下午各一个波,据我所知各个国家作息差异没那么大,所以很有可能是

        1. 别的区域代理的论文下载,这个可能性我觉得不大,如果代理的话,真实地址分散分布的可能性更大,不大会出现凌晨五点读paper的聚集峰。

        2. nan.xiao所说的ip地理位置映射错误,这个我觉得可能性很大。
          2.1 从绝对数量来推测,定西的峰值在150,000, 北京在300,000,差一倍,考虑北京的高校和科研院所数量级人数,正确的城市差不多也要有同一个数量级的高校和科研院所。
          2.2 从时间来推测,凌晨5点这个峰很可能来自10点或者17点的峰,那就是跟北京时间相差6或者12个小时的时区,看了一眼地图,北京凌晨五点对应白令海峡早上十点和美国东海岸下午五点。

        所以答案呼之欲出了:那就是 瓦坎达

        需要先确认一下数据质量,比如北京地区的经纬度是不是真的都落在北京,GeoIP 解析出来可能不准。国内能上海盗湾,可能大部分挂了代理,这就可能有时差,经纬度是不是和城市一样也是靠 GeoIP 得来的等等

        现在定西之谜有两点:

        1. 定西市本身没有知名研究机构,为撒在 scihub 上浏览量那么高?
        2. 一般城市的自然流量在24小时内只出现2个峰值,为撒定西市有3个峰值?(PS.其实中国其他城市也是出现3个峰值,只是除了定西以外,其他城市16点的那个峰值没有那么大)

        综合楼上的观点们,有两种解释:

        1. 虽然数据集里记录的城市是定西市,但是可能是解析错误,那些流量本应属于其他城市的数据。
        2. 其他地方的人,甚至是其他时区的人挂的代理。

        我下载的数据是2017年的,现在是2022年,上 scihub 是毫无阻碍的,不知道2017年的时候是不是跟现在不一样。一般来说,只有访问不了此网站却需要访问时才需要代理,美国那边不是本来就没有访问障碍的嘛?


        2017年总浏览量排名最高的前三个国家分别是中国、印度、美国,接下来分别画下印度和美国浏览量最高的前两个城市哈。

        印度

        Gugal Pimpari


        新德里


        美国

        洛杉矶


        芝加哥


        综上,美国浏览量前2的城市大多数都是挂的代理,24小时浏览量差得不多;印度浏览量前2的城市看起来像是多数都是正常的自然流量,因为确实24小时内只有2个峰值。


        我觉得@yufree 说的有道理,定西市的流量里应该是既有自然流量,也有非自然的。照着思路把周末的拆出来看是这样的:

        取出那些日期对应一周的第几天,一周的第1天是星期日,第7天是星期六,看看这三个城市的。
        中国 定西:

        印度 Gugal Pimpari

        美国 洛杉矶


        只看国家的,为了使热力图有区分度,把中国的浏览量除以10000,把印度和美国的除以5000

        我觉得印度的流量最自然,周六周日休息。美国的流量最不自然……中国的流量自然中混合着不自然。

        还有一点,scihub 提供的数据中时间字段不带时区,我看中国各个城市24小时流量峰值时点都差不多,都是5/11/16,而印度的都是9/12-13,这是不是说明这个时间字段本身都是一个时区的,因此映射到不同国家的时候才会出现的峰值时点有差异。

        @"Cloud2016" 经纬度我在这里查了,定西市的经纬度确实是定西市,北京市的经纬度也确实是北京的。

          yuanfan 整理下投主站吧。
          我补充一点背景,scihub是哈萨克斯坦人创建的,但开始用得最多的是伊朗。因为漂亮国的制裁,伊朗人根本没法买文献数据库,scihub几乎是他们获取知识的唯一途径。感兴趣可以去某乎搜下伊朗人的科研战斗力,可以说勤奋的离谱。
          另一个背景是关于时区人口的,下图是各时区人口分布,可以看出如果一个网站均匀接收所有国家访问,其流量天生应该就有大概三个峰,分别对应中印人口区,非欧人口区跟美洲人口区。不过人口分布跟网民分布又不一样,美国人少但网民多,印度非洲人多但网民少,所以我也不知道咋矫正这个流量了。也许可以依赖全球性网站的访问数据,但因为众所周知的原因,全球流量靠前的网站几乎在某网民大国都访问不了,所以他们的流量图也没法参考。

          不过这样看美国的日均匀流量反而又不正常了,搞不好是加州有些血汗硅厂的机器人在日夜不停地吃文献训练模型,芝加哥那个流量也非常异常,难道中部人只在夏天读文献?scihub曾多次被搞下线,所以这流量数据里还混了些偶然因素。
          感觉这数据越挖坑越多,足够拍一部悬疑科幻片了,开心麻花拍的话片名应该是《定西游记》。

          yuanfan 关于数据校验,我觉得还可以再细致一些,以定西市为例,把这个城市所有的经纬度画个热力图,看看具体都在哪下的?有没有挨着学校,流量是不是集中在几个区域,还是分布均衡?

          统计了一下国内访问量排序前二十的城市,基本符合个人对国内各城市的研究实力认知= = 定西在上海广州之间,

          然后发现前20一线少了个深圳市,查了一下深圳访问量才64,考虑到深圳科技企业和研究所不少,显然不对。

          所以我再次猜测,估计深圳被认成了定西

          |V6            |       n|  n_user| reads_per_user|
          |:-------------|-------:|-------:|--------------:|
          |Beijing       | 3807399|  934768|       4.073095|
          |Shanghai      | 2915865| 1076290|       2.709182|
          |Dingxi Shi    | 2147668|  488722|       4.394457|
          |Guangzhou Shi | 1365568|  263516|       5.182107|
          |Nanjing Shi   | 1305058|  213053|       6.125509|
          |Wuhan Shi     | 1050703|  152398|       6.894467|
          |Hangzhou Shi  |  962155|  225101|       4.274326|
          |Chengdu Shi   |  904620|  124275|       7.279179|
          |Changsha Shi  |  757669|   94704|       8.000391|
          |Tianjin       |  670712|   94713|       7.081520|
          |Xian Shi      |  669085|   87706|       7.628725|
          |Zhengzhou Shi |  538862|  132860|       4.055863|
          |Hefei Shi     |  512964|   72574|       7.068151|
          |Jinan Shi     |  502566|   74484|       6.747301|
          |Chongqing     |  490612|   53388|       9.189556|
          |Changchun Shi |  457532|   49557|       9.232439|
          |Lanzhou Shi   |  408890|   39851|      10.260470|
          |Shenyang Shi  |  376430|   54880|       6.859147|
          |Haerbin Shi   |  373054|   52052|       7.166948|
          |Nanchang Shi  |  351555|   49536|       7.096960|

          感觉要揭晓一个惊天秘密的节奏。

          000018.png

          画了中美日伊四个国家的当天内的访问时间分布( 中美数据太多做了点采样,每个城市10万,日本伊朗没有采样)

          结果显示的是所有国家国内城市分布很一致, 中国所有城市的时间分布分为三个波,日本也有三个波的趋势,美国基本都很平均,但Galloway也显示了跟中日差不多的三个峰的形状。

          所以目前看来的线索显示:

          1. 三峰的解释可能是早上工作(峰1)-午饭+午休 - 下午工作 (峰2) - 晚饭 - 晚上工作(峰3) 来解释可能更合适,这也更接近我在国内研究生阶段的经验。 而访问时间可能如@yufree 所说,服务器在中东附近,凌晨五点时对应北京时间早上十点的上班高峰,10点对应下午两三点, 16对应晚上八九点,另外三餐雷打不动判断应该是由食堂开饭时间决定。
            1.1. 定西市跟中国其他市是没有区别的, 依然怀疑定西其实是深圳。

          2. 日本的三个峰型与中国位置接近,但峰型向米帝的平均化接近,提示饮食习惯介于中西之间(?)
            2.1 没仔细算,肉眼判断日本三峰比国内城市左偏一点点,考虑日本与中国1小时时差,算是难判断。

          3. 米帝的峰型分布提示,全米只有Galloway有食堂。

          4. 伊朗凌晨一点有个调皮的小峰,也不知道为什么

          5. 中日伊三国的开始和结束的持续时间接近(8~12小时),符合人正常作息,米帝超常待机感觉有点奇怪。

          总之又出现了新的问题…

          如果流量前十城市没有深圳确实离谱了,确实有可能是定西跟深圳搞混了。如果 scihub 用了trackmyip来确定城市,那么根据他们的 Dingxi IP address report,很多定西IP的ISP竟然是广东或辽宁的。虽然我不知道为啥广东辽宁的ISP会跑到甘肃提供IP,但这种莫名其妙的匹配机制很有可能是定西问题的合理解释,也就是sichub用的IP与地址对应所依赖的数据库更新不及时,甚至到现在都是错的。

          看起来定西之谜已经解开了。至于新产生的漂亮国之谜……

          Sci-Hub 2017年全年流量的24小时分布确实如 @yufree 所言,有三个峰值。

          我注意到美国的流量是在7月暴增了一波,Sci-Hub全年的流量也是在7月增加了许多,于是猜测也许那年7月以前 Sci-Hub 在漂亮国被封了,7月后解封。

          漂亮国2017年1-4月的24小时流量分布:

          漂亮国2017年7月的24小时流量分布:

          漂亮国2017年11月的24小时流量分布:


          对比其1-4月和7月的图,看上去好像是图中13点是那边人们睡觉的时间,于是1-4月有过正常的峰值,后来被封了再解封以后13点左右的波谷被填平了,也许那边人们意识到要多存点备份,从7月开始混入不自然的流量。这波不自然的流量使得后来11月本该存在的波谷也被填平了。

          七月份增加其实量级不大,可能跟暑期项目或者开学有关

            tctcab
            也是哦,社畜当久了,都忘了还有暑假这回事了。

            15 天 后