2022年6月

一、原起

那只叼着钥匙的黑乌鸦真好看

Sci-Hub

官网现提供三个时间段的用户下载日志数据

  • 2011年9月22日 - 2013年10月14日,约4.7百万条
  • 2015年9月1日 - 2016年2月29日, 约2.7千万条,约2.59Gb
  • 2017年1月1日 - 2017.12.31, 约1.5亿条,约14Gb

   

官网也提供一份完整的 Sci-Hub 文章列表

  • 一份更新于2022年2月12日的完整 Sci-Hub DOI 清单, sci-hub-doi-2022-02-12.txt,下载下来的数据包大小约478Mb,解压后约2.2Gb。

  • 一份更新于2022年5月30日的 Sci-Hub 的文章的元数据,scimag_2020-05-30.sql.gz,下载下来的数据包大小约9.64Gb。

定西之谜的起点

看看数据

导入数据后,一般先head()tail()str()summary()view()看看,数据中有几个字段,都是什么类型,有无缺失(缺失比例),每个字段的大致取值范围。

time doi ip user country city latitude longitude
2017-01-01 00:09:30 10.1007/s00134-016-4523-0 583 671 China Beijing 39.904211 116.407395
2017-01-01 00:03:27 10.1080/15567036.2015.1057657 271 298 China Shanghai 31.230416 121.473701
2017-01-01 00:09:52 10.1002/ejoc.201601322 604 692 China Dingxi Shi 35.580663 104.626282

   

时间(time)字段踩到了一个坑:

>min(data$time)
[1] "2017-01-01 UTC"

>max(data$time)
[1] "2017-12-31 23:59:59 UTC"

二、探索过程

逐字段探索

猜想1

  • 读者 davidfeng:流量归于定西是因为具体访问地点不明,但已知是中国,系统自动放在几何中心处,即定西附近。

猜想2

  • 坛友 yufree :定西市没有知名研究机构,不太可能是自然流量(非自然流量趋势相对平缓)。

  • 坛友 nan.xiao :IP 地理位置映射错误。

  • 坛友 tctcab :定西流量来源于深圳。

  • 定西流量来源于兰州

    • 读者解伟:中科院兰州文献情报中心

    • 读者汪舟:兰州大学榆中校区

探索1:“时间”–区域 & 频数–看趋势

  • 都在1月底2月初出现波谷,正好对应中国传统春节假期的时间。

  • 都缺失4.21日至4.29日以及10.7日至10.29日的数据,都在12.16日出现最小值(与 Sci-Hub 全站流量一致)。

  • 都有明显的周期性波动。

   

  • 定西第3个波峰最高

探索2:“时间”–时区

  • 中国,三个波峰,“05:00 - 11:00 - 16:00”
    • 若将时间轴推后5个小时变成“10:00 - 16:00 - 21:00”
  • 印度,两个波峰,“09:00 - 12:00”
    • 印度比中国慢2.5小时,将时间轴推后2.5小时变成“11:30 - 14:30”

   

  • 美国,没有波峰
    • 漂亮国之谜
  • 巴西,三个波峰,“16:00 - 21:00 - 03:00”
    • 巴西比中国慢11个小时,将时间轴提前6小时变成“10:00 - 15:00 - 21:00”
  • 伊朗,一个较为明显的波峰,“10:00”
    • 考虑到伊朗比中国慢3.5小时,将时间轴推后1.5小时变成“11:30”

探索3:“经纬度”

  • 经度、纬度数据与国家、城市的关系
    • 定西:无缺失,仅两组104.626282,35.580662104.626282,35.580663坐标反查得到的地址是“甘肃省定西市安定区永定西路39”
    • 北京:无缺失,仅五组,其中116.407395,39.904211贡献约340万下载量
  • 经度、纬度数据是怎么来的
    • Country/City according to GeoIP,根据 GeoIP 得到的用户所属国家和城市
  • 按IP分组,计算其他字段去重后的数量
- IP 用户数 城市数 国家数 纬度数 经度数
最小值 1 1 1 1 1 1
1/4分位数 4199748 1 1 1 1 1
中位数 8462909 1 1 1 1 1
平均值 8503853 3.73 1 1 1 1
3/4分位数 12786557 2 1 1 1 1
最大值 17208864 170723 1 1 1 1

探索4:“IP”和“USER”

  • IP(12247800),对应的国家是荷兰,城市是阿姆斯特丹

  • IP 字段来源于 IP 地址,仅提取了原来的 IP 地址所代表的地理位置信息。

  • USER 字段才是由每一个登录 Sci-Hub 网站的设备留下的 IP 地址所转化而来。

  • IP 和 USER 的关系相当于网络路由和设备。在一个局域网内,会出现一个 IP(路由)对应多个 USER(设备)的情况。

