主页 > 软件教程 > 解析高考志愿信息网站爬虫分析(2)

解析高考志愿信息网站爬虫分析(2)

这个手动写一个字典吧, 我没找到好的解决方案, 反正这个也不多, 有大佬有好的方案可以告诉我, 我是截图然后识别的.

from fontTools.ttLib import TTFontdef get_number_dict():    font = TTFont('./number_a.woff')
    keys = font['glyf'].keys()
    values = list("    6920714538")
    return dict((k, v) for k, v in zip(keys, values))def get_string_dict():    font = TTFont('./cn_5.woff')
    keys = font['glyf'].keys()
    values = list(
        "    像艺包据印探及营命历曲服机境械磁飞食备植空武设水居油洋测纽统件软轻美丁下与世业丝中主义乌书事互交产人仪价休会伤伦估体作供侦俄保信修健儿光克党全公共关兵其军农准减出分划则别制刷力功加务动助劳化医华卫发古史司合告品商回国土地型培声大天女媒子学安定宝实审室家宾密小少尔展属嵌工市师广应康建开录形影律微德心情想感成战房技投护报拉控推播收放政教数文料斯无日时景智术材村来查正民气污河治法泰海源灾炸然照爆版物环班理生用画界疗监知石研种科秘移程税立筑算管类精纺组织经网职育能自航船英草葡萄行表装观规视计论评识译试语财质资路车轨轮运通造采量金鉴间非韩项预饰馆验高麻()0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")
    return dict((k, v) for k, v in zip(keys, values))

直接下载字体文件, 然后生成对应的字典. 对于数字和字符串解密的函数, 这里有两种方案:

  1. 利用Python重写js代码, 这个代码逻辑也不复杂, 不难实现
  2. 直接利用Python解析JS代码, 因为我比较懒, 所以采用的第二种方案.
def show_number(string="o6onqsf732|oipr72hef1|g6htsfn732"):    code = """var showNumber = function(myNumbers) {
        var ns = [];
        myNumbers.split("|").forEach(function(value) {
            value = value.replace(/[g-t]/ig, "");
            ns.push(value);
        });
        return ns
    }
    """    ctx = execjs.compile(code)
    return ctx.call('showNumber', string)def cn_decrypt(string="gmcl6ak5|gsc6gl74|c6nktgda"):    code = """
    var _cnDeCrypt = function (zlVjhiyMm1) {
        var YB2 = "";
        var string_list = [];
        zlVjhiyMm1['split']("|")['forEach'](function ($lvd3) {
            if ($lvd3['search'](/【(.*?)】/) != -1) {
                YB2 += $lvd3['replace']
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!