CNode

爬虫爬到这种【数字】,该如何解决?

问答
JJZLeung发布于8 年前最后回复8 年前13 回复5502 浏览0 收藏

正在学习爬虫,然后发现页面上看上去比较正常的数字,原来暗藏玄机。

这特么的不是正经数字!!!!!!!

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)

M
MiYogurt#1·8 年前

这是一种反爬策略。

H
hxc1995#2·8 年前

nb

D
dbit-xia#3·8 年前

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

[CNodeMD]

F
fruit-memory#5·8 年前

看编码格式像是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;'));  //袦袤袤袠袧袤
J
JZLeung#6·8 年前
引用 fruit-memory看编码格式像是HTML Entities,Unicode编码,但是解码出来好像不是数字

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

J
JZLeung#7·8 年前
引用 dbit-xia应该可以根据ascii码来做个对照表 [CNodeMD]

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

D
dislido#9·8 年前

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

L
longFeiLi#10·8 年前

有网址吗? 我也研究研究

C
coolfishstudio#11·8 年前
  1. 改成抓取 https://m.qidian.com/book/1004608738 2.右键看源代码 https://qidian.gtimg.com/qd_anti_spider/ZnVFaoWp.woff 每一分钟一改变 解析 找对应关系 个人倾向 抓取的时候 移动端 可是可以抓的
J
JZLeung#12·8 年前
引用 coolfishstudio1. 改成抓取 https://m.qidian.com/book/1004608738 2.右键看源代码 https://qidian.gtimg.com/qd anti spider/Zn...

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

参与回复
登录后即可参与回复。登录