SVG反爬

2020-08-11  本文已影响0人  凉风有信2020

SVG反爬即是映射反爬,通过不给你真实的编码来实现反爬的目的。
比如大众点评的商家电话这些有价值的数据,网站


大众点评

检查源代码,发现关键数据用了网页特殊的编码,所以读取不出来


源代码
解决办法:
新建一字典手动保存映射关系,在需要输出时使用字典中的value替换。
代码:
import requests
from bs4 import BeautifulSoup
import re

url = "http://www.dianping.com/shop/G42raZgZrwxB69Oj"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"
}
mapping = {
    "\ueef9": "0",
    "\uf8e2": "8",
    "\ue5ea": "4",
    "\uea34": "9"
}

res = requests.get(url=url,headers=headers)
soup = BeautifulSoup(res.text,"html.parser")
tels = str(soup.select(".expand-info.tel")[0]).split("**")[:-1]
for tel in tels:
    num_list = []
    for char in tel:
        if char =='1' or char =='-':
            num_list.append(char)
        elif char in mapping:
            num_list.append(mapping[char])
    tel_num = "".join(num_list).lstrip("-")
    print(tel_num)
上一篇下一篇

猜你喜欢

热点阅读