破解安居家数字加密成功爬取

前两天做到爬取租房网站的一个爬虫题目诈一看还挺简单(之前从来没有爬过租房网站)下一刻我就后悔了里面的数字竟然是乱码瞬间不知所措(奔溃边缘徘徊)就是这个东西这是个嘛
在这里插入图片描述
也没学过类似于这种解码的东东然后就疯狂的找博客(写的是不少,能用的却没几个)最终在昨天寻找到了一篇还算比较靠谱的博客(大神)https://blog.csdn.net/qq_38105596/article/details/90177458对没错就是他,然后我就将大佬写的尝试着与我写的结合(结果脑子都停转了去这是个啥)好在皇天不负有心人,对没错就在此刻我终于成了(啊哈哈哈)
然后我就来分享我的喜悦来了(哦哈哈哈)我自己也总结了一下

F12查看那个价格在最右边看到了fangchan-secret对没错就是它在捣乱(好气的有木有)
在这里插入图片描述
我们复制它然后就右键查看网页源代码然后F3开始进行搜索咯就到了下面那个红框框里面的内容(没错就是它)这就是它的字体
在这里插入图片描述
现在我们做的就是要用正则表达式将它里面的内容取出来(因为会随着网页变化里面内容也会变化,之前不知道就直接复制过来然后数字飞到了天上8080年56月78日运行它就知道什么是绝望https://blog.csdn.net/zql200008/article/details/103973085

base64_str = re.findall(";src:url\('(data.*)'\)\sformat\('truetype'\)"

引用包base64和字体包进行base64二进制解码,将字体文件写入了ttf字体文件和xml文件中

import base64
from fontTools.ttLib import TTFont
from io import BytesIO

然后解析映射关系出来一大堆这样的东西(看了一大堆博客终于知道了glyph00000没有意义,glyph00001对应0,glyph00001对应2以此类推)
在这里插入图片描述
知道这些过后就可以开始写我的爬虫代码了(我需要的是详细页面中的详细内容)确定找到全部的list列表

all_list = selector.xpath('//*[@class="zu-itemmod"]')       #当页中全部数据列表

在这里插入图片描述
为了找到每一个的详细内容我们需要知道每一个的URL(就是它)

all_list = selector.xpath('//*[@class="zu-itemmod"]')       #当页中全部数据列表
    for sel in all_list:
        url_a = sel.xpath('div[1]/h3/a/@href')[0]       #获取到每一页的URL
        parse_id_detail(url_a)	#这是为下面的def

这样我们就得到了全部的listURL
在这里插入图片描述
进入到每一页的URL中寻找我们需要的内容(呐就是这些)
在这里插入图片描述
写一个函数确保我们需要的每个URL都可以获取内容

def parse_id_detail(url_a):
    alls = requests.get(url_a,headers=headers)
    alls.encoding='utf-8'
    selector = etree.HTML(alls.text)
    time.sleep(random.randint(0,1))     #0~1秒爬取一次
    items=[]
    item = {
   }
    #房间价格(像这样的列子可以将其他的都提取)
    price = selector.xpath('string(//*[@class="house-info-zufang cf"]/li[1]/span)')
    item['price'] = price
    items.append(item)	#	最后的数据整合

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值