记录一次学习研究自如友家租房模块遇到的反爬问题。
(这里仅提供思路,做技术分享,不提供完整代码)
自如房源页面截图:
查看html源代码:
<div class="Z_price">
<span>
¥
</span><i class="num" style="background-position:-93.72px;background-image: url(//static8.ziroom.com/phoenix/pc/images/2019/price/7995074a73302d345088229b960929e9.png);" >
</i><i class="num" style="background-position:-124.96px;background-image: url(//static8.ziroom.com/phoenix/pc/images/2019/price/7995074a73302d345088229b960929e9.png);" >
</i><i class="num" style="background-position:-281.16px;background-image: url(//static8.ziroom.com/phoenix/pc/images/2019/price/7995074a73302d345088229b960929e9.png);" >
</i><i class="num" style="background-position:-0px;background-image: url(//static8.ziroom.com/phoenix/pc/images/2019/price/7995074a73302d345088229b960929e9.png);" >
</i><span>
/月(季付价)
</span></div>
发现都是图片,但图片来源都是同一张,如下图:
发现代码里,出现“background-position”,猜测应该就是通过偏移量截取数字图片进行显示。
1、用ocr将图片识别为数字存储为数组。
2、计算偏移量获取下标(计算时得考虑比例)
3、在数组里通过下标得到对应价格数字。
注意:自如的图片每次也会变化,所以每次都要下载图片进行ocr识别。