SVG反爬

作者: 凉风有信2020 | 来源:发表于2020-08-11 14:33 被阅读0次

    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)
    

    相关文章

      网友评论

          本文标题:SVG反爬

          本文链接:https://www.haomeiwen.com/subject/ryxydktx.html