提问人:NETkuz 提问时间:10/15/2023 最后编辑:NETkuz 更新时间:10/15/2023 访问量:50
解析(抓取)时代替数字
instead of numbers when parsing (scraping)
问:
下午好。 尝试分析类似的页面时 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 包含与价格无关的值。
答:
2赞
Mous
10/15/2023
#1
这个页面非常偷偷摸摸。
该元素具有类。找到这个类的定义位置(内联),我们得到以下 CSS:p
font-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
在你的第一个回答之后,我做了完全相同的事情:-)我认为中国人可以动态更改解密表......并且抓取脚本可能随时中断:-(
评论
wget
div
chunk