• 大众点评网站字体反爬解决方案


    大众点评网站字体反爬解决方案

    以赣州美食栏目为例 https://www.dianping.com/huizhou/ch10

    通过查看页面元素,此处的评论条数、人均消费都是通过字体的形式进行转换的。我样查看源代码数字显示的是这种编码格式的。

    UntitledImage

    UntitledImage

    通过相看页面元素相应的样式表,可以发现,上面数字对应的样式使用了字体。

    UntitledImage

    既然是字体的缘故,我们就把相应的woff下载下来,使用百度开源的字体编辑工具(fontEditor)查看

    UntitledImage

    通过与上方页面源代码中的数字代码与字体中的编码作比较,可以发现两者后四位是相同的。

    大众点评网站中的字体虽然每次刷新的时候都会是新的字体文件,但有一点是不变的,就是字体中文字是固定的(如果后期改成非固定文字就难搞了)。

    font_text = ["", "", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "店", "中", "美", "家", "馆", "小", "车", "大",
    "市",
    "公", "酒", "行", "国", "品", "发", "电", "金", "心", "业", "商", "司", "超", "生", "装", "园", "场", "食", "有",
    "新",
    "限", "天", "面", "工", "服", "海", "华", "水", "房", "饰", "城", "乐", "汽", "香", "部", "利", "子", "老", "艺",
    "花",
    "专", "东", "肉", "菜", "学", "福", "饭", "人", "百", "餐", "茶", "务", "通", "味", "所", "山", "区", "门", "药",
    "银",
    "农", "龙", "停", "尚", "安", "广", "鑫", "一", "容", "动", "南", "具", "源", "兴", "鲜", "记", "时", "机", "烤",
    "文",
    "康", "信", "果", "阳", "理", "锅", "宝", "达", "地", "儿", "衣", "特", "产", "西", "批", "坊", "州", "牛", "佳",
    "化",
    "五", "米", "修", "爱", "北", "养", "卖", "建", "材", "三", "会", "鸡", "室", "红", "站", "德", "王", "光", "名",
    "丽",
    "油", "院", "堂", "烧", "江", "社", "合", "星", "货", "型", "村", "自", "科", "快", "便", "日", "民", "营", "和",
    "活",
    "童", "明", "器", "烟", "育", "宾", "精", "屋", "经", "居", "庄", "石", "顺", "林", "尔", "县", "手", "厅", "销",
    "用",
    "好", "客", "火", "雅", "盛", "体", "旅", "之", "鞋", "辣", "作", "粉", "包", "楼", "校", "鱼", "平", "彩", "上",
    "吧",
    "保", "永", "万", "物", "教", "吃", "设", "医", "正", "造", "丰", "健", "点", "汤", "网", "庆", "技", "斯", "洗",
    "料",
    "配", "汇", "木", "缘", "加", "麻", "联", "卫", "川", "泰", "色", "世", "方", "寓", "风", "幼", "羊", "烫", "来",
    "高",
    "厂", "兰", "阿", "贝", "皮", "全", "女", "拉", "成", "云", "维", "贸", "道", "术", "运", "都", "口", "博", "河",
    "瑞",
    "宏", "京", "际", "路", "祥", "青", "镇", "厨", "培", "力", "惠", "连", "马", "鸿", "钢", "训", "影", "甲", "助",
    "窗",
    "布", "富", "牌", "头", "四", "多", "妆", "吉", "苑", "沙", "恒", "隆", "春", "干", "饼", "氏", "里", "二", "管",
    "诚",
    "制", "售", "嘉", "长", "轩", "杂", "副", "清", "计", "黄", "讯", "太", "鸭", "号", "街", "交", "与", "叉", "附",
    "近",
    "层", "旁", "对", "巷", "栋", "环", "省", "桥", "湖", "段", "乡", "厦", "府", "铺", "内", "侧", "元", "购", "前",
    "幢",
    "滨", "处", "向", "座", "下", "県", "凤", "港", "开", "关", "景", "泉", "塘", "放", "昌", "线", "湾", "政", "步",
    "宁",
    "解", "白", "田", "盯", "溪", "十", "八", "古", "双", "胜", "本", "单", "同", "九", "迎", "第", "台", "玉", "锦",
    "底",
    "后", "七", "斜", "期", "武", "岭", "松", "角", "纪", "朝", "峰", "六", "振", "珠", "局", "岗", "洲", "横", "边",
    "济",
    "井", "办", "汉", "代", "临", "弄", "团", "外", "塔", "杨", "铁", "浦", "字", "年", "岛", "陵", "原", "梅", "进",
    "荣",
    "友", "虹", "央", "桂", "沿", "事", "津", "凯", "莲", "丁", "秀", "柳", "集", "紫", "旗", "张", "谷", "的", "是",
    "不",
    "了", "很", "还", "个", "也", "这", "我", "就", "在", "以", "可", "到", "错", "没", "去", "过", "感", "次", "要",
    "比",
    "觉", "看", "得", "说", "常", "真", "们", "但", "最", "喜", "哈", "么", "别", "位", "能", "较", "境", "非", "为",
    "欢",
    "然", "他", "挺", "着", "价", "那", "意", "种", "想", "出", "员", "两", "推", "做", "排", "实", "分", "间", "甜",
    "度",
    "起", "满", "给", "热", "完", "格", "荐", "喝", "等", "其", "再", "几", "只", "现", "朋", "候", "样", "直", "而",
    "买",
    "于", "般", "豆", "量", "选", "奶", "打", "每", "评", "少", "算", "又", "因", "情", "找", "些", "份", "置", "适",
    "什",
    "蛋", "师", "气", "你", "姐", "棒", "试", "总", "定", "啊", "足", "级", "整", "带", "虾", "如", "态", "且", "尝",
    "主",
    "话", "强", "当", "更", "板", "知", "己", "无", "酸", "让", "入", "啦", "式", "笑", "赞", "片", "酱", "差", "像",
    "提",
    "队", "走", "嫩", "才", "刚", "午", "接", "重", "串", "回", "晚", "微", "周", "值", "费", "性", "桌", "拍", "跟",
    "块", "调", "糕"]

    我们就可以通过TTFont获取字体文件中的编码,然后将前三位(uni)替换为&#x,然后再根据字体编码与文字对应关系进行映射,这样就可以得到最终的数字了。

    今天先写一下思路,改天整理一下代码。

  • 相关阅读:
    启动docker
    hadoop hdfs文件操作
    html_day02
    启动hadoop和关闭hadoop
    ubuntu 启动idea
    html_day01_practice
    day01
    构造函数后加冒号及调用顺序
    三大范式
    mysql解决迁移复制数据库报错 Key或column 过长
  • 原文地址:https://www.cnblogs.com/dzlishen/p/15582660.html
Copyright © 2020-2023  润新知