【python】SVG映射反爬

SVG简述说明

SVG是用于描述二维矢量图形的一种图形格式。它基于XML描述图形,对图形进行放大或缩小操作都不会影响图形质量。
由于SVG中的图形代表的也是一个个文字,所以在使用时必须在后端或前端将真实的文字与对应的SVG图形进行映射和替换。

实例

  • 下图中我们可以看到在定位源代码中的电话部分的html文件的标签内容(单个号码数字)都是一样的,我们需要去寻找真正的源代码内容


    大众点评示例
  • 在Network中寻找搜索


    真正的源代码部分
  • 需要对比其数字代码所代表的数字,获得数字映射(其中1正常显示的)


    映射
  • 这样子我们就很简单的进行电话号码的获取了

代码示例(大众点评)(需添加已登录的请求头信息)

import requests
from lxml import etree
from copyheaders import headers_raw_to_dict

# 定义映射关系
mappings= {
    '\uf8e2':'0',
    '\uf42d':'2',
    '\uf5c1':'3',
    '\uf5d4':'4',
    '\ue71d':'5',
    '\ue4f5':'6',
    '\uf2c0':'7',
    '\uf223':'8',
    '\uea15':'9'
}
mappings_list = []
url = 'http://www.dianping.com/shop/G41TRhMLL80DPFTN'
h = '''
添加请求头
'''
h = bytes(h, encoding="utf-8")
headers = headers_raw_to_dict(h)
respones = requests.get(url, headers=headers)
company_html = etree.HTML(respones.text)
# print(company_data)
nums = company_html.xpath('//p[@class="expand-info tel"]//text()')
print('查询结果:', nums)
for i in nums:
    if '1' in i or ' ' in i:
        mappings_list.append(i)
        continue
    num = mappings.get(i)
    if num is None:
        continue
    mappings_list.append(num)

print(''.join(mappings_list))
  • 返回输出
查询结果: [' ', '电话:', ' ', '\uf8e2', '\uf42d', '1-', '\ue4f5', '\uf5d4', '\uf8e2', '\uf5c1', '\uf8e2', '\uf2c0', '\uf5c1', '1 ']
  021-64030731 

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 背景 当 JavaScript 被 Netscape 公司发明出来时,它被用来做一些琐细的事情,比如校验表单、计算...
    locky丶阅读 2,144评论 0 5
  • 我今年37岁,结婚已经六年了。说实话,在我们那31岁结婚算晚的,当时没有结婚时爸妈天天催,也不是没有人追,也不是...
    阿芙萝黛瑅阅读 91评论 0 1
  • 病了一场,住了几天的院,以为调整好了可以完全的重新收拾一下自己的生活了,却发现最终还是难逃现状,慢慢的一点点吧。生...
    不丑的丑哥阅读 204评论 0 1
  • 张沃中 上海运城制版有限公司 【日精进打卡第19天】 【知~学习】 《六项精进大纲》3遍 共41遍 《大学》1遍 ...
    沃中阅读 79评论 0 0
  • 你有执念吗?对爱情对友情对某事某物。我是有的,这得谢谢我的两个闺蜜。南京的娟和南通的林,从九七年认识一直到现在,我...
    漂泊者雨雪霏霏阅读 77评论 0 0