三、分析流量的组成部分

向下拆分,大胆假设、小心验证

分析1:引入新数据

  • 流量上涨倍数

    • Sci-Hub
      • 2.71
    • 全中国
      • 3.09
    • 定西
      • 11.74
  • IP上涨倍数

    • Sci-Hub
      • 2.49
    • 全中国
      • 3.38
    • 定西
      • 9.64

分析2:长期用户和短期用户

按 IP 计算天数

  • 流量上涨倍数
    • 30天以上
      • 29.9
    • 8-15天
      • 7.3
    • 4-7天
      • 9.7
    • 3天
      • 12.6
    • 2天
      • 11.5
    • 1天
      • 5.2

分析2:长期、短期用户的流量趋势

按 IP 计算天数

  • Sci-Hub
    • 在“1-30天”,第三个波峰最高
    • 在“30天以上”,第二个波峰最高
  • 定西
    • 在“1-30天”,第三个波峰最高
    • 在“30天以上”,第三个波峰最低
  • 北京
    • 在“1天”,第三个波峰最高
    • 在“1天以上”,第三个波峰最低

分析3:IP 与 USER 的不同对应关系

假设1:IP与USER一对多的就全是自然流量吗?

  • IP 与 USER 一对多
  • IP 与 USER 多对多

按 IP 及 USER 计算天数

显然定西“IP与USER一对多”中既有自然流量也混入其他,不能仅以“IP与USER对应关系”来判断是否全为自然流量

假设2:能仅凭“天数”或“IP 与 USER 对应关系”来判断是否自然流量吗?

按 IP 和 USER 计算天数

四、结尾

只是本咸鱼的结尾

线索与结论

  • 定西之谜的谜题

    • 定西市本身没有知名科研机构,为何在 Sci-Hub 网站的下载流量那么高,仅次于北京、上海?
    • 北京、上海等城市或地区的24小时流量变化趋势都是出现3个波峰,且第3个波峰最低,为何定西市第3个波峰反而是最高的?
  • 探索分析得到的线索

    • Sci-Hub提供的2017年下载日志数据中,时间字段并没有标识时区。
    • 引入2015.9-2016.2的数据与2017年的数据进行对比,Sci-Hub全站的月均流量上涨倍数是2.712,全中国(含中国台湾、中国香港、中国澳门)的月均流量上涨倍数是3.089,而定西为11.74,兰州为1.52。
    • 定西流量的组成成分比较复杂,若按“ IP 与 USER 的对应关系”来看,“多对多”占50%,“一对多”占35%。“一对多”流量中,“1天”占70%,第3个波峰最高;“多对多”流量中,“1天”、“2天”、“3天”共占74%,第3个波峰最高。
  • 本咸鱼的结尾

    • 2017 年数据中 IP 与 USER 的关系是路由与设备,北京的“一对多”、“多对多”流量中不同天数段的流量趋势均是第3个波峰最低,最有可能就是学校和科研机构产生的流量(局域网内一个路由连接多个设备,或多个路由连接多个设备)。
    • 2017年定西流量分别来自于定西、兰州、中国境外,这些境外流量多数是(按 IP 和 USER 计算)短期流量,“境外”并不是指中国以外的某一个国家或地区,和“ Sci-Hub 用户”一样来自很多国家或地区。

五、番外

值得继续深挖的脑(大)洞(坑)

引入其他数据、拆分新维度……

  • DOI

    • 使用 Sci-Hub 官网提供的文章元数据
    • 用 rcrossref 包 (Chamberlain et al. 2020) 获取文章的元数据

   

  • 引入各城市或地区的教育科研投入经费、大学生人数、科研从业人数等,从更多维度上进行交叉验证

  • 拆分出工作日、周末或节假日,或计算 IP、USER 的时间跨度作进一步观察

  • 北京2017-08-16日的流量组成

  • 身在深圳的人会不会使用 Sci-Hub?

漂亮国之谜

  • 仅对应一个 IP 的 USER
    • 明显的周期性趋势
  • 对应多个 IP 的 USER
    • 2017-06-30

   

在 1-4月的24小时流量趋势:

  • 两个明显波峰:18/19点-5点
  • 一个明显波谷:13点
  • 时间轴前移8小时
    • 10/11点-21点
    • 5点

在5-12月的24小时流量趋势:

  • 平缓

感谢聆听!