背景:非计算机专业的
(另:尝试过所谓的性能分析工具,奈何非科班出生,专业背景欠缺完全看不懂。。。)
最近写文章实在是头大了,又把PDF重命名的搞了下。
彻底放弃以前的思路,按照@pyder的脚本做了一下,嗯果然好用
github地址 https://github.com/LiYangChem/SciPDF_Renamer
作为给其他非科班出身的爱好者一个参考吧
1
redeemer1001 2019-10-03 20:36:42 +08:00
联网查询慢,那就多线程嘛。
B 问题,建议先检查一下硬盘是否健康…… 其实如果不是要求即时获取结果,没必要太追求程序效率,再慢挂一晚上机睡一觉起来,不都搞定了。鲁棒性更重要。 |
2
favourstreet 2019-10-03 20:54:58 +08:00
一楼就说到了多线程……再一想楼主专业背景欠缺,哎呀……
B 问题,还有可能是文件系统被塞撑到了。 多线程还不够快就多进程,去什么什么云上开他几十个虚拟机跑 |
3
7Sasuke7L 2019-10-03 21:02:48 +08:00 via Android
我一般是下载好后,自己重命名,我感觉这个项目有难度。因为有些 pdf 没有标题,或者是有些 pdf 是扫描文件,甚至有些 pdf 的标题不是你要的标题。而且你的提取会有一定的几率不准确,到头来还得自己修好不准确的部分。比如我是数学专业,有些标题会带有数学字符,这些是无法加入命名的
|
4
also24 2019-10-03 21:28:58 +08:00 via Android
问题是否可以换一个角度来解决呢?
例如写针对 ACS 网站的爬虫,这样就可以知道文件是从哪个页面下载下来的,从而补充上相应的信息。 这样有一个额外的好处是可以保证信息的准确度。 |
5
whatIsGhost 2019-10-03 21:45:40 +08:00
为什么不直接丢进 endnote 或者 zotero 来解决这个问题呢?其中 zotero 可以直接重命名文件
|
6
12345tiger OP @redeemer1001 多线程对小量的数据提升有效吗?查询返回的结果小于 10k,多线程不是对大文件才有效吗?
|
7
12345tiger OP @favourstreet 在本地 pc 上使用,搬到云端应该不行。。
|
8
12345tiger OP @7Sasuke7L 是会存在正确率的问题,大约能有 70 左右。之前也是手动自己搞,但是有时文献量有点大,而且手动重命名很难做到一直保持一直的规范
@also24 这个不太现实。。。数据库过大(千年以上,主要是 SCI 数据库),而且现在就是去 crossref.org 接口查数据库 @whatIsGhost 用过 endnote、mendeley、docear、zotero 等文献管理软件,虽然可以重命名但是需要转移到软件指定文件,丧失了原有的文件目录结构。对以上都不是很满意,就自己一直靠文件目录来管理文献,然后就想通过写入 PDF 文件的方式来存储 citation 信息。 |
9
jugelizi 2019-10-03 22:38:06 +08:00
网络消耗当然是靠多个任务同时运行(在网站未做单 IP 限速的情况下,否则就考虑代理了)
性质和爬虫是一样的 |
10
redeemer1001 2019-10-03 23:14:19 +08:00
@12345tiger 同时发起多个 Http 请求查多个文件的数据。你是不是理解成多线程下载文件了……
|
11
noqwerty 2019-10-04 01:50:48 +08:00 via Android
@12345tiger endnote 的话就不用操心这些了呀,插参考文献,管理和检索 PDF 都方便很多。感觉你这个写到最后也就是重新造了个轮子。
|
12
diggerdu 2019-10-04 02:00:13 +08:00 via iPhone
zotfile 可以直接按元信息重命名
|
13
AFuture 2019-10-04 02:02:44 +08:00 via iPhone
readcube……
|
14
pyder 2019-10-04 09:55:44 +08:00
写了个 gist: https://gist.github.com/ipudu/b72031f84a0e6cfdf6626a791f8fe380
如果文章从 ACS 这些地方下载,里面就包含了 DOI 的。 没有错误处理,对于很新的文章不适用(没有 volume, 没有 page number。。。) 放到 bash loop 里,可以改多个文章。 |
15
12345tiger OP |
16
12345tiger OP @noqwerty 谢谢推荐,endnote 的确能做到信息检索并 rename,但是需要按照 endnote 中的 group 进行分类,所有的 PDF 也会被 endnote 重新 copy 到指定目录。不知道你有没有体验过十几层的文件夹,数十个项目,数千篇文献( PDF )还有数百个 PPTword 和其他文件。。。endnote 的规则太过机械。所以迫不得已只好自己造轮子啊。。
@diggerdu 感谢推荐,只浅尝辄止试过 Zotero,zotfile 其实满足了我 80 以上的需求,但跟其他软件一样会 copy 一份新的文件到其软件目录。发现网上有一个跟我一样的想法的需求(依靠 zotfile 老版本 bug 实现?) https://forums.zotero.org/discussion/68517/zotfile-renaming-linked-files-but-not-moving-them @AFuture 感谢推荐,but readcube 好像存在同样的问题,而且当年试用 readcube 直接把我电脑卡出屎了。。 @pyder 非常非常感谢大佬的代码,只是我的需求有点复杂,而且不仅仅是 ACS 数据库的文章,其他 RSC wily 等文章没有这么直接的嵌入信息啊,大佬是化学的? |
17
pyder 2019-10-04 23:20:22 +08:00 via iPhone
rsc,wiley 这些我测试过了,都是有的,只是 just accepted 和 asap 这些不行。
|
18
pyder 2019-10-04 23:32:03 +08:00 via iPhone
@12345tiger 我是做计算的,😄
|
19
chensheng1 2019-10-04 23:36:24 +08:00 via iPad
为什么不写个脚本迁移 endnote 重命名后的 pdf ?
|
20
12345tiger OP @pyder 是我表述不严谨,rsc wiley 等大出版商的文献信息比较全,但还有些其他小出版商的杂志,或者上古时代的文献缺少内嵌的信息。想着一次全给解决了😄
|
21
12345tiger OP @chensheng1 这样的话操作应该会更复杂不适合实际使用
|