逍遥逸仙 发表于 2022-10-4 13:15
页面上没有相关信息你就抓瞎了,尤其是某些静态文件,比如css、js、txt之类,这种方法主要是来对付这些静 ...
静态资源直接获取响应头信息就行MDN:Last-Modified
动态文件,我觉得最快、最准确的就是直接抓页面了,只是不太通用。
然后就是借助搜索引擎了,比如获取现在这个页面的时间:
function query(target) {
const queryUrl = encodeURI(`https://cn.bing.com/search?q=url:${target}`);
console.log(queryUrl);
fetch(queryUrl).then(response => {
return response.text();
}).then(data => {
try {
const doc = new DOMParser().parseFromString(data, "text/html");
const result = /^.*(?=[\t ]*·)/ig.exec(doc.querySelector("#b_results p")?.innerText);
console.log("update time:", result ? result[0] : undefined);
} catch (e) {
console.error(e);
}
});
}
query(`https://bbs.tampermonkey.net.cn/thread-3356-1-1.html`);
我先前的解决方案是把这两个方法结合起来,先直接抓页面,如果页面获取不到数据,就抓搜索引擎的收录时间,再不行就放弃了。
如果还有其他方法,我也想学习一下