 解析(抓取)时代替数字

 instead of numbers when parsing (scraping)

提问人:NETkuz 提问时间:10/15/2023 最后编辑:NETkuz 更新时间:10/15/2023 访问量:50

问:

下午好。 尝试分析类似的页面时 https://www.dongchedi.com/usedcar/12441930 页面代码显示的不是价格数字 

项目图片

<p class="jsx-1166026127 tw-text-color-red-500 tw-font-semibold tw-text-20 xl:tw-text-24 tw-leading-32 xl:tw-leading-36 font-zmQZz5CrbrbHudeQ">.</p>

当您尝试从侧面复制数字时,将复制  而不是数字。

知道为什么会发生这种情况吗?以及如何获得价格。

我假设价格是由 java 脚本生成的,并在某个时候被替换。但这些数字在页面代码中无处不在。JSON 包含与价格无关的值。

javascript python 解析 网页抓取

评论

0赞 rioV8 10/15/2023
末尾的页面包含一个 JavaScript 块(大小 105564 字节),看起来像是某种数据结构(没有逻辑),好像页面需要用这些数据来构建,但原版已经包含了很多带有内容的标签。wgetdiv
0赞 NETkuz 10/16/2023
谢谢。我看到了这个块,看起来上传照片需要它。我想知道写页面的这种歪曲逻辑是不是故意的......
0赞 rioV8 10/16/2023
他们为什么要在 HTML 中放入内容来为网站的客户上传照片,他们在许多文件中都有如此多缩小的 JavaScript 逻辑,除非您有大量时间,否则无法找出他们在做什么chunk

答:

2赞 Mous 10/15/2023 #1

这个页面非常偷偷摸摸。

该元素具有类。找到这个类的定义位置(内联),我们得到以下 CSS:pfont-zmQZz5CrbrbHudeQ

.font-zmQZz5CrbrbHudeQ {
  font-family:zmQZz5CrbrbHudeQ;
}

看起来字体将这些奇怪的字形显示为数字。

以下是对应关系:

字符 统一码
1 U+E53D
2 U+E3F0型
3 U+E422型
4 U+E42C
5 U+E49C
6 U+E42B
7 U+E4FE系列
8 U+E548型
9 U+E4C8型
0 U+E453型
U+E45F

您可以使用上表将不可读的字符转换为普通数字。

评论

0赞 NETkuz 10/15/2023
多谢!我想知道中国人这样做的目的是什么......我想这是为了防止刮擦。请告诉我你是怎么得到解码表的?
0赞 Mous 10/15/2023
我去了列出所有汽车的页面,挑选了汽车,所以我得到了所有的数字。然后,我手动将 HTML 中的字符与显示的文本进行比较,因为只有 10 个字符。希望这对:)有所帮助
0赞 NETkuz 10/15/2023
在你的第一个回答之后,我做了完全相同的事情:-)我认为中国人可以动态更改解密表......并且抓取脚本可能随时中断:-(