diff --git a/CNKI Refer.js b/CNKI Refer.js index e957aff..03ba77b 100644 --- a/CNKI Refer.js +++ b/CNKI Refer.js @@ -8,7 +8,7 @@ "priority": 99, "inRepository": true, "translatorType": 1, - "lastUpdated": "2024-03-03 13:58:51" + "lastUpdated": "2024-04-27 08:48:33" } /* @@ -54,12 +54,13 @@ function detectImport() { } async function doImport() { - var record = ''; - var line; - var translator = Zotero.loadTranslator("import"); + let record = ''; + let line; + const translator = Zotero.loadTranslator("import"); // Refer/BibIX translator.setTranslator('881f60f2-0802-411a-9228-ce5f47b64c7d'); translator.setHandler('itemDone', (_obj, item) => { + const extra = new Extra(); Z.debug(item.itemType); if (/年鉴/.test(item.type)) { item.itemType = 'bookSection'; @@ -73,11 +74,13 @@ async function doImport() { item.reportType = '科技报告'; delete item.type; } + item.language = detectLanguage(record); + Z.debug(item); switch (item.itemType) { case 'conferencePaper': item.conferenceName = item.publicationTitle; delete item.publicationTitle; - extra.add('organizer', tryMatch(record, /^%\? (.*)/m, 1)); + extra.set('organizer', tryMatch(record, /^%\? (.*)/m, 1), true); break; case 'newspaperArticle': item.publicationTitle = item.publisher; @@ -97,7 +100,7 @@ async function doImport() { item.patentNumber = item.ISBN; delete item.ISBN; if (item.type && !item.type.includes('海外专利')) { - extra.add('Genre', item.type, true); + extra.set('Genre', item.type, true); } delete item.type; item.place = patentCountry(item.patentNumber); @@ -122,10 +125,14 @@ async function doImport() { case 'thesis': item.numPages = item.pages; delete item.pages; - item.university = item.publisher; + item.university = item.publisher || item.publicationTitle; delete item.publisher; + delete item.publicationTitle; if (item.type) { - item.thesisType = `${item.type}学位论文`; + // The degree theses included in CNKI are all in Chinese. + item.thesisType = item.language == 'zh-CN' + ? `${item.type}学位论文` + : `${item.type}學位論文`; delete item.type; } item.creators.forEach((creator) => { @@ -141,7 +148,7 @@ async function doImport() { item.DOI = doi; } else { - extra.add('DOI', doi, true); + extra.set('DOI', doi, true); } if (!item.url || /kcms2/i.test(item.url)) { item.url = 'https://doi.org/' + doi; @@ -149,7 +156,7 @@ async function doImport() { } if (ZU.fieldIsValidForType('pages', item.itemType) && item.pages) { item.pages = item.pages - .replace(/\d+/g, match => match.replace(/0*([1-9]\d*)/, '$1')) + .replace(/\d+/g, match => match.replace(/0*(\d+)/, '$1')) .replace(/~/g, '-').replace(/\+/g, ', '); } delete item.archiveLocation; @@ -162,8 +169,6 @@ async function doImport() { }); item.extra = extra.toString(); item.complete(); - extra.clsFields = []; - extra.elseFields = []; }); while ((line = Zotero.read()) !== false) { line = line.replace(/^\s+/, ''); @@ -196,23 +201,41 @@ async function doImport() { } } -const extra = { - clsFields: [], - elseFields: [], - add: function (key, value, cls = false) { - if (value && cls) { - this.clsFields.push([key, value]); +class Extra { + constructor() { + this.fields = []; + } + + push(key, val, csl = false) { + this.fields.push({ key: key, val: val, csl: csl }); + } + + set(key, val, csl = false) { + let target = this.fields.find(obj => new RegExp(`^${key}$`, 'i').test(obj.key)); + if (target) { + target.val = val; } - else if (value) { - this.elseFields.push([key, value]); + else { + this.push(key, val, csl); } - }, - toString: function () { - return [...this.clsFields, ...this.elseFields] - .map(entry => `${entry[0]}: ${entry[1]}`) - .join('\n'); } -}; + + get(key) { + let result = this.fields.find(obj => new RegExp(`^${key}$`, 'i').test(obj.key)); + return result + ? result.val + : ''; + } + + toString(history = '') { + this.fields = this.fields.filter(obj => obj.val); + return [ + this.fields.filter(obj => obj.csl).map(obj => `${obj.key}: ${obj.val}`).join('\n'), + history, + this.fields.filter(obj => !obj.csl).map(obj => `${obj.key}: ${obj.val}`).join('\n') + ].filter(obj => obj).join('\n'); + } +} /** * Attempts to get the part of the pattern described from the character, @@ -243,6 +266,21 @@ function patentCountry(idNumber) { }[idNumber.substring(0, 2).toUpperCase()] || ''; } +function detectLanguage(text) { + // this list is compiled from cdtym's work, see https://github.com/cdtym/digital-table-of-general-standard-chinese-characters + const traCharList = '廠兒虧與億個廣門義衛飛習馬鄉開無專藝廳區車貝岡見氣長幣僅從侖倉風烏鳳爲憶計訂認譏隊辦鄧勸雙書擊撲節厲龍滅軋東盧業舊帥歸電號嘰嘆們儀叢爾樂處鳥務馮閃蘭頭漢寧討寫讓禮訓議訊記遼邊聖對糾絲動鞏執擴掃場揚亞機權過協壓厭頁奪達夾軌堯邁畢貞師塵嚇蟲嗎嶼歲豈則剛網遷喬偉傳優傷價倫華僞會殺衆爺傘創雜負壯妝莊慶劉齊産閉問闖關燈湯興講諱軍訝許訛論訟農諷設訪訣尋導孫陣陽階陰婦媽戲觀歡買紅馱馴約級紀馳紉壽麥瑪進遠違韌運撫壞摳擾貢掄搶墳護殻塊聲報擬蕪葦蒼嚴蘆勞極楊兩麗醫勵還殲來連軒堅時縣嘔園曠圍噸郵員聽嗆嗚嶇崗帳財針釘亂體傭徹鄰腸龜猶狽條島飯飲凍狀畝庫療應這廬閏閑間悶竈燦瀝淪滄溝滬懷憂窮證啓評補識詐訴診詞譯靈層遲張際陸陳墜勁鷄緯驅純紗綱納駁縱紛紙紋紡驢紐環責現規攏揀擔頂擁勢攔擰撥擇莖樞櫃槍楓構喪畫棗賣礬礦碼厠奮態歐毆壟轟頃轉斬輪軟齒虜腎賢國暢嚨鳴羅幟嶺凱敗賬販貶購貯圖釣俠僥偵側憑僑貨質徑覓貪貧膚腫脹骯脅魚獰備飾飽飼變龐廟瘧劑廢閘鬧鄭單爐淺濘瀉潑澤憐學寶寵審實試詩誠襯視話誕詭詢該詳肅録隸陝駕參艱綫練組紳細駛織駒終駐絆駝紹繹經貫貳幫項挾撓趙擋墊擠揮薦帶繭蕩榮葷熒蔭藥標棧棟欄檸樹磚硯牽鷗殘軸輕鴉戰點臨覽竪嘗啞顯貴蝦蟻螞雖駡勛嘩響喲峽罰賤貼貽鈣鈍鈔鋼鈉鑰欽鈞鈎鈕氈氫選適倆貸順儉劍朧膽勝狹獅獨獄貿餌饒蝕餃餅巒彎將奬瘡瘋親閨聞閩閥閣養類婁總煉爍爛窪潔灑澆濁測瀏濟渾濃惱舉覺憲竊誡誣語襖誤誘誨説誦墾晝費遜隕險嬌賀壘綁絨結繞驕繪給絢駱絡絶絞駭統艷蠶頑盞撈載趕鹽損撿摯熱搗壺聶萊蓮瑩鶯檔橋樺樁樣賈礫礎顧轎較頓斃慮監緊曬曉嘮鴨暈鴦罷圓賊賄賂贜錢鉗鑽鉀鐵鈴鉛犧敵積稱筆債傾賃艦艙聳愛頒頌臍膠腦膿鴕鴛皺餓餒戀槳漿齋離資競閲煩燒燭遞濤澇渦滌潤澗漲燙澀憫寬賓竅請諸諾讀誹襪課誰調諒諄談誼懇劇難預絹綉驗繼駿瑣擲摻職蘿螢營蕭薩夢檢醖碩聾襲輔輛顱懸躍囉嘯嶄邏嬰銬鐺鋁銅銘鏟銀矯穢籠償軀釁銜盤鴿斂領臉獵餡館癢閻闡蓋斷獸鴻漸淵漁滲慚懼驚慘慣謀諜謊諧禱禍謂諺謎彈墮隨隱嬸頗頸績緒續騎綽繩維綿綳綢綜綻緑綴瓊趨攬攙擱摟攪聯蔣韓橢確頰靂暫翹輩鑿輝賞睞噴疇踐遺鵑賦賭贖賜賠鑄鋪鏈銷鎖鋤鍋銹鋒鋅鋭鵝篩儲懲釋臘魯憊饋饞裝蠻闊糞滯濕潰濺灣憤竄窩褲禪謝謡謗謙屬屢緬纜緝緞緩締縷騙編騷緣鵡攝攤鵲藍獻欖樓賴礙尷霧輻輯輸頻齡鑒蹺蝸錯錨錫鑼錘錐錦鍵鋸錳辭頽籌簡膩鵬騰鮑穎觸雛饃餾醬謄糧數滿濾濫濱灘譽窺寢謹謬縛縫纏繽贅墻藹檻釀願轄輾顆踴蠟蠅蟬賺鍬鍛鍍穩籮簫輿鮮饅瀟賽譚譜騾縮攆聰藴櫻飄黴瞞題囑鎮鎬鎊簍鯉鯽癟癱顔鯊瀾額譴鶴繚顛轍鸚贈鏡贊籃鯨癮辯瀕懶繮繳矚贍鰐辮贏驟囂鐮鰭鷹巔顫癬鱉鬢鱗躪贛鑲韋閂訃勱芻鄺訐訌訕訖馭璣壙捫薌厙釔傴倀傖獷獁鳬鄔餳懺謳詎訥紆紂紇紈璵摶塢㩳藶莧萇蓯磯奩歟軔鄴嘸囈嚦暘唄幃峴嵐圇釗釙釕僉鳩鄒飩餼飪飫飭廡癤闈閎閔煬灃漚渢潙憮慪愾悵愴詁訶詛詆謅詔詒隴陘嫵嫗嬀剄紜紕紝綸紓瑋匭壚擓蘢蔦塋煢櫪梘棖樅碭甌郟軛鳶曇蟣黽嚀噝巋劌剴嶧釷釺釧釩釹釵儈儕儂劊慫糴戧膞邇梟餞飴癘瘍煒熰熗瀧瀘濼涇㥮懌誆誄詿詰詼鄆禕誅詵詬詮詣諍詫諢詡駑紺紲紱駟駙縐絀驛駘瓏頇埡撾撻賁壋撏莢貰蓽蕎薈薺堊滎犖蕁藎蓀蕒葤櫛櫳櫨櫟檉酈硨碸殤軲軻轤軼軫蠆覘瞘嘵嗶噦剮鄖噲噥嶢幀嶠貺鈈鈦鋇鈑鈐鎢鈁鈀篤儔儼儷腖臚脛鴇獪颮猻餉餄餎孿孌癧瘲颯闥閭闓閡熾烴浹澮滸潯濜慟懨愷惻惲誚禰誥誑鴆婭嬈懟絝驍驊絎絳駢頊璫琿塒塤堝贄蒔萵蕕鴣蒓橈楨榿檜邐礪礱軾輊輅鶇躉齔鸕矓嘜鴞蜆嗩嶗崍覬賅鈺鉦鈷鉢鈸鉞鉭鉬鈿鈾鉑鑠鉚鈰鉉鉈鉍鈮鈹鏺鐸氬筧頎徠膾鴟璽鴝獫裊餑欒攣癰痙頏閫鬮誾閬鄲燁燴燼淶漣潿慳諏諑禎諉諛諗諂誶媧嫻綆驪綃騁綏縧綈駸鷥燾璉麩擄摑鷙撣慤摜縈槤覡欞嗇匱硤磽鴯龔殞殮賚輒塹嘖囀嚙蹌蠣蠱蟶幘幗賕賑賒銠鉺鋏鐃銦鎧鍘銖銑鋌鏵銓鎩鉿銚鉻錚銫鉸銥銃銨銣鴰穠箋籩僨僂皚鴴艫龕玀獼餜餛鸞闍閾閹閶鬩閽閼羥糲燜漬瀆澠愜憚諶諫皸謔襠謁諤諭諼讒諳諦諞糶嬋綾騏綺緋緔騍緄騅綬綹綣綰驂緇靚輦黿頡撳蟄壪蔞櫝欏賫鵓鸝殫輥輞槧輟輜瞼躒蛺蟯螄蠐嘍嶸嶁賧鋙錸鏗鋥鋰鋯鋨銼鐧銻鋃鋦錒犢鵠篳牘儻儐儺嬃頜鵒魷魨魴潁颶觴熲餷餿褻臠癆癇賡頦鷳闌闃闋鵜憒嚳謨褳襇讜謖謚謐騭巰翬騖緙緗緘緹緲緦緱縋緡饗耮驁韞攄擯轂驀鶓薊蘺鎣頤櫚櫸磧磣鵪輳齟齙韙囁躂蹕躚躋噯鍺錛錡鍀錁錕錮鍁錈錠錙覦頷鮁鮃鮎鱸穌鮒鮐鵮颼饈鶉瘮闔闐闕灧瀅潷灤澦懾鱟騫竇謾謫嬡嬪縉縝縟轡騮縞縭縊縑騸覯韜靉攖薔藺鶘檳櫧釅殯霽轅齜齦瞜曖躊蟈鶚嚶羆賻罌鶻鍥鍇鍶鍔鍤鏘鎂鏤簀篋簞籙臏鮭鮪鱭鮫鱘饉鑾瘻闞鮝糝鷀瀲濰譖褸譙讕譎鶥嬙鶩驃縹縵縲纓驄繆繅耬瓔擷擼攛聵覲韃鞽蘄賾檣靨魘饜轆齬齪覷顒躓躑蠑螻顎嚕顓鑷鎘鎸鎳鎦鎰鎵鑌簣鷂鯁鱺鰱鰹鰣鯀鯇觶饊饌齏讞襤譫屨纈繕繒驏擻顳顢藪櫓櫞贋飆鏨轔蟎鐯鏢鏜鏝鏰鏞鏑鏃鏐氌穡魎鯪鯡鯤鯧鯝鯢鯛鯔獺鷓贇癭斕瀨顙繾繰繯蘚鷯齲齷躡蹣羈鐔鐝鐐鐓鑭鑹鏹鐙籪鷦鱝鰈鯷鰓鰍鰉鯿鷲懣鷸鰲韉顥鷺䴉髏鑊鐳鐲讎鰨鰥鰩癩攢靄躥髖髕鑔籟鰳鰾鱈鰻鱅讖驥纘瓚鼉黷黲鑣鑞臢鱖鱔鱒驤顰鱧癲灝鸛鑱趲顴躦饢戇戔訏訒釓俔閆澫訢訩詝紃纊瑒剗塸壢埨撝蔿榪軑軏咼㠣覎㑳颺閌潕湋澐浿諓禡詗詘詖屓彄紘馹馼紵紞駃紖瑲棡軝暐晛崬釴釤鍆鍚鄶獮飿嶨詷詪鄩鳲隑隮娙逕駓駔駉絅騶䮄紼紿瓅韍墶塏薘蕘蔄葒鳾龑軹軤轢軺睍曨噠鈃鈇鉅鋹釿錀鈧鈥鈄倈艤鶬颭餏湞溮滻褘絰駰絪駪綎綖驫勣璕𡑍䓣薟藭椏梜頍硜輄輈輇貲嗊曄暉鄳幬輋嶮贐鉥鉕鑪鉮鉊鉧僤鴒魛餗燖溳礐窵襏駼絺綌騂綄璡墠壼聹蘀勩罃檮棶厴䃮磑礄鴷齕頔蝀嘽鉶銈鉷銪鐽鋮鋣銍銱銩鐋鵂鵃貙腡魢廎鵁閿漍璗諲諴褌諟謏諝隤嫿綪綝騑騊綯綡綧驌騄縶塿蕆蕢櫍鵐鵏醱覿讋輗輬齗齘嵽嶔翽顗贔賙䥑鐒𨧀鋱銶鋗鋝鋶鐦鋐鋟頲簹頫膕頠䰾鵟餶廞闉燀濆濚漊斆襝毿騞騠緼線騤鶄赬蕷櫬醲磾輼輶輮齠鵾賵錆錤鍩鍈鑕鍃錞錇錟𨨏穇篢篔鵯鮋鮓鮊鮣鮈鮀鮍颸膢饁癉鶊闒闑灄襀謭鷫頵騵騱縗璊璦蘞檟欓鶠釃𥗽鮆鶪鶡鎝鎪鍠鍭鍰鎄鎡鐨鎇鶖籜鮚鮞鰤鮦鰂鮜鱠鮡鮠鮟飀鸑瘞鮺瀠窶譓縯麴靆鷊憖螮鏌鎛钂鎿鎓鎔鷉鶲鮸鰷鮶鯒鶹鶺鷁鶼瀂鶱譞驎豶䡵齮齯鹺巘鏏鐄䥕籛鯖鯕鯫鯴鰺饘嚲鷟黌鷚繶瓛蠨㘚𨭎鏷𨭆鐇鑥鐠鏻鐏鐩鐍鷭鰆鯻鰏鰊鱨鰛鰃鰁鱂襴鱀繻纁鬹虉鸏黶鐶鐿酇鰧鰟鰜鸌鸇囅鸊纆鰵鰶鱇䲁鰼彠顬鱚驦纕齼鱯鱤鱣鸘䲘鱲蔔幾幹纔萬韆豐雲歷曆僕鬥醜術葉衹隻鼕饑飢匯彙齣發髮臺颱檯樸誇劃當噹籲麯團糰迴硃嚮後閤衝盡儘纖縴壇罎壩垻摺蘇囌滷鹵裏睏彆餘穀係繫瀋錶範闆鬆鬱製颳捨捲簾彌瀰鬍鹹麵鐘鍾種鞦復複須鬚薑獲穫惡噁緻黨臟髒準癥塗傢據纍鏇澱築禦擺襬濛懞矇簽籤灕闢衊籬蕓蘋薴'; + let traCount = 0; + for (const char of text) { + if (traCharList.includes(char)) traCount++; + } + return /[\u4e00-\u9fff]/.test(text) + // conservative estimation + ? traCount / (text.match(/[\u4e00-\u9fff]/g) || []).length > 0.05 + ? 'zh-TW' + : 'zh-CN' + : 'en-US'; +} + /** BEGIN TEST CASES **/ var testCases = [ { @@ -293,6 +331,7 @@ var testCases = [ "DOI": "10.13386/j.issn1002-0306.2023090315", "ISSN": "1002-0306", "abstractNote": "目的:以黄芪为原料,采用复合酶法(木瓜蛋白酶、果胶酶、纤维素酶)提取黄芪多糖(Astragalus polysaccharides, APS),并分析工艺条件对多糖提取的影响。方法:在正交实验确定复合酶比例的基础上,采用响应面法对复合酶提取APS的提取条件进行优化,得到最优工艺条件,采用pNPG法评价其α-葡萄糖苷酶抑制活性。结果:得到最佳复合酶配比为:木瓜蛋白酶17 600 U/g、果胶酶13 000 U/g、纤维素酶1 200 U/g;最佳酶解提取条件为:酶解处理时间、温度、pH值、料液比和分别为2.5 h、60 ℃、5.0和1∶35 g/mL,APS的得率最高可达23.59%±0.14%;APS对α-葡萄糖苷酶的半数抑制浓度(IC_(50))为7.42 μg/mL。结论:复合酶提取APS的得率较单酶得率显著提高,APS对α-葡萄糖苷酶表现出较强的抑制作用。", + "language": "zh-CN", "pages": "1-15", "publicationTitle": "食品工业科技", "url": "https://link.cnki.net/doi/10.13386/j.issn1002-0306.2023090315", @@ -348,6 +387,7 @@ var testCases = [ ], "date": "2014", "abstractNote": "车前子定义为车前(Plantago asiatica L.,又称大粒车前)或平车前(Plantagodepressa Willd.)的干燥成熟种子,是传统中医用药之一。本文以江西吉安产大粒车前子为研究对象,研究车前子多糖体内外消化过程和酵解方式,及其对肠道功能的提升作用。首先通过体外研究,建立人体胃肠道消化酵解模拟系统,研究大粒车前子多糖在口腔及胃肠道中的消化过程和在人体粪便菌群中的酵解方式;模拟和探讨大粒车前子多糖肠道功能。再利用体内实验,研究车前子多糖在小鼠体内的酵解方式及其对结肠功能指标的影响,以及物理加工方式对车前子多糖肠道生理活性的影响;与此同时分析车前子多糖对小鼠体内相关肠道生理指标及菌群的影响,最后进一步通过结肠炎小鼠模型探讨车前子多糖对模型小鼠肠道功能的作用。主要研究结论如下: 1.通过体外模拟口腔唾液,胃部和小肠消化实验研究车前子多糖的消化过程,结果发现唾液淀粉酶对车前子多糖相对分子质量没有影响,而在胃肠道消化过程中多糖受到影响。在模拟的胃、小肠消化体系中,多糖的相对分子质量发生改变,从(1,903.1±93.0) x103降低为(4.7±0.2) x103,还原糖含量从0.157±0.009mM增加为0.622±0.026mM,这表明车前子多糖相对分子质量的降低是由于糖苷键的断裂。同时,在整个模拟的消化过程中,没有检测到游离单糖,表明车前子多糖在模拟胃肠消化过程中没有产生游离单糖。这些结果能为车前子多糖的体外消化提供一些信息,并能其他多糖的消化提供参考。 2.探讨了大粒车前子多糖体外酵解及其碳水化合物对酵解发挥的作用。车前子多糖在体外由人体粪便培养物进行酵解24h。在酵解过程中,粪便培养物的pH由6.1降为5.1,总短链脂肪酸(SCFA)、乙酸、丙酸和正丁酸的含量均显著增加。车前子多糖主要由木糖,阿拉伯糖及半乳糖醛酸组成,因此在酵解过程中,木聚糖酶、阿拉伯呋喃糖酶、木糖苷酶和葡萄糖醛酸酶的活性也都增加。酵解24h后,多糖中47.2±1.6%总碳水化合物被消耗,这其中包括阿拉伯糖(消耗42.9±1.5%)、木糖(消耗53.2±1.6%)和葡萄糖醛酸(消耗76.4±1.2%)。同时,探讨了多糖中碳水化合物的消耗与SCFA的产量间的关系。研究发现,乙酸和正丁酸的增加主要是由于多糖中葡萄糖醛酸和木糖的发酵,而丙酸的增加则主要是由于阿拉伯糖和木糖的酵解。这些结果提示车前子多糖对大肠健康的...", + "language": "zh-CN", "thesisType": "博士学位论文", "university": "南昌大学", "url": "https://kns.cnki.net/kcms2/article/abstract?v=4j1cDaxzFAmdwuJtF5GSSwTOh5DKQ-XggUo-CCpRcTPMhoiSAivy3RnBKYbaqRTkr4-d_IUr08W2aLDa-BQRYeJ24AF2aHeXN6NIm5fNtC__q9M2RmhG37On8MDDm4Cr0-9hk46u0EdKeUVLUcR6qw==&uniplatform=NZKPT&language=CHS", @@ -411,6 +451,7 @@ var testCases = [ "abstractNote": "黄芪作为传统中药,具有广泛的药用价值,有\"补药之长\"之称。国内外学者对黄芪的主要成分物质做了大量药学研究工作。本文通过查阅大量文献资料,综述黄芪的主要成分中的黄芪皂苷、多糖、黄酮、微量元素等主要成分与其在机体各个系统中的药理作用。", "conferenceName": "2013年中国药学大会暨第十三届中国药师周", "extra": "organizer: 中国药学会", + "language": "zh-CN", "pages": "5, 269-273", "place": "中国广西南宁", "url": "https://kns.cnki.net/kcms2/article/abstract?v=4j1cDaxzFAkMiAqWOVcpkQSu-qVXhwVyhTfACjn3pLUOszWG3nZTLCFArFj5jtkbXHb5JPSODn-hWuOi9Y4U-tyyQ2jmyseCnWcvIAA9YNZ0R3OrcVWIGLIrJWHAiH4lM-pZr7YS1PAOEvXXmfrUnA==&uniplatform=NZKPT&language=CHS", @@ -453,6 +494,7 @@ var testCases = [ "issueDate": "2023-05-16", "abstractNote": "Provided is a font generating method including generating an intermediate code by adding attributes for METAFONT to code of an outline font, generating a font in the METAFONT by parsing the intermediate code, hierarchizing the font into a whole set representing a whole of a character and a partial set representing a part of the character, and changing a style of the font according to a relational equation representing a relationship between the whole set and the partial set.", "country": "美国", + "language": "zh-CN", "patentNumber": "US11651140", "place": "美国", "attachments": [], @@ -471,9 +513,9 @@ var testCases = [ "title": "船舶及海洋工程用不锈钢复合钢板", "creators": [], "date": "2023-09-07", + "language": "zh-CN", "numPages": "12", "number": "GB/T 43109—2023", - "type": "国家标准", "url": "https://kns.cnki.net/kcms2/article/abstract?v=4j1cDaxzFAkUKsKELQcXk35ZPv_FR6EQU9GhJgKt5MR1sJc3EaGeSopmhS9vO3xi9S3AFOQO3Xu9nnSXHay_VmuFMZyVXGEWwfvPLpIq_bH75z4-MZuOvehDd7XuulOVmkprVcTe494=&uniplatform=NZKPT&language=CHS", "attachments": [], "tags": [ @@ -503,6 +545,7 @@ var testCases = [ ], "date": "2023-09-21", "extra": "DOI: 10.28502/n.cnki.nkjrb.2023.005521", + "language": "zh-CN", "pages": "4", "publicationTitle": "科技日报", "url": "https://doi.org/10.28502/n.cnki.nkjrb.2023.005521", @@ -523,6 +566,7 @@ var testCases = [ "creators": [], "date": "1995-01-01", "ISBN": "7203035204", + "language": "zh-CN", "pages": "156", "url": "https://kns.cnki.net/kcms2/article/abstract?v=-0THPtffOh3X1yaBBkMCatOnpdIbXJHtXHguzwTx01Y6HcO47AM_4NtZTLG5xc3LMzdrpeqNtRpqXaU4SJjePUAmSn1Qn5RzEMWSZ3-X2m2Z_rZhKom6PuDEwAyQQGSUjNIdjX8RAmr4PlceakIM7Q==&uniplatform=NZKPT&language=CHS", "attachments": [], @@ -535,6 +579,49 @@ var testCases = [ "seeAlso": [] } ] + }, + { + "type": "import", + "input": "%0 Thesis\r\n%A 潘福妮\r\n%T 中西方高校人文教育的比較研究\r\n%Y 董鋒\r\n%I 大連理工大學\r\n%9 碩士\r\n%D 2006\r\n%K 中西方高校;人文教育;比較\r\n%X 隨著上個世紀70年代中期西方大學興起人文教育的“復歸”,人文教育逐漸成為當今世界高等教育改革與發展一個熱點。中國高校在人文教育的諸多方面,尤其是在人文教育的理念和方式方法等方面已經落后,并與西方高校形成了較為明顯的差距。論文以此為切入點,闡述了中西方高校人文教育各自發展的情況,并通過相互比較,找出中西方高校人文教育中存在的共性和差異,去其糟粕,取其精華,為構建有中國特色的人文教育體系提供有益的啟示與借鑒。\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n 論文第一部分說明了研究的目的,研究的理論意義與實踐意義,介紹了論文的大致內容和文獻法、資料處理法、比較法、社會調查法等研究方法。論文第二部分對人文教育的基本理論做了一個概述,通過對人文教育的內涵、特點與價值的界定,為本研究打下理論基礎。論文第三部分也是最重要的部分,通過各種研究方法對中西方高校人文教育在教育背景、教育目標、教育內容、人文課程、教育途徑與方法進行比較,指出中國高校人文教育在這幾方面的差距,主要包括人文教育的環境不夠成熟;對人文教育目標的理解不夠明確;德育教育進行得不夠到位:人文學科課程在全部課程中所占的比重不夠,在內容設置上比較隨意,人文性與科學性結合程度不夠,人文教育與專業教育的結合程度不夠;教學方法需要改進等等。論文的最后部分是結論部分,針對上述種種不足,西方國家高校人文教育的一些做法與經驗為中國高校提供了有益的啟示,如政府出臺支持性的政策與文件;在追求個性發展的同時實現個人價值與社會價值的統一;要加強德育教育;人文課程注重民族性與國際性相結合,注重科學性與人文性相結合,同時人文課程應與其它專業相互融合;改進教學方法等。\r\n%W CNKI\r\n\r\n", + "items": [ + { + "itemType": "thesis", + "title": "中西方高校人文教育的比較研究", + "creators": [ + { + "firstName": "", + "lastName": "潘福妮", + "creatorType": "author", + "fieldMode": 1 + }, + { + "firstName": "", + "lastName": "董鋒", + "creatorType": "contributor", + "fieldMode": 1 + } + ], + "date": "2006", + "abstractNote": "隨著上個世紀70年代中期西方大學興起人文教育的“復歸”,人文教育逐漸成為當今世界高等教育改革與發展一個熱點。中國高校在人文教育的諸多方面,尤其是在人文教育的理念和方式方法等方面已經落后,并與西方高校形成了較為明顯的差距。論文以此為切入點,闡述了中西方高校人文教育各自發展的情況,并通過相互比較,找出中西方高校人文教育中存在的共性和差異,去其糟粕,取其精華,為構建有中國特色的人文教育體系提供有益的啟示與借鑒。\n論文第一部分說明了研究的目的,研究的理論意義與實踐意義,介紹了論文的大致內容和文獻法、資料處理法、比較法、社會調查法等研究方法。論文第二部分對人文教育的基本理論做了一個概述,通過對人文教育的內涵、特點與價值的界定,為本研究打下理論基礎。論文第三部分也是最重要的部分,通過各種研究方法對中西方高校人文教育在教育背景、教育目標、教育內容、人文課程、教育途徑與方法進行比較,指出中國高校人文教育在這幾方面的差距,主要包括人文教育的環境不夠成熟;對人文教育目標的理解不夠明確;德育教育進行得不夠到位:人文學科課程在全部課程中所占的比重不夠,在內容設置上比較隨意,人文性與科學性結合程度不夠,人文教育與專業教育的結合程度不夠;教學方法需要改進等等。論文的最后部分是結論部分,針對上述種種不足,西方國家高校人文教育的一些做法與經驗為中國高校提供了有益的啟示,如政府出臺支持性的政策與文件;在追求個性發展的同時實現個人價值與社會價值的統一;要加強德育教育;人文課程注重民族性與國際性相結合,注重科學性與人文性相結合,同時人文課程應與其它專業相互融合;改進教學方法等。", + "language": "zh-TW", + "thesisType": "碩士學位論文", + "university": "大連理工大學", + "attachments": [], + "tags": [ + { + "tag": "中西方高校" + }, + { + "tag": "人文教育" + }, + { + "tag": "比較" + } + ], + "notes": [], + "seeAlso": [] + } + ] } ] /** END TEST CASES **/ diff --git a/CNKI.js b/CNKI.js index 177d070..468267e 100644 --- a/CNKI.js +++ b/CNKI.js @@ -9,7 +9,7 @@ "inRepository": true, "translatorType": 12, "browserSupport": "gcsibv", - "lastUpdated": "2024-04-13 13:49:45" + "lastUpdated": "2024-04-27 09:23:16" } /* @@ -66,7 +66,8 @@ function filterQuery(items) { async function doSearch(items) { for (let doi of filterQuery(items)) { - let url = `https://doi.org/${encodeURIComponent(doi)}`; + // 仅在国内有效 + let url = `https://link.cnki.net/doi/${encodeURIComponent(doi)}`; Z.debug(`search url: ${url}`); let doc = await requestDocument(url); // Z.debug(doc); @@ -231,7 +232,7 @@ class ID { } function detectWeb(doc, url) { - Z.debug('---------------- CNKI 2024-04-13 21:48:08 ------------------'); + Z.debug('---------------- CNKI 2024-04-27 17:29:54 ------------------'); let ids = new ID(doc, url); Z.debug('detect ids:'); Z.debug(ids); @@ -505,7 +506,7 @@ async function scrape(doc, itemKey = { url: '', cite: '', cookieName: '', downlo cs.typeKey = text(doc, '.top-tip-scholar > span:first-child'); await cs.scrape(doc, url); } - else if (ids.toItemtype() == 'videoRecording') { + else if (ids.toItemtype() == 'videoRecording' || /^https:\/\/oversea\.cnki\.net/i.test(url)) { await scrapeDoc(doc, itemKey); } else if (url.includes('thinker.cnki')) { @@ -1872,90 +1873,50 @@ var testCases = [ { "type": "search", "input": { - "DOI": "10.13801/j.cnki.fhclxb.20240008.002" + "DOI": "10.19655/j.cnki.1005-4642.2020.09.009" }, "items": [ { "itemType": "journalArticle", - "title": "Ag量子点协同四环素的抑菌及其机制研究", + "title": "特斯拉阀性能的仿真研究", "creators": [ { "firstName": "", - "lastName": "郭少波", + "lastName": "周润中", "creatorType": "author", "fieldMode": 1 }, { "firstName": "", - "lastName": "陈惠惠", + "lastName": "乔宇杰", "creatorType": "author", "fieldMode": 1 }, { "firstName": "", - "lastName": "刘珂", + "lastName": "张钰翔", "creatorType": "author", "fieldMode": 1 }, { "firstName": "", - "lastName": "胡瑞玲", - "creatorType": "author", - "fieldMode": 1 - }, - { - "firstName": "", - "lastName": "王嘉伟", - "creatorType": "author", - "fieldMode": 1 - }, - { - "firstName": "", - "lastName": "余凡", - "creatorType": "author", - "fieldMode": 1 - }, - { - "firstName": "", - "lastName": "刘智峰", - "creatorType": "author", - "fieldMode": 1 - }, - { - "firstName": "", - "lastName": "史娟", - "creatorType": "author", - "fieldMode": 1 - }, - { - "firstName": "", - "lastName": "郭婷", - "creatorType": "author", - "fieldMode": 1 - }, - { - "firstName": "", - "lastName": "季晓晖", - "creatorType": "author", - "fieldMode": 1 - }, - { - "firstName": "", - "lastName": "张田雷", + "lastName": "代珍兵", "creatorType": "author", "fieldMode": 1 } ], - "date": "2024-01-09", - "DOI": "10.13801/j.cnki.fhclxb.20240008.002", - "ISSN": "1000-3851", - "abstractNote": "四环素类抗生素因具有高效、低毒、广谱抑菌性等优点而被广泛使用,但随着抗生素的滥用致使大量的耐药菌出现,使四环素类抗生素的药用价值逐渐降低。超小粒径的纳米Ag虽可使细菌甚至耐药菌失活,但单独使用毒性较强,且易团聚。为此,本研究利用Ag的d轨道为满电子结构,可与供电子基团配位的原理,设计了核壳型介孔Fe3O4@SiO2@mTiO2@Ag-四环素(FSmTA-T)复合材料用以解决抗生素耐药和纳米Ag团聚、强毒性问题。研究结果显示,制备的复合材料中纳米Ag量子点的粒径约为2.84 nm,可与四环素环3中的羰基键合,同时,相比四环素,复合材料对大肠杆菌,金黄色葡萄球菌,耐四环素沙门氏菌和白色念珠菌均具有较高的抑菌活性,并可有效破坏细菌细胞壁而使其死亡,且对哺乳细胞的毒性降低为原来的1/3。因此,其优越的抑菌活性可应用于污水处理领域。", - "extra": "original-container-title: Acta Materiae Compositae Sinica\nStatus: advance online publication\nfoundation: 秦巴生物资源与生态环境国家重点实验室科研基金(SXS-2105); 陕西省教育厅项目(22JK-0317); 陕西省自然科学基金(2023-JC-QN-0162; 2023-YBSF-334); 陕西理工大学基础研究基金(SLGKYXM2208);\ndownload: 139\nalbum: 工程科技Ⅰ辑\nCLC: X703;TB332\nCNKICite: 0\ndbcode: CAPJ\ndbname: CAPJLAST\nfilename: FUHE20240104001\npublicationTag: 北大核心, CA, JST, Pж(AJ), EI, CSCD, WJCI, 卓越期刊\nCIF: 2.595\nAIF: 1.788", + "date": "2020", + "DOI": "10.19655/j.cnki.1005-4642.2020.09.009", + "ISSN": "1005-4642", + "abstractNote": "通过CAD软件建立几何模型,通过COMSOL软件建立数值模型并求解,与实验结果进行对比,并通过数值模拟讨论相关参量对阀门单向流通性的影响.研究结果表明:特斯拉阀门适用于低粘度高密度流体;本文所设计的特斯拉阀门在四阀门情况下dedicatee数能达到3.414;单阀门特斯拉阀的性能相较于多阀门更佳.", + "extra": "original-container-title: Physics Experimentation\ndownload: 1974\nalbum: 基础科学;工程科技Ⅱ辑\nCLC: TH134\nCNKICite: 13\ndbcode: CJFQ\ndbname: CJFDLAST2020\nfilename: WLSL202009009\npublicationTag: JST\nCIF: 0.755\nAIF: 0.562", + "issue": "9", "language": "zh-CN", "libraryCatalog": "CNKI", - "pages": "1-14", - "publicationTitle": "复合材料学报", - "url": "https://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CAPJ&dbname=CAPJLAST&filename=FUHE20240104001", + "pages": "44-50", + "publicationTitle": "物理实验", + "url": "https://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CJFQ&dbname=CJFDLAST2020&filename=WLSL202009009", + "volume": "40", "attachments": [ { "title": "Full Text PDF", @@ -1964,22 +1925,16 @@ var testCases = [ ], "tags": [ { - "tag": "Ag量子点" - }, - { - "tag": "四环素" - }, - { - "tag": "抑菌" + "tag": "diodicity数" }, { - "tag": "抑菌机制" + "tag": "数值模拟" }, { - "tag": "纳米复合材料" + "tag": "特斯拉阀" }, { - "tag": "耐药" + "tag": "阀门性能" } ], "notes": [],