美文网首页
记录 | 对「被引论文」进行大规模抓取和分析

记录 | 对「被引论文」进行大规模抓取和分析

作者: 生信石头 | 来源:发表于2023-10-05 20:27 被阅读0次

最近想看看「TBtools」用户都是怎么用的 TBtools,用 TBtools 主要是来干啥?是谁在使用?云云。
为此,需要进行和以前类似的分析。早前,邵扬老铁写个一个精彩稿子,详细见《好家伙,到底谁在用TBtools》。至今三年,其中分析的是 TBtools-I 文稿发表前后的概况。大体主题是:

  1. 越来越多的文章使用并引用TBtools
  2. TBtools的用户都喜欢把文章发在谁家?
  3. 用户最爱用热图
  4. 使用了TBtools的文章都发在了什么水平杂志上
  5. TBtools用户都喜欢研究什么

那会一共只会有500个引用。谁也没想到这两三年用户增长太快。爬取数据用的是 Publish or perish。这个软件支持了大规模数据自动爬取,是1000个。比较尴尬的是,现在 TBtools 实际上有 >10000 次引用,远远超过 publish or perish 的支持。即使是限制一年区间,那么也有3000+次,故此路不通。


如何相对完整地收集 TBtools 相关引用文献?我只能想起来早前分享的几行命令。
两行命令-批量快速整理google scholar检索结果。可以快速批量下载和整理,然而,当我开心的跑到Digital Ocean的主机上运行时,大体爬不到500个 ip 就被封了。再换另一个主机,同样不到 500 个就会被封。于是,只能上代理,而且还得能正常访问谷歌学术的代理。

如何让windows下的 wsl2 能通过宿主机代理访问谷歌学术,这是一个问题。我折腾了许久,最后发现是宿主机防火墙的问题。直接关掉防火墙就可以了。
具体相关教程参考

https://zhuanlan.zhihu.com/p/640242841

实际操作时,我设置一个代理主机为活动主机,爬取 400 个记录,换个主机,再继续爬。速度可以很快。当然这个可以自动化,但现在我在高铁上,倒是没必要。

from=2210
totalRecord=2700
maxBreakTime=3
for start in `seq $from 10 $totalRecord`;do wget -e robots=off -H --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" -nd "https://scholar.google.com/scholar?as_vis=1&start=$start&q=%22TBtools%22&hl=en&as_sdt=1,31&as_ylo=2016" -O google.$start.info;
sleeptime=`echo $RANDOM%$maxBreakTime|bc`
echo "sleep time:" $sleeptime "s"
echo "max remain time:" `echo \($totalRecord-$start\)/10*0.5|bc` "mins"
echo "max remain time:" `echo \($totalRecord-$start\)/10*0.5/60|bc` "hours"
sleep $sleeptime;
done

通过修改 from 和 totalRecord 参数,即可限制对应的记录爬取区间。
下载结束后,参考前期推文整理即可。

题外话

此外,我还尝试了其他不少,包括直接从 Web of Science 中导出引用信息(数目比较少,只有5000+条目),提取 doi 号之后,使用 Scihub Pro 软件进行全局大规模批量下载(我发现这个软件每次只支持 1000 个)。大体上,2023年的基本是下载不到了,这个有2000+个,所以最后估计会得到 2000+ 个论文 PDF。
突然觉得结合之前的词频分析插件,是不是可以做一些有趣的东西?

相关文章

  • 爬虫篇之--xpath

    在进行网页抓取的时候,分析定位html节点是获取抓取信息的关键,使用xpath对html进行分析,获取抓取的信息。...

  • attention模型方法综述

    本文基于几篇经典的论文,对attention模型的不同结构进行分析、拆解。 先简单谈一谈attention模型的引...

  • BD第7课:分析罩杯销售

    本文会利用 SQL 语句和 Pandas 对前面抓取和整理的的胸罩数据进行分析,本文主要分析了胸罩销售的比例,以及...

  • python 实现对天气预报官网未来一周七天的天气情况抓取

    通过HTMLPaser和urlib模块对网页进行抓取并分析 实现步骤: 1、自定义MYHTMLParser类 2、...

  • 信息系统项目管理-2022年论文考题分析

    根据历年论文真题进行分析,对明年论文进行的推测,希望可以押中题目。 根据分析的情况,打算重点准备质量的论文,还有概...

  • 京东商品评论爬虫

    抓取京东商城商品评论信息,并对这些评论信息进行分析和可视化。下面是要抓取的商品信息,一款女士文胸。这个商品共有红色...

  • Cookies池的搭建

    平时我们在对网站进行数据抓取的时候,可以抓取一部分页面或者接口,这部分可能没有设置登录限制。但是如果要抓取大规模数...

  • python爬取百度贴吧

    1.对百度贴吧的任意帖子进行抓取 2.指定是否只抓取楼主发帖内容 3.将抓取到的内容分析并保存到文件

  • Python代理爬虫

    工作原理 : 基于爬虫对网络上免费的代理公布站进行抓取和分析 , 并将最近的结果保存在本地文件中 , 等待验证 ,...

  • 04_中央气象台

    简述 再次进行分析抓取气象数据练习,本节主要抓取预报气象数据。抓取数据请勿存档,商用请联系官方。 爬取对象 抓取中...

网友评论

      本文标题:记录 | 对「被引论文」进行大规模抓取和分析

      本文链接:https://www.haomeiwen.com/subject/lboubdtx.html