网站首页页面天眼查企业信息官网
2026/3/31 21:29:17 网站建设 项目流程
网站首页页面,天眼查企业信息官网,网站开发后台做些什么,七牛加速 wordpress安居客 item_get 接口#xff08;官方标准命名 anjuke.item.get#xff09;是通过房源唯一标识#xff08;house_id#xff09;获取房产全维度详情数据的核心接口#xff0c;覆盖新房、二手房、租房、商业地产等全品类房源#xff0c;包含基础属性、价格详情、户型参数、…安居客item_get接口官方标准命名anjuke.item.get是通过房源唯一标识house_id获取房产全维度详情数据的核心接口覆盖新房、二手房、租房、商业地产等全品类房源包含基础属性、价格详情、户型参数、配套设施、交易状态、业主评价等深度信息。该接口采用HTTPSAPI Key/Secret 签名认证支持 JSON/XML 双格式返回是构建房产详情页、数据中台、中介获客系统的核心依赖接口。本攻略从接口认知、权限准备、实操对接、调试排错到生产级优化提供全链路标准化指导。一、接口核心认知功能与适配场景1. 接口定位与核心价值核心功能输入房源唯一 IDhouse_id返回该房源的全量结构化详情支持按需指定返回字段粒度兼顾数据完整性与接口响应速度可与安居客item_search/item_area接口联动实现 “区域筛选→列表检索→详情查看” 的完整业务闭环。安居客数据特性字段维度贴合交易场景包含首付比例、月供测算、经纪人联系方式、看房预约状态等交易相关字段适配中介获客需求媒体资源丰富返回房源实景图、VR 全景、户型图等 URL 列表支持直接嵌入前端页面数据实时性强二手房挂牌价、租房状态、业主调价记录等动态数据3 分钟内同步权限分级管控基础详情户型 / 面积 / 价格对所有权限开放敏感数据业主电话、精准成交记录需企业资质 合规备案双重授权。典型应用场景房产平台详情页渲染房源的户型、配套、实景图等信息提升用户浏览体验中介获客系统获取房源经纪人信息、看房记录辅助经纪人精准跟进客户购房决策工具整合价格、户型、学区等数据生成房源性价比分析报告房产数据中台批量采集详情数据构建区域房价走势、户型占比等分析模型。2. 核心参数与返回字段1请求参数GET/POST 提交需签名认证参数类型参数名称类型是否必填说明应用示例公共参数keystring是调用密钥开放平台获取anjuke_api_2026_abc123secretstring是调用秘钥开放平台获取anjuke_secret_2026_def456api_namestring是接口名称固定为item_getanjuke.item.getresult_typestring否响应格式默认 JSONjson/xmlcachestring否是否启用缓存默认 yesyes/no业务参数house_idstring是房源唯一 ID从item_search接口获取AK2026011800001field_filterstring否字段过滤指定返回字段逗号分隔house_name,price,area,metroneed_mediabool否是否返回图片 / VR 视频 URLtrueneed_transactionbool否是否返回交易相关数据首付 / 月供trueneed_evaluatebool否是否返回业主评价 / 看房反馈falseneed_contactbool否是否返回经纪人联系方式需高级权限false注意事项house_id是唯一必填业务参数需从安居客item_search接口或官网房源页提取格式为AK日期序号field_filter参数可大幅减少响应数据体积例如列表页跳转详情时可先只请求核心字段滚动到对应模块再请求补充字段need_contact参数默认关闭开启需企业高级权限 《数据合规使用承诺书》备案严禁泄露经纪人 / 业主隐私信息。2返回核心字段按业务分类字段分类核心字段说明基础标识信息house_id房源唯一 IDhouse_name房源名称如 “XX 小区 3 室 2 厅 南北通透”building_name所属楼盘名称house_type房产类型新房 / 二手房 / 租房 / 商铺house_code房源备案编号部分城市需公示户型与面积信息house_style户型如 3 室 2 厅 1 厨 2 卫area_build建筑面积㎡area_use套内使用面积㎡orientation房屋朝向南 / 北 / 南北通透floor所在楼层 / 总楼层如 “18/33 层 中高层”room_height层高米价格与交易信息price挂牌价新房 / 二手房为总价万元租房为月租元unit_price单价元 /㎡仅新房 / 二手房返回price_trend价格走势近 30 天涨跌幅度如 “2.5%”down_payment参考首付比例%loan_month参考月供元按 30 年商贷基准利率计算transaction_status交易状态在售 / 已售 / 出租中 / 已预订位置与配套信息region所属区域省 / 市 / 区 / 街道 / 商圈address详细地址精确到小区门牌号metro_info周边地铁线路 站点 步行距离如 “1 号线 XX 站 步行 600 米”school_info学区配套对口中小学名称 学区类型如 “XX 实验小学 公立”commerce_info商业配套商场 / 超市 / 菜市场如 “XX 购物中心 1 公里”媒体资源信息img_list实景图 URL 列表封面图 室内图 小区环境图vr_url720°VR 看房链接video_url房源实拍视频 URL评价与经纪人信息evaluate_list业主 / 租客评价列表评分 评语 时间broker_name专属经纪人姓名broker_phone经纪人电话需高级权限broker_shop所属门店名称提示need_evaluatetrue时评价数据会增加接口响应时间约 200-500ms非评价类业务建议关闭此参数。3. 接口限制与注意事项权限类型日调用上限调用频率适用场景个人测试权限50 次 / 天1 次 / 秒功能调试、个人房源查询企业基础权限500 次 / 天3 次 / 秒中小型房产中介、个人建站企业高级权限5000 次 / 天10 次 / 秒大型房产平台、数据服务商数据缓存规则基础详情数据户型 / 面积 / 配套缓存 30 分钟动态数据价格 / 交易状态缓存 5 分钟媒体资源 URL 缓存 24 小时地域限制部分城市如北京、上海的学区、备案价数据受当地住建部门监管仅对本地备案企业开放调用频率限制超出频率上限会触发临时封禁 10 分钟多次超限会导致账号权限降级合规要求数据仅可用于自有平台展示、市场分析严禁转售、篡改或用于违规炒房场景。二、对接前准备权限与环境搭建1. 获取接口权限官方唯一合规路径安居客item_get接口由安居客开放平台提供接入步骤如下登录安居客开放平台注册企业 / 个人开发者账号提交资质审核企业用户上传营业执照、房产中介备案证书如有、法人身份证个人用户上传身份证填写应用用途如 “房产详情页开发”创建应用填写应用名称、服务器 IP 白名单、数据用途说明提交审核审核通过后在 “应用管理 - 密钥管理” 中获取key和secret接口调用核心凭证申请anjuke.item.get接口权限基础权限审核周期为 1-3 个工作日高级权限含经纪人联系方式需额外提交合规承诺书。风险提示严禁使用非官方爬虫抓取房源详情数据违反协议会导致账号封禁并承担法律责任。2. 技术环境准备1支持语言与协议协议HTTPS强制HTTP 请求会被直接拦截并返回 403 错误开发语言Python、Java、PHP、Go 等主流语言均可推荐 Python代码简洁适配签名生成与嵌套数据解析。2必备工具与依赖工具类型推荐工具用途调试工具安居客开放平台调试工具在线输入house_id生成签名并测试接口响应Postman模拟 GET/POST 请求保存测试用例团队协作共享房源 ID 提取工具从安居客官网房源页提取标准house_id开发依赖Pythonrequests发送 HTTPS 请求hashlib生成 MD5 签名jsonpath-ng快速解析嵌套 JSON 数据pandas整理详情数据并导出 Excel辅助工具Redis缓存详情数据减少重复调用logging记录接口调用日志便于问题排查与审计三、实操步骤接口对接全流程Python 示例步骤 1理解签名认证规则核心必掌握安居客所有接口采用统一的keysecret 签名认证机制item_get接口的签名生成步骤如下收集所有非空请求参数含公共参数key/api_name等 业务参数house_id等排除sign字段本身按参数名ASCII 升序排序如api_name排在cache之前拼接参数为key1value1key2value2...的字符串格式无分隔符参数值需与传入一致将secret拼接在参数串末尾生成签名原串对原串进行MD5 加密转为小写字符串即为签名sign将sign添加到请求参数中发送 HTTPS GET 请求。步骤 2完整代码实现含签名生成 调用 数据标准化1依赖安装bashpip install requests hashlib jsonpath-ng pandas2Python 代码实现import requests import hashlib import time import logging import pandas as pd from typing import Optional, Dict # 封装好API供应商demo urlhttps://console.open.onebound.cn/console/?iLex # 日志配置记录调用日志便于问题排查与审计 logging.basicConfig( levellogging.INFO, format%(asctime)s - %(levelname)s - %(message)s, handlers[logging.FileHandler(anjuke_item_get.log), logging.StreamHandler()] ) # 配置信息替换为你的开放平台key/secret CONFIG { key: 你的接口key, secret: 你的接口secret, api_url: https://api.anjuke.com/anjuke/item_get, result_type: json, cache: yes } def generate_sign(params: Dict[str, str], secret: str) - str: 生成安居客接口签名MD5加密 # 1. 按参数名ASCII升序排序 sorted_params sorted(params.items(), keylambda x: x[0]) # 2. 拼接参数为 key1value1key2value2 格式 param_str .join([f{k}{v} for k, v in sorted_params]) # 3. 拼接secret并MD5加密 sign_str param_str secret sign hashlib.md5(sign_str.encode(utf-8)).hexdigest().lower() return sign def standardize_house_detail(raw_data: Dict) - Dict: 标准化房源详情数据统一输出格式 # 处理价格单位标注 house_type raw_data.get(house_type, ) price raw_data.get(price, 0.0) price_desc f{price}万元 if house_type in [新房, 二手房] else f{price}元/月 # 处理配套信息 metro raw_data.get(metro_info, 暂无) school raw_data.get(school_info, 暂无) commerce raw_data.get(commerce_info, 暂无) # 处理媒体资源数量 img_count len(raw_data.get(img_list, [])) has_vr 有 if raw_data.get(vr_url) else 无 has_video 有 if raw_data.get(video_url) else 无 return { 房源ID: raw_data.get(house_id, ), 房源名称: raw_data.get(house_name, ), 所属楼盘: raw_data.get(building_name, ), 房产类型: house_type, 户型: raw_data.get(house_style, ), 建筑面积(㎡): raw_data.get(area_build, 0.0), 套内面积(㎡): raw_data.get(area_use, 0.0), 房屋朝向: raw_data.get(orientation, ), 楼层: raw_data.get(floor, ), 层高(米): raw_data.get(room_height, 0.0), 挂牌价: price_desc, 单价(元/㎡): raw_data.get(unit_price, 0.0), 价格走势: raw_data.get(price_trend, ), 参考首付比例(%): raw_data.get(down_payment, 0.0), 参考月供(元): raw_data.get(loan_month, 0.0), 交易状态: raw_data.get(transaction_status, ), 所属区域: raw_data.get(region, ), 详细地址: raw_data.get(address, ), 地铁配套: metro, 学区配套: school, 商业配套: commerce, 实景图数量: img_count, 是否有VR看房: has_vr, 是否有实拍视频: has_video, 专属经纪人: raw_data.get(broker_name, 暂无), 所属门店: raw_data.get(broker_shop, 暂无), 数据请求时间: time.strftime(%Y-%m-%d %H:%M:%S, time.localtime()) } def anjuke_item_get( house_id: str, field_filter: Optional[str] None, need_media: bool True, need_transaction: bool True, need_evaluate: bool False, need_contact: bool False ) - Dict: 调用安居客item_get接口获取房源详情 # 1. 校验必填参数 if not house_id: return {success: False, error_msg: house_id不能为空, data: {}} # 2. 构建公共参数 params { key: CONFIG[key], api_name: item_get, result_type: CONFIG[result_type], cache: CONFIG[cache], house_id: house_id, need_media: str(need_media).lower(), need_transaction: str(need_transaction).lower(), need_evaluate: str(need_evaluate).lower(), need_contact: str(need_contact).lower() } # 3. 添加工业务参数 if field_filter: params[field_filter] field_filter # 4. 生成签名 sign generate_sign(params, CONFIG[secret]) params[sign] sign try: # 5. 发送HTTPS请求 response requests.get( urlCONFIG[api_url], paramsparams, timeout15, verifyTrue # 生产环境必须开启证书验证 ) response.raise_for_status() # 抛出HTTP状态码异常 result response.json() # 6. 解析响应结果 if result.get(error_response): error result[error_response] error_msg f[{error.get(code, 未知错误)}] {error.get(msg, 无错误信息)} logging.error(f获取详情失败房源ID{house_id}{error_msg}) return {success: False, error_msg: error_msg, data: {}} raw_detail result.get(item_get_response, {}).get(house_detail, {}) if not raw_detail: logging.warning(f无详情数据返回房源ID{house_id}) return {success: False, error_msg: 无匹配房源详情数据, data: {}} # 7. 标准化数据 standard_data standardize_house_detail(raw_detail) return { success: True, data: standard_data, error_msg: } except requests.exceptions.RequestException as e: logging.error(f网络请求异常房源ID{house_id}{str(e)}) return {success: False, error_msg: f网络异常{str(e)}, data: {}} except Exception as e: logging.error(f数据解析异常房源ID{house_id}{str(e)}) return {success: False, error_msg: f解析异常{str(e)}, data: {}} # 封装好API供应商demo urlhttps://console.open.onebound.cn/console/?iLex # 调用示例 if __name__ __main__: # 示例查询单个房源详情 target_house_id AK2026011800001 result anjuke_item_get( house_idtarget_house_id, field_filterhouse_name,price,area_build,metro_info,school_info, need_mediaTrue, need_transactionTrue ) if result[success]: print( 安居客房源详情 ) for k, v in result[data].items(): print(f{k}: {v}) # 保存为Excel df pd.DataFrame([result[data]]) df.to_excel(f安居客房源详情_{target_house_id}.xlsx, indexFalse) else: print(f获取失败{result[error_msg]})四、调试与问题排查快速解决对接异常1. 优先用官方工具调试排除签名与参数问题登录安居客开放平台调试工具选择anjuke.item.get接口输入house_id、field_filter等参数点击 “生成签名” 并发送请求若官方工具调用成功 → 问题出在代码的签名生成逻辑或参数拼接错误如布尔参数未转小写若官方工具调用失败 → 问题出在权限配置或参数有效性如house_id错误、IP 未加入白名单。2. 高频问题排查表问题现象常见原因解决方案签名验证失败4011. key/secret 错误或过期2. 参数未按 ASCII 升序排序3. 布尔参数未转小写如 True→true4. 缺失 cache 等公共参数1. 核对开放平台的 key/secret过期则重新申请2. 严格按参数名 ASCII 升序排序所有非空参数3. 将need_media等布尔参数转为小写字符串4. 确保公共参数key/api_name 等全部传入权限不足4031. 未申请anjuke.item.get接口权限2. 服务器 IP 不在白名单3. 调用频率超限4. 开启need_contact但无高级权限1. 在开放平台 “权限管理” 中申请对应接口2. 添加服务器公网 IP 到应用白名单3. 降低调用频率控制并发数≤权限上限4. 关闭need_contact或升级企业高级权限参数错误4001.house_id为空或格式非法2.field_filter字段格式错误如用分号分隔3.house_id对应的房源已下架1. 确保传入有效的house_id格式为AK日期序号2.field_filter字段用英文逗号分隔3. 在安居客官网搜索house_id验证房源是否存在无数据返回200 但 data 为空1. 房源已下架或违规2. 房源受地域监管限制3.field_filter参数传入错误字段1. 验证house_id有效性更换有效 ID 测试2. 联系开放平台客服确认地域权限3. 去掉field_filter参数测试全字段返回结果响应超时5041. 网络波动或服务器负载高2. 开启need_evaluatetrue评价数据量大3. 高峰期调用工作日 9:00-12:00/14:00-18:001. 添加重试机制设置超时时间为 15 秒2. 非必要时关闭need_evaluate参数3. 避开高峰期调用分批次获取数据五、进阶优化生产级稳定性提升1. 性能与配额优化批量调用优化多房源 ID 查询时采用异步并发框架如 Python 的aiohttp并发数严格控制在权限允许的频率上限内如企业基础权限 3 次 / 秒避免同步循环调用导致的效率低下。智能缓存策略用 Redis 缓存详情数据缓存 key 设计为anjuke_house_房源ID_字段过滤参数缓存时间区分数据类型动态数据价格 / 交易状态缓存 5 分钟基础数据户型 / 面积 / 配套缓存 30 分钟媒体资源 URL缓存 24 小时缓存失效触发条件接口返回价格 / 状态变化时主动更新缓存。字段按需加载前端详情页采用懒加载策略首屏仅请求核心字段房源名称 / 价格 / 户型 / 面积用户滚动到配套模块时再请求metro_info/school_info用户点击 “VR 看房” 时再请求vr_url减少单次请求的数据体积提升响应速度。2. 数据质量优化数据清洗与标准化按house_id去重避免重复存储同一房源数据过滤异常值如建筑面积≤0、价格≤0 的房源统一字段格式如朝向统一为 “南向 / 北向 / 南北通透”楼层统一为 “X/Y 层 楼层类型”缺失值填充如无地铁配套的房源填充为 “暂无地铁配套”。数据一致性校验定期对比接口返回数据与本地缓存数据当价格、交易状态等关键字段发生变化时触发业务告警如房源降价提醒、状态变更通知。3. 合规与安全优化密钥安全管理生产环境禁止硬编码 key/secret推荐两种存储方式配置中心存储将密钥存入 Nacos、Apollo 等配置中心应用启动时动态拉取环境变量存储通过os.environ.get(ANJUKE_KEY)读取避免代码泄露风险定期轮换密钥建议每 3 个月一次。重试与熔断机制对临时性错误403 频率超限、504 超时采用指数退避重试策略首次间隔 1 秒之后翻倍最多重试 3 次对永久性错误401 签名错误、400 参数错误直接抛出异常不重试引入熔断机制如pybreaker库当接口连续失败次数≥5 次时暂停调用 5 分钟避免雪崩效应。日志审计记录每次调用的house_id、field_filter、响应状态、耗时、返回数据量等信息日志保留至少 30 天满足合规审计要求。六、扩展场景接口联动与功能升级联动 item_searchitem_area 接口通过item_area获取区域编码item_search按区域筛选房源列表再批量调用item_get获取详情实现 “区域筛选→列表→详情” 的全链路数据采集房产价格监控系统定时调用item_get接口对比房源历史价格当价格下跌幅度超过设定阈值如 5%时通过邮件 / 短信推送降价提醒智能选房助手基于item_get返回的户型、朝向、配套等数据结合用户需求如 “刚需三房 / 地铁房 / 学区房”构建推荐算法实现精准房源匹配中介 CRM 系统对接将item_get接口与经纪人 CRM 系统联动自动同步房源详情、价格走势辅助经纪人制定跟进策略。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询