l0o0 / translators_CN

Zotero translator中文网页抓取翻译器🎉This is Zotero translators for Chinese Sites(beta), not the official Zotero repo
GNU Affero General Public License v3.0
4.03k stars 523 forks source link

国家标准信息公共服务平台无法抓取 #297

Closed lychichem closed 7 months ago

lychichem commented 7 months ago

你遇到了什么问题? [必填]

发生问题的链接 [必填] https://std.samr.gov.cn/gb/search/gbDetailed?id=71F772D7CBAAD3A7E05397BE0A0AB82A

问题描述 [必填] 报错如下: image

你的预期结果 应能正常使用此转换器保存 浏览器

自查清单

附件 如Connector报错记录(建议粘贴代码格式): Connector的报错记录

[JavaScript Error: "cells is not defined
ReferenceError: cells is not defined
    at new CellLabels (eval at <anonymous> (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/inject/sandboxManager.js:63:4), <anonymous>:127:15)
    at scrape (eval at <anonymous> (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/inject/sandboxManager.js:63:4), <anonymous>:79:15)
    at doWeb (eval at <anonymous> (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/inject/sandboxManager.js:63:4), <anonymous>:73:9)
    at Zotero.Translate.Web.rest (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/translate/translation/translate.js:1340:49)
    at chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/translate/translation/translate.js:1325:39" {file: "[object Object]"}]

[JavaScript Error: "cells is not defined
ReferenceError: cells is not defined
    at new CellLabels (eval at <anonymous> (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/inject/sandboxManager.js:63:4), <anonymous>:127:15)
    at scrape (eval at <anonymous> (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/inject/sandboxManager.js:63:4), <anonymous>:79:15)
    at doWeb (eval at <anonymous> (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/inject/sandboxManager.js:63:4), <anonymous>:73:9)
    at Zotero.Translate.Web.rest (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/translate/translation/translate.js:1340:49)
    at chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/translate/translation/translate.js:1325:39" {file: "[object Object]"}]

[JavaScript Error: "cells is not defined
ReferenceError: cells is not defined
    at new CellLabels (eval at <anonymous> (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/inject/sandboxManager.js:63:4), <anonymous>:127:15)
    at scrape (eval at <anonymous> (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/inject/sandboxManager.js:63:4), <anonymous>:79:15)
    at doWeb (eval at <anonymous> (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/inject/sandboxManager.js:63:4), <anonymous>:73:9)
    at Zotero.Translate.Web.rest (chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/translate/translation/translate.js:1340:49)
    at chrome-extension://nmhdhpibnnopknkmonacoephklnflpho/translate/translation/translate.js:1325:39" {file: "[object Object]"}]
jiaojiaodubai commented 7 months ago

@lychichem 我也使用Edge,但未能复现你的问题。#291 报道过类似的问题,你和@doubanchan 的使用环境可能存在某些共同的特殊之处。 image

使用CellLabels类获取数据的还有国家标准全文公开系统国家版本馆(需注册登录),麻烦你们核实一下,是不是后面这两个网站抓取时也会出现JavaScript Error: "cells is not defined这一句报错?

在有充分的证据证明这是代码bug之后,我才能着手进行修复。

lychichem commented 7 months ago

@lychichem 我也使用Edge,但未能复现你的问题。#291 报道过类似的问题,你和@doubanchan 的使用环境可能存在某些共同的特殊之处。 image

使用CellLabels类获取数据的还有国家标准全文公开系统国家版本馆(需注册登录),麻烦你们核实一下,是不是后面这两个网站抓取时也会出现JavaScript Error: "cells is not defined这一句报错?

在有充分的证据证明这是代码bug之后,我才能着手进行修复。

他的测试用例我也会报错,但是同样的标准在国家标准全文公开系统能正常工作,你给出的国家版本馆的连接也能正常抓取,从我这里的表现我认为确实是单一的转换器问题.

jiaojiaodubai commented 7 months ago

我对照过了,两处CellLabels的代码是一样的,不过国家标准信息公共服务平台这个转换器在使用CellLabels时有一点不一样,我需要检查来自你们的.mhtml文件才能进一步判断。

lychichem commented 7 months ago

我对照过了,两处CellLabels的代码是一样的,不过国家标准信息公共服务平台这个转换器在使用CellLabels时有一点不一样,我需要检查来自你们的.mhtml文件才能进一步判断。

那么这个文件如何导出呢?我不知道怎么弄,要是能弄出来的话还请前辈修了

jiaojiaodubai commented 7 months ago

那么这个文件如何导出呢?我不知道怎么弄,要是能弄出来的话还请前辈修了

在浏览器打开抓取失败的页面,Ctrl+S保存,格式选“单个文件”或“mhtml”

lychichem commented 7 months ago

那么这个文件如何导出呢?我不知道怎么弄,要是能弄出来的话还请前辈修了

在浏览器打开抓取失败的页面,Ctrl+S保存,格式选“单个文件”或“mhtml”

国家标准 - 全国标准信息公共服务平台.zip github不让直接传mhtml所以只能套个壳了,页面就是我首条的测试页面,麻烦前辈看一下了

jiaojiaodubai commented 7 months ago

我检查过了,关键的页面元素跟我这里看到的一致,且CellLabels的代码也我提到的另外几个转换器一模一样,我不知道是什么原因造成了此问题。加QQ群893963769联系吧。

jiaojiaodubai commented 7 months ago

@doubanchan 你现在能稳定复现这个问题吗?如果可以的话,麻烦获取一些调试信息吧。

doubanchan commented 7 months ago

@lychichem 重新下载一下该转换器的js代码试试,我发现下载的js文件这行代码中缺失了let cells=,理论上不应该出现的。重新更新之后好了。你先看一下电脑本地上这个文件中是否缺失了这个。 https://github.com/l0o0/translators_CN/blob/30acf5317fa570cd39a6b3ebd3b8df1f270eb647/National%20Public%20Service%20Platform%20for%20Standards%20Information%20-%20China.js#L125

lychichem commented 7 months ago

@lychichem 重新下载一下该转换器的js代码试试,我发现下载的js文件这行代码中缺失了let cells=,理论上不应该出现的。重新更新之后好了。你先看一下电脑本地上这个文件中是否缺失了这个。

https://github.com/l0o0/translators_CN/blob/30acf5317fa570cd39a6b3ebd3b8df1f270eb647/National%20Public%20Service%20Platform%20for%20Standards%20Information%20-%20China.js#L125

我知道为啥了……这个是函数bug,已经被修了,但是我一直用茉莉花的检查更新,但修bug的时候没修更新日期和版本号所以茉莉花认为没更新……

jiaojiaodubai commented 7 months ago

抱歉诸位,是我的锅🤡