自如网租房价格反爬 CSS偏移

python 复制代码
import re
import requests
from io import BytesIO
import ddddocr
from lxml import etree


def get_yellow_price(img_url):
    response = requests.get(img_url).content
    img_bytes = BytesIO(response)
    ocr = ddddocr.DdddOcr(beta=True, show_ad=False)
    yellow_price = ocr.classification(img_bytes.getvalue())
    return yellow_price
        

def main():
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36',
    }
    response = requests.get('https://www.ziroom.com/z/', headers=headers).text
    
    # 黄色价格图片
    img_url = 'https:' + re.search('//static8.ziroom.com/phoenix/pc/images/price/new-list/(.*?).png', response).group()
    yellow_price = get_yellow_price(img_url)

    html = etree.HTML(response)
    div_list = html.xpath('//div[@class="Z_list-box"]/div') # 第5个div是广告
    del div_list[4]  # 删除索引为4的元素(第5个元素)  
    for div in div_list:
        title = div.xpath('./div[3]/h5/a/text()')[0]
        styles = div.xpath('.//div[3]/div[2]/div/span[position()>1]/@style')
        price = ''
        for style in styles:
            pos = re.findall(r'background-position: -(.*?)px', style)[0]
            # 红色字体价格 固定
            if 'red.png' in style:
                red_price = '8652039147'  # 红色价格数字  不变
                pos_price = red_price[int(float(pos)/20)]
                
            # 黄色字体价格 
            else:
                pos_price = yellow_price[int(float(pos)/21.4)]
            price += pos_price

        print(f"{title} ¥{price}/月")


if __name__ == "__main__":
    main()
相关推荐
Penge6661 分钟前
HTML 基础:块级元素、行内元素与行内块元素详解
前端
Penge66638 分钟前
前端基础:html语义化
前端
用户30816998764851 小时前
同一个端口能被两个程序监听吗?TCP 11 组绑定实测
前端
aifannihao1 小时前
AI 学习第 14 课:CNN 训 6 轮卡在 0.5352,数据没打乱
pytorch·python·深度学习·cnn·学习路线
deli0071 小时前
红绿灯配时实测:固定 60 秒 vs 自适应,2400 辆车差多少
前端
去伪存真1 小时前
井道无信号、满手黑机油,我们如何用 DeepSeek V4 打造不“犯浑”的电梯维保 Agent?
前端·agent
deli0071 小时前
60fps 为什么还是一顿一顿?帧时间曲线实测给你看
前端
时间的情敌1 小时前
Cesium 流动管线、管道动画、管线流向仿真,管网、油气、水利孪生高频需求
前端·交互·cesium
yuyuxun11 小时前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计
如夏倾城2 小时前
百度文心(容易被忽略的好用AI)使用方式
人工智能·python·百度·语言模型·dubbo