Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update WePu.js #350

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Update WePu.js #350

wants to merge 3 commits into from

Conversation

jiaojiaodubai
Copy link
Collaborator

@jiaojiaodubai jiaojiaodubai commented Jun 13, 2024

@jiaojiaodubai jiaojiaodubai self-assigned this Jun 13, 2024
@jiaojiaodubai jiaojiaodubai linked an issue Jun 13, 2024 that may be closed by this pull request
3 tasks
@jiaojiaodubai
Copy link
Collaborator Author

@yfdyh000 新版已经上传,新旧两版都需要继续完善附件下载的代码。

@doubanchan
Copy link

doubanchan commented Jun 16, 2024

@jiaojiaodubai
这篇Weipu V3期刊文章,似乎抓的是DOI标识符对应的CNKI的信息。是不是优先匹配 #347 的DOI了。

@jiaojiaodubai
Copy link
Collaborator Author

似乎抓的是DOI标识符对应的CNKI的信息。是不是优先匹配 #347 的DOI了。

实际上,CNKI.js 的 DOI 支持早已在 0e11406 完成,但是后来见到一些中文 DOI 的样本不指向知网,因此我想做一个专门提供中文 DOI 检索的转换器用于判断中转页面并分发到合适的转换器。

有 DOI 时优先使用 DOI 抓取,这是通行的做法,因为 DOI 往往可以链接到原始的发布位置,从而由出版商页面的转换器获取更详细的一手信息。

@doubanchan
Copy link

CNKI DOI页面,可能需要和 #347 一块完善。另外,这种DOI解析要是能提交到官方合并到官方仓库就好了,官方仓库对于中文DOI解析支持得不好。

@jiaojiaodubai
Copy link
Collaborator Author

CNKI DOI页面,可能需要和 #347 一块完善。

是的,有些 DOI 还指向万方或万方医学,因此现在把中文 DOI 抓取写到 CNKI.js 是不够的,应该独立出来,#343 正是为解决这一问题而提出的。

另外,这种DOI解析要是能提交到官方合并到官方仓库就好了,官方仓库对于中文DOI解析支持得不好。

最适合提交到 DOI Content Negotiation.js,但这里存在一点阻碍。

能搜索 DOI 的前提是写出 DOI 目标地址的 translator。如你所知,web translator 使用元数据中的 target 属性检测 URL,以此判断有哪些 translator 可以使用,而挂载 VPN 会影响 URL 进而有可能使 target 的正则表达式匹配失败,为此我们为 CNKI.js 使用了较为宽松的正则表达式,但官方仓库似乎不欢迎这样的写法,他们希望 target 写得更具体(见 #PR 3294),在大多数用户掌握设置 Connector 代理之前,提交到官方仓库的 CNKI.js 和当前仓库的版本将始终存 target 的差异。

不过目前,在大多数中文用户都安装茉莉花且更新了本仓库转换器的前提下,他们可以正常使用魔法棒来搜索知网的某些 DOI。

@doubanchan
Copy link

发现在 #59 中提出个这个问题。

@jiaojiaodubai
Copy link
Collaborator Author

知网的应该没有问题,但是万方网页的数据是通过 protobuff 异步加载的,而 protobuff 需要依赖第三方库进行解析……直到现在仍是一个难点,我们将来可能需要将最少必需的有关代码迁移到它的 translator 中。

@jiaojiaodubai
Copy link
Collaborator Author

jiaojiaodubai commented Jun 25, 2024

在本地运行

npm run lint -- "WeiPu.js"

没有发现问题,可能存在延迟。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CQVIP域名
2 participants