1. 博客
  2. 爬虫技术
  3. 帖子详情

中国土地市场网爬虫——字体woff加密还原


中国土地市场网爬虫——字体woff加密还原 1、文中乱码出现是因为不能识别的​unicode编码。 2、不同的woff字体文件通过Hash值对应,这样没有必要每个文件进行对应。 3、解密替换的时候只需要替换字体的编码,没有的不用处理,由于文中也没有对所以汉字做字体处理。


通过我上篇博客;中国土地市场网爬虫——浏览器Cookie验证(简单)  和中国土地市场爬虫——浏览器cookie验证(图片验证码)讲述了中国土地市场网(www.landchina.com)的两种访问限制策略,也讲述了该网站的三种限制爬虫策略。

   该网站的三种防止爬虫策略

    1、通过cookie验证,三次跳转,两次取得cookie的简单安全策略

    2、通过cookie验证,通过图片验证码取得cookie认证的高级安逸认识

    3、通过woff字体对文章类容进行加密(土地公告)


在原来的博客中讲述到访问限制的处理办法,今天也来讲述一下字体加密的处理。


我们直接访问一个公告:https://www.landchina.com/DesktopModule/BizframeExtendMdl/workList/bulWorkView.aspx?wmguid=20aae8dc-4a0c-4af5-aedf-cc153eb6efdf&recorderguid=JYXT_ZJGG_12108&sitePath=

1578921844565014436.png

我们可以看出左边看起来和很正常,右边源码里面也就很多乱码,我们通过手动复制粘贴也是一些中中文乱码。那这样怎么处理呢?


1、字体对应的是unicode编码。

    由于在处理比如58同城,大众点评常见的字体反爬虫,发现网页源码中的字体都显示形如ģ然而该网站显示的是中文乱码。经过深入的研究高搞明白文中其实是使用的unicode编码,我们看到的乱其实就是16进制数字。

比如:

閞剨清質講棄漹歸批掱

  转为 unicode编码

%u959e%u5268%u6e05%u8cea%u8b1b%u68c4%u6f39%u6b78%u6279%u63b1

我们在下载一个字体文件,打开图片.png


发现%u后面的4位16进制而字体文件$后面的4位16进制一一对应,是因为我们就可以把原来的数据转成unicode编码,然后在在字对应解密,如果没有的返回原来的数据。


2、字体文件对应

    我们访问不同的链接发现有不同的woff文件,比如
fWezGsME9BXQ1W3sGFEqzhlPxznzf5nQ.woff
pieXATBGyLsPEWSOUSu1wfcC3r3vM8aa.woff
vJ3z6kV9Oo0MYQNQhaEWLTMF54ysPI1p.woff

当然这里有很多,如果我们一个文件对应还好,,但不同文件这样的工作量就很多了,,同时还有些未知的字体。然而我对比了几个woff文件发型他们加密的字体都是一样应该395个其中4个空白,只是对应的的$编码不一样而已,由于每个字体的Hash值视一样的,所以我这边就直接生成字体的Hash值对应中文字体就可以,不不要解析每个,一个就可以了。

{
    "8beaf86e731da5e1c35084b7613bf342": "",
    "32d1c003e5f30e7dca370ccfd74b29aa": "亲",
    "1edf4d005dae1d95e36447c16071b8f0": "示",
    "fe57a376414683d4eea81e525cd084ff": "规",
    "1e25a05632497a30745fbc69b6b25670": "马",
    "a480d4c89b7df390f9171b6eb5268054": "腾",
    "51a7fd632c8a883ffd81a98d30d8f33f": "窗",
    "789d653720ceadfa8cbfb7ebe688342b": "里",
    "b818721b3841982945246496925b95c5": "律",
    "6b7c1470eb9f251daedc8876f30fe5e4": "区"
    ……
}

这样我就只需要读取每个文件$编码对应的Hash值就可以。


3、数据还原

    了解了原文unicode编码编码和字体文件,这样我们就可以进行数据还原。我们通过读取字体文件和自己对应的Hash值,然后读取下载好的html文件,进行数据还原。原来下载的HTML文件

图片.png

读取数据然后进行数据还原,就能得到自己需要的数据。

图片.png


  总结:

1、文中乱码出现是因为不能识别的unicode编码。

2、不同的woff字体文件通过Hash值对应,这样没有必要每个文件进行对应。

3、解密替换的时候只需要替换字体的编码,没有的不用处理,由于文中也没有对所以汉字做字体处理。


 

这里就不方便公布源码;,如果需要相关的代码和数据,可以联系作者。


TG微信号

可以一起做相关数据交流,和分析。




通过 验证 爬虫 讲述 处理

关于我

甘三数据网创始人-陈磊(tngou); 7年的互联网老兵,精通WBE技术、爬虫技技术、应用数据处理、大数据开发、自然语言处理与分析; 专业从事数据收集整理多年,并且和大家一起分享应用数据;海量数据,无限未来。

查看名片 →
热门文章
最新动态

陈磊个人信息


TG微信号