爬虫爬到这种【数字】,该如何解决?
发布于 6 年前 作者 JZLeung 3867 次浏览 来自 问答

正在学习爬虫,然后发现页面上看上去比较正常的数字,原来暗藏玄机。 ### 这特么的不是正经数字!!!!!!!

image.png 右键选择后,就发现了奇怪的现象,浏览器菜单根本识别不出来这是什么东西。 然后查看源代码发现,好像是一种自定义的字体。

<span class="dzfoYFxr">&#100333;&#100330;&#100330;&#100338;&#100331;&#100330;</span></em><cite>万字</cite>

而且,每次刷新都是不一样的。 刷新后是这样的:

<span class="xVHrzwwr">&#100518;&#100516;&#100516;&#100512;&#100519;&#100516;</span></em><cite>万字</cite>

查看元素可以发现真的是字体。 image.png

那么,请问,这种情况该如何解决?

12 回复

这是一种反爬策略。

应该可以根据ascii码来做个对照表

[CNodeMD]

看编码格式像是HTML Entities,Unicode编码,但是解码出来好像不是数字

function decode(str) {
  return str.replace(/&#(\d+);/g, function(match, dec) {
    return String.fromCharCode(dec);
  });
}
console.log(decode('&#100518;&#100516;&#100516;&#100512;&#100519;&#100516;'));  //袦袤袤袠袧袤

@fruit-memory 因为它有相对应的字体的。而且这些字体是每次刷新都不一样。

@dbit-xia 可以对应,但是这些字体是每次刷新都不一样。

@JZLeung 看你上面给的图片,数字用了特殊字体

以前见过这样的反爬,它会生成被随机打乱的字体文件

有网址吗? 我也研究研究

  1. 改成抓取 https://m.qidian.com/book/1004608738 2.右键看源代码 https://qidian.gtimg.com/qd_anti_spider/ZnVFaoWp.woff 每一分钟一改变 解析 找对应关系 个人倾向 抓取的时候 移动端 可是可以抓的

@coolfishstudio 对耶,移动端没有使用到这种字体。 谢谢你的帮助。

回到顶部