建议使用dbcode定位知网文献
Created by: MkQtS
只需dbcode/dbname和filename两个参数就能定位一篇知网文献,URL格式为:https://(www|kns|global|oversea).cnki.net/kcms/detail/detail.aspx?(dbcode|dbname)=xxx&filename=xxx
(BTW,如v
, uid
, uniplatform
之类的其他参数对用户来说是没用的,可能被用于追踪用户,建议不要留了)
知网文献包含几种类型,分别是:期刊,学术辑刊,学位论文,会议论文,报纸,年鉴,专利,案例,法律法规等。其中前6类文献都存在一个确定的dbcode,分别是CJFD, CCJD, CDMD, CIPD, CCND, CYFD,能够匹配所有属于该分类的文献。后3类我没有仔细研究过,可能也是这样的。
据我所知,不存在能够覆盖特定类型文献的dbname,同时其他知网站点文献页似乎并没有使用dbname,dbname中常见的auto, temp, 年份字样似乎也暗示dbname是dbcode的子集。
我写了一个针对知网的油猴脚本,通过提取dbcode和filename将各类知网文献页重定向到标准的海外版知网页面。以下是一些我的发现:
除去同一文献具有印刷版和非印刷版的情况,知网文献的filename应该是唯一的(也许应该将印刷版和非印刷版视为不同文献);文献类型也是唯一确定的,但可能会有多个可用的dbcode/dbname值,如dbcodeCDMD(学位论文)
对于原dbcode为CMFD(硕士学位论文)
和CDFD(博士学位论文)
的文献都是可用的,#100 (closed) 也发现了同一文献具有两个不同的可用的dbname值。
知网建立了多个子站点,不同站点会给同一篇文献套上不同的壳和下载限制。出于不明确的原因,知网还可能使用不同于前面提到的几种dbcode,直接套用标准知网文献页链接模板可能会出错,但转换成上述6种dbcode后是能正常打开文献的。另外,CCJD(辑刊)类型的文献,在其他知网站点可能使用CJFD(期刊)的链接形式,如https://www.cnki.com.cn/Article/CJFDTOTAL-ZXTG202001007.htm
,但在标准知网站点中使用CJFD是不行的。更具体的dbcode例子和转换方法,可以参考我在这里的笔记。
所以,在dbcode和dbname之间,我认为应该使用dbcode来定位知网文献。由于我不懂Zotero translator,就不写PR了。