diff --git a/data/doi-vol1-50.txt b/data/doi-vol1-50.txt new file mode 100644 index 0000000..4ba584b --- /dev/null +++ b/data/doi-vol1-50.txt @@ -0,0 +1,50 @@ +10-1038/nclimate2246 +10.1002/(SICI)1097-0088(19971115)17:13<1433::AID-JOC203>3.0.CO;2-P +10.1002/2012GL053964 +10.1002/2012WR013209 +10.1002/2013ef000162 +10.1002/2013ef000180 +10.1002/2013EF000205 +10.1002/2013EO460005 +10.1002/2013GB004679 +10.1002/2013GB004739 +10.1002/2013GL057188 +10.1002/2013GL057694 +10.1002/2013GL057729 +10.1002/2013GL057775 +10.1002/2013GL057952 +10.1002/2013GL058051 +10.1002/2013GL058085 +10.1002/2013GL058088 +10.1002/2013GL058118 +10.1002/2013GL058183 +10.1002/2013GL058352 +10.1002/2013GL058454 +10.1002/2013GL058466 +10.1002/2013GL058480 +10.1002/2013GL058499 +10.1002/2013GL058504 +10.1002/2013GL058511 +10.1002/2013GL058653 +10.1002/2013GL058705 +10.1002/2013GL058715 +10.1002/2013GL058745 +10.1002/2013GL058799 +10.1002/2013GL058818 +10.1002/2013GL058951 +10.1002/2013GL058955 +10.1002/2013GL058998 +10.1002/2013GL058999 +10.1002/2013GL059076 +10.1002/2013GL059079 +10.1002/2013GL059099 +10.1002/2013GL059160 +10.1002/2013JC009067 +10.1002/2013JC009071 +10.1002/2013JC009189 +10.1002/2013JC009511 +10.1002/2013JC009589 +10.1002/2013JD019945 +10.1002/2013JD020062 +10.1002/2013JD020184 +10.1002/2013JD020429 diff --git a/harvest-from-doi.ini b/harvest-from-doi.ini new file mode 100644 index 0000000..1066b10 --- /dev/null +++ b/harvest-from-doi.ini @@ -0,0 +1,60 @@ +; Usage: npx ezs harvest-from-doi.ini < data/doi-vol1-50.txt + +; Inspiré de https://gitbucket.inist.fr/tdm/web-services/blob/master/biblio-tools/v1/wos/works/expand.ini + +[use] +plugin = @ezs/basics +plugin = @ezs/analytics + +# Flow configuration +[TXTParse] + +[env] +; Maximum 90 (théoriquement 100, mais un DOI peut renvoyer plusieurs notices) +path = size +value = 10 + +path = indent +value = true + +path = token +value = env('WOS_API_KEY') + +[replace] +path = value +value = toLower() + +[group] +size = env('size') + +[replace] +path = dois +value = self().map('value').filter(Boolean).map(x => JSON.stringify(x)).join(' OR ') + +[replace] +path = usrQuery +value = fix('DO=(', self.dois ,')').join('') + +path = databaseId +value = WOK + +path = count +value = env('size') + +path = firstRecord +value = 1 + +# Maximum 3 requests by second +[throttle] +bySecond = 1 + +[URLStream] +url = https://wos-api.clarivate.com/api/wos/ +header = env('token').prepend('X-ApiKey:') +path = Data.Records.records.REC.* +timeout = 50000 +noerror = true +retries = 1 + +[dump] +indent = env('indent')