[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-strapi-article:zh:proxy-troubleshooting-scraping-failed":3,"blog-article:\u002Fblog\u002Fproxy-troubleshooting-scraping-failed":900,"blog-related:\u002Fblog\u002Fproxy-troubleshooting-scraping-failed":901,"blog-translations:\u002Fblog\u002Fproxy-troubleshooting-scraping-failed":902},{"available":4,"article":5,"relatedArticles":236,"translations":744},true,{"source":6,"id":7,"documentId":8,"translationKey":8,"locale":9,"slug":10,"path":11,"_path":11,"title":12,"description":13,"excerpt":13,"image":14,"publishedAt":15,"updatedAt":16,"author":17,"tags":18,"featured":19,"sortOrder":20,"readingTime":21,"bodyType":22,"bodyBlocks":23,"bodyHtml":235},"strapi",2570,"eroeylnm2bfb8z3gnkj8tuei","zh","proxy-troubleshooting-scraping-failed","\u002Fblog\u002Fproxy-troubleshooting-scraping-failed","代理日志怎么帮助排查采集失败？","代理日志可用来区分连接、认证、出口地区、目标站风控和采集逻辑问题。本文给出必记字段、状态码分流、对照测试及动态住宅代理 IP 的适用边界。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_cover_97e67a8514.webp","2026-09-08T07:16:41.706Z","2026-09-08T07:16:41.689Z","Global Proxies Team",[],false,0,4,"blocks",[24,30,36,40,61,65,69,74,78,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231],{"type":25,"children":26},"paragraph",[27],{"text":28,"type":29},"代理日志的价值不是证明“代理 IP 好不好”，而是把采集失败定位到连接、认证、出口地区、目标站风控或脚本逻辑中的具体一层。使用爬虫代理 IP 或其他代理 IP 做采集时，应先记录目标 URL、出口 IP、地区、状态码、耗时和重试结果，再做直连与代理、不同时间段或不同出口的单变量对照；不承诺绕过反爬，实际成功率需通过目标站测试确认。采集应限定于公开或已获授权的数据，遵守目标站 robots.txt 与服务条款，并控制请求频率。","text",{"type":31,"level":32,"children":33},"heading",2,[34],{"text":35,"type":29},"采集任务不同，日志重点也不同",{"type":25,"children":37},[38],{"text":39,"type":29},"公开页面、登录态页面、API 和需要浏览器渲染的页面，对代理 IP 和日志字段的要求不同：",{"type":41,"format":42,"children":43},"list","unordered",[44,49,53,57],{"type":45,"children":46},"list-item",[47],{"text":48,"type":29},"公开页面：重点记录状态码、延迟、出口地区和请求频率；",{"type":45,"children":50},[51],{"text":52,"type":29},"登录态页面：增加账号、会话、Cookie 和登录保持状态的脱敏标识；",{"type":45,"children":54},[55],{"text":56,"type":29},"API：记录请求参数类型、认证结果和响应错误码，但不要保存密钥；",{"type":45,"children":58},[59],{"text":60,"type":29},"渲染页面：同时记录浏览器版本、加载阶段和脚本错误。",{"type":25,"children":62},[63],{"text":64,"type":29},"如果没有先区分访问方式，同一个 403 可能被错误归因到代理 IP，而真实原因可能是登录态失效或页面脚本未完成。",{"type":31,"level":32,"children":66},[67],{"text":68,"type":29},"代理日志应记录哪些字段",{"type":70,"children":71},"code",[72],{"text":73,"type":29},"| 字段 | 用途 |\n| --- | --- |\n| 测试时间和目标 URL | 判断是否只在特定时段或站点失败 |\n| 代理 IP 类型和协议 | 区分资源类型与接入方式 |\n| 出口 IP、国家和城市 | 检查请求是否经过代理及地区是否跳变 |\n| 状态码和响应摘要 | 区分认证、限流、目标站拒绝和服务端错误 |\n| 连接与响应耗时 | 判断连接失败、读取超时或高延迟 |\n| 请求频率和并发 | 判断 429 或验证码是否与访问节奏相关 |\n| 重试次数和退避时间 | 判断重试是否正在放大失败 |\n| UA、Cookie、TLS 和会话标识 | 排查非出口因素，敏感值必须脱敏 |",{"type":31,"level":32,"children":75},[76],{"text":77,"type":29},"采集失败时应该先排查哪一层",{"type":31,"level":79,"children":80},3,[81],{"text":82,"type":29},"代理连接失败怎么排查",{"type":25,"children":84},[85],{"text":86,"type":29},"如果 IP 检测页和目标站都无法访问，先查本地网络、海外网络环境、协议、端口和代理信息是否有效。不要直接把错误写成“目标站封锁”。",{"type":31,"level":79,"children":88},[89],{"text":90,"type":29},"407 认证失败怎么排查",{"type":25,"children":92},[93],{"text":94,"type":29},"出现 407 时，先核对账号密码是否来自同一组代理信息，再核对协议和端口是否与后台显示一致。407 通常表示账号密码认证失败。",{"type":31,"level":79,"children":96},[97],{"text":98,"type":29},"出口 IP 或地区不正确怎么排查",{"type":25,"children":100},[101],{"text":102,"type":29},"IP 检测页显示代理已生效，但国家或城市与任务目标不一致时，应记录检测源、目标站实际返回、语言、币种和重定向结果。不同 IP 库可能有更新差异，最终还要看目标站如何识别。",{"type":31,"level":79,"children":104},[105],{"text":106,"type":29},"只有目标站访问失败怎么排查",{"type":25,"children":108},[109],{"text":110,"type":29},"其他网站正常、只有目标站返回 403、429 或验证码时，重点检查请求频率、Cookie、账号状态、请求头、TLS 和目标站规则。代理 IP 只是其中一个变量。",{"type":31,"level":79,"children":112},[113],{"text":114,"type":29},"页面能打开但采集结果为空怎么办",{"type":25,"children":116},[117],{"text":118,"type":29},"代理连接和目标页面均正常，但解析结果为空时，应检查选择器、页面渲染、重定向、登录态和接口变化，而不是继续轮换出口。",{"type":31,"level":32,"children":120},[121],{"text":122,"type":29},"遇到不同错误应该先检查什么",{"type":70,"children":124},[125],{"text":126,"type":29},"| 表现 | 优先检查 | 不建议的动作 |\n| --- | --- | --- |\n| 407 | 认证信息、协议、端口 | 继续高频重试 |\n| 403 | 目标站规则、账号、Cookie、出口地区 | 直接认定代理 IP 失效 |\n| 429 | 频率、并发、退避策略 | 立即增加线程数 |\n| 5xx | 目标站服务状态、请求时间 | 只更换代理 IP |\n| 超时 | 本地网络、代理端口、目标响应阶段 | 混合修改多个参数 |\n| 验证码 | 频率、会话、账号和环境一致性 | 承诺换 IP 即可解决 |",{"type":31,"level":32,"children":128},[129],{"text":130,"type":29},"如何通过对照测试定位采集失败原因",{"type":25,"children":132},[133],{"text":134,"type":29},"1. 同一目标 URL、同一时间窗口，分别测试直连和代理出口。\n2. 同一代理 IP，分别测试 IP 检测页和目标站。\n3. 同一账号、设备和出口下，只调整请求间隔或并发。\n4. 同一目标 URL 下，只更换一个代理 IP，其他参数保持不变。\n5. 记录成功率、403\u002F429 比例、验证码次数、平均延迟和出口跳变。",{"type":25,"children":136},[137],{"text":138,"type":29},"没有真实数据时只保留记录模板，不要把建议值写成实测结果。",{"type":31,"level":79,"children":140},[141],{"text":142,"type":29},"日志如何帮助定位真实原因：一个示例",{"type":25,"children":144},[145],{"text":146,"type":29},"假设直连目标站返回 200，代理出口能够正常访问 IP 检测页，但目标站连续返回 403；更换一个出口后仍然是 403，降低请求频率后恢复 200。这个过程说明代理接入和地区大概率正常，问题更接近目标站规则、请求频率或请求特征，不能直接归因于代理 IP 失效。相反，如果只有某一个出口失败、其他条件完全不变且复测恢复，则可以把该出口作为资源质量问题单独处理。",{"type":70,"children":148},[149],{"text":150,"type":29},"| 日志结果 | 更可能的结论 | 处理方向 |\n| --- | --- | --- |\n| IP 检测页和目标站都失败 | 接入、认证或网络问题 | 先查协议、端口、账号和本地网络 |\n| IP 检测成功，只有目标站 403 | 目标站规则、会话或请求特征 | 固定变量后检查 Cookie、UA、频率和账号 |\n| 429 随重试次数增加 | 频率、并发或退避策略有问题 | 降低频率、减少并发并增加退避 |\n| 多个出口均失败 | 账号、页面逻辑或目标站策略问题 | 转查登录态、选择器、页面结构和平台规则 |\n| 只有单一出口持续失败 | 该出口或资源质量异常 | 小范围更换并做同条件复测 |",{"type":25,"children":152},[153],{"text":154,"type":29},"一次脱敏排障记录如下（目标为公开商品列表页，Python requests，UA 固定，并发 1）：",{"type":25,"children":156},[157],{"text":158,"type":29},"```json\n{\"time\":\"2026-09-06T14:02:11+08:00\",\"url\":\"https:\u002F\u002Fshop.example.test\u002Flist?page=1\",\"proxy_ip\":\"203.0.113.***\",\"country\":\"MY\",\"city\":\"Kuala Lumpur\",\"status\":403,\"latency_ms\":842,\"retry\":0,\"error\":\"http_403\"}\n{\"time\":\"2026-09-06T14:04:03+08:00\",\"url\":\"https:\u002F\u002Fshop.example.test\u002Flist?page=1\",\"proxy_ip\":\"203.0.113.***\",\"country\":\"MY\",\"city\":\"Kuala Lumpur\",\"status\":200,\"latency_ms\":611,\"retry\":0,\"error\":null,\"interval_ms\":5000}\n```",{"type":25,"children":160},[161],{"text":162,"type":29},"发现：首请求 403；排除：同一出口访问 IP 检测页为 200，认证和地区均正常；结论：降低请求频率后恢复，问题更接近目标站限频而非代理失效；下一步：保持单并发和 5 秒间隔，再用第二个页面做同条件复测。",{"type":25,"children":164},[165],{"text":166,"type":29},"排查结论可以按下面的格式记录，方便团队复盘：",{"type":25,"children":168},[169],{"text":170,"type":29},"```text\n失败发生在：连接 \u002F 认证 \u002F 出口地区 \u002F 目标站 \u002F 采集逻辑\n已经排除：\n最可能原因：\n下一步只调整：\n暂不建议：\n```",{"type":25,"children":172},[173],{"text":174,"type":29},"每次只填写一个最可能原因和一个下一步变量，避免把更换代理、提高并发和修改请求头同时进行，导致无法判断真正原因。",{"type":31,"level":32,"children":176},[177],{"text":178,"type":29},"什么时候应该更换代理 IP",{"type":25,"children":180},[181],{"text":182,"type":29},"公开数据采集、批量短会话和多地区轮换通常先评估[动态住宅代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fdynamic-residential)；需要按周期使用动态资源时，再查看[动态住宅 30 天产品](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fdynamic-residential-30-day)。长期登录或持续同一身份才考虑[静态住宅代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fstatic-residential-standard)。住宅属性不是硬要求、重视速度或成本时，可小范围测试[数据中心代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fdatacenter-proxy)。",{"type":25,"children":184},[185],{"text":186,"type":29},"具体任务的动态\u002F静态取舍可参考[动态 IP 还是静态 IP 场景选型](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fdynamic-vs-static-proxy-by-scenario)；账号、广告、KYC 和采集结果的能力边界见[代理 IP 能保证解封、过审、KYC 或采集成功吗](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fproxy-ip-risk-boundary-account-ads-kyc-scraping)。",{"type":25,"children":188},[189],{"text":190,"type":29},"如果前面的对照已经明确失败层级，再根据任务类型选择产品和排障入口；不要先更换代理，再用结果反推原因。",{"type":31,"level":32,"children":192},[193],{"text":194,"type":29},"FAQ",{"type":31,"level":79,"children":196},[197],{"text":198,"type":29},"哪些日志字段最有助于定位采集失败？",{"type":25,"children":200},[201],{"text":202,"type":29},"优先保留目标 URL、出口 IP、国家和城市、状态码、耗时、请求频率与异常类型。这些字段能先把问题分到连接、地区、限流或目标站规则层。",{"type":31,"level":79,"children":204},[205],{"text":206,"type":29},"403 是否说明代理 IP 已经失效？",{"type":25,"children":208},[209],{"text":210,"type":29},"不一定。先确认其他网站是否正常，再检查目标站规则、Cookie、账号状态和请求特征；只有对照测试后才能判断是否需要更换出口。",{"type":31,"level":79,"children":212},[213],{"text":214,"type":29},"429 和超时应该怎么处理？",{"type":25,"children":216},[217],{"text":218,"type":29},"429 先降低频率并增加退避，超时则要区分连接超时和读取超时。两者不能使用同一种盲目重试策略，具体可参考[代理出现 403、429、验证码时先查什么](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fproxy-403-429-captcha-troubleshooting)。",{"type":31,"level":79,"children":220},[221],{"text":222,"type":29},"什么时候更换代理 IP 仍然无效？",{"type":25,"children":224},[225],{"text":226,"type":29},"当问题来自账号限制、登录态、页面结构、请求频率或平台规则时，更换出口通常无效。应根据日志转查对应层级。",{"type":25,"children":228},[229],{"text":230,"type":29},"---",{"type":25,"children":232},[233],{"text":234,"type":29},"先选一个真实目标 URL 建立日志样本，完成直连、代理出口和单变量复测。配置或认证仍异常时，可结合[智能检测助手](https:\u002F\u002Fhelp.quanqiudaili.com\u002Fdocs\u002FSmart-check)继续排查；自动化记录字段可参考[自动化脚本使用代理时如何记录 IP、地区和失败原因](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fproxy-ip-geo-location-failed)。","",[237,395,566],{"source":6,"id":238,"documentId":239,"translationKey":239,"locale":9,"slug":240,"path":241,"_path":241,"title":242,"description":243,"excerpt":243,"image":244,"publishedAt":245,"updatedAt":246,"author":17,"tags":247,"featured":19,"sortOrder":20,"readingTime":79,"bodyType":22,"bodyBlocks":248,"bodyHtml":235},2578,"fh36cwa6qfmminbo3gom99aa","korea-proxy-ip-ecommerce","\u002Fblog\u002Fkorea-proxy-ip-ecommerce","韩国代理 IP 怎么选：电商、社媒和票务场景","韩国代理 IP 选择要区分电商、社媒和票务任务。本文按首尔、釜山等城市测试粒度比较动态住宅代理 IP、静态住宅代理 IP和机房代理 IP，并说明验证与风险边界。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_ip_cover_9af8a95e79.webp","2026-09-08T07:22:04.091Z","2026-09-08T07:22:04.072Z",[],[249,253,257,271,275,279,283,287,291,295,299,303,307,311,315,319,323,345,349,353,356,360,364,368,372,376,380,384,388,391],{"type":25,"children":250},[251],{"text":252,"type":29},"韩国代理 IP 怎么选，取决于任务是公开页面观察、长期账号登录，还是有时间窗口的票务访问。短时地区验证先测试动态住宅代理 IP，社媒主号和电商后台更看重静态住宅代理 IP；票务场景还要单独控制时间、频率和平台规则，不能把换 IP 当成抢票保证。",{"type":31,"level":32,"children":254},[255],{"text":256,"type":29},"韩国电商、社媒和票务分别关注什么",{"type":41,"format":42,"children":258},[259,263,267],{"type":45,"children":260},[261],{"text":262,"type":29},"电商：观察商品页、价格、库存、语言和地区页面是否一致。",{"type":45,"children":264},[265],{"text":266,"type":29},"社媒：维持账号常用地区、设备、Cookie 和操作节奏。",{"type":45,"children":268},[269],{"text":270,"type":29},"票务：关注开售时间、页面重定向、验证码、排队和访问频率。",{"type":25,"children":272},[273],{"text":274,"type":29},"首尔、釜山等城市可作为验证样本，实际城市资源和目标站识别结果应以后台和实测为准。",{"type":31,"level":32,"children":276},[277],{"text":278,"type":29},"动态住宅、静态住宅和机房代理 IP 怎么选",{"type":70,"children":280},[281],{"text":282,"type":29},"| 场景 | 优先评估 | 主要观察指标 |\n| --- | --- | --- |\n| 商品页、价格和公开页面短时采样 | 动态住宅代理 IP | 地区命中、状态码、延迟 |\n| 社媒主号、电商后台、连续会话 | 静态住宅代理 IP | 登录保持、出口连续性、验证码 |\n| 高并发公开查询且住宅属性不高 | 机房代理 IP | 响应时间、超时率、目标站接受度 |\n| 票务开售前页面和库存观察 | 动态住宅代理 IP | 页面可达、地区命中、延迟 |\n| 同一账号或会话连续访问票务页面 | 静态住宅代理 IP | 出口连续、会话保持、验证次数 |",{"type":25,"children":284},[285],{"text":286,"type":29},"HTTP、HTTPS 和 SOCKS5 是接入协议，不代表住宅、机房、动态或静态属性。购买前应分别确认协议兼容性和资源类型。",{"type":31,"level":79,"children":288},[289],{"text":290,"type":29},"韩国票务页面观察和实际购买有什么区别",{"type":25,"children":292},[293],{"text":294,"type":29},"票务任务要区分开售前页面观察、开售期间访问和实际购买。代理 IP 可以辅助网络出口和地区条件验证，但不能保证排队、库存、账号资格、验证码、支付或平台放行；开售瞬间高频刷新也不应默认通过更换 IP 解决。",{"type":31,"level":32,"children":296},[297],{"text":298,"type":29},"如何验证韩国城市和页面结果",{"type":25,"children":300},[301],{"text":302,"type":29},"1. 设定目标城市、语言、时区和设备条件。\n2. 先访问 IP 检测页，记录出口国家和城市。\n3. 用同一浏览器访问电商、社媒或票务页面。\n4. 记录页面语言、币种、重定向、状态码、验证码和加载耗时。\n5. 只改变一个变量，例如请求间隔或代理 IP，进行第二轮对照。\n6. 出口正确但页面或账号仍异常时，检查 Cookie、设备环境和目标站规则。",{"type":25,"children":304},[305],{"text":306,"type":29},"票务访问不要连续高频重试，排查时应保留开售时间、页面状态、排队信息和错误提示。",{"type":25,"children":308},[309],{"text":310,"type":29},"票务公开页面观察记录（不进行购票，桌面 Chrome、单并发）示例：",{"type":70,"children":312},[313],{"text":314,"type":29},"| 时间（UTC+8） | 页面阶段 | 状态码 | 队列\u002F延迟 | 复测结论 |\n| --- | --- | --- | --- | --- |\n| 18:55 | 开售前活动页 | 200 | 无队列，480 ms | 页面可达 |\n| 19:00 | 开售瞬间同一 URL | 200 | 排队页，2.8 s | 出现队列，不代表库存 |\n| 19:05 | 开售后复测 | 429 | 无队列，1.1 s | 频率触发限流，停止重试 |",{"type":25,"children":316},[317],{"text":318,"type":29},"记录只涉及公开页面，不涉及实际购票；第二天 18:55 用同一出口复测为 200，说明 429 与开售期间访问频率相关，不能归因于代理 IP 必然失效。[MDN 对 HTTP 429 的说明](https:\u002F\u002Fdeveloper.mozilla.org\u002Fzh-CN\u002Fdocs\u002FWeb\u002FHTTP\u002FReference\u002FStatus\u002F429)也将其定义为请求过多；服务端还可能通过 `Retry-After` 提示再次请求前应等待的时间。",{"type":31,"level":32,"children":320},[321],{"text":322,"type":29},"购买前要确认哪些条件",{"type":41,"format":42,"children":324},[325,329,333,337,341],{"type":45,"children":326},[327],{"text":328,"type":29},"目标国家与城市的实际可用范围；",{"type":45,"children":330},[331],{"text":332,"type":29},"动态住宅代理 IP 的切换和粘性会话规则；",{"type":45,"children":334},[335],{"text":336,"type":29},"静态住宅代理 IP 的出口身份、独享性和续费；",{"type":45,"children":338},[339],{"text":340,"type":29},"票务或电商目标站的访问限制；",{"type":45,"children":342},[343],{"text":344,"type":29},"测试、替换和售后排障边界。",{"type":31,"level":32,"children":346},[347],{"text":348,"type":29},"韩国电商、社媒和票务应该如何选择代理 IP",{"type":25,"children":350},[351],{"text":352,"type":29},"长期后台可评估[静态住宅代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fstatic-residential-standard)，短时页面测试可先了解[动态住宅代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fdynamic-residential)。相近主题可继续查看[韩国代理 IP 使用指南：地区访问、电商和票务验证场景](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fkorea-proxy-ip-ecommerce-ticketing-geo-access)。",{"type":31,"level":32,"children":354},[355],{"text":194,"type":29},{"type":31,"level":79,"children":357},[358],{"text":359,"type":29},"韩国电商和票务应该使用同一种代理 IP 吗？",{"type":25,"children":361},[362],{"text":363,"type":29},"不一定。电商公开页面可先测试动态住宅代理 IP，票务还要考虑时间窗口和频率；长期后台则更看重静态住宅代理 IP。",{"type":31,"level":79,"children":365},[366],{"text":367,"type":29},"社媒长期登录为什么更看重静态住宅代理 IP？",{"type":25,"children":369},[370],{"text":371,"type":29},"因为长期登录更依赖出口地区、设备和会话连续性。静态住宅代理 IP 只能改善网络环境，不能替代账号合规运营。",{"type":31,"level":79,"children":373},[374],{"text":375,"type":29},"出口显示韩国但页面仍不一致怎么办？",{"type":25,"children":377},[378],{"text":379,"type":29},"检查语言、时区、Cookie、设备和页面重定向，再用另一个检测源和同一目标 URL 复测。不要只根据一个 IP 库下结论。",{"type":31,"level":79,"children":381},[382],{"text":383,"type":29},"代理 IP 能保证票务访问或购买成功吗？",{"type":25,"children":385},[386],{"text":387,"type":29},"不能。排队、库存、账号资格、验证码、平台规则和访问频率都可能影响结果。",{"type":25,"children":389},[390],{"text":230,"type":29},{"type":25,"children":392},[393],{"text":394,"type":29},"先用一个公开电商页和一个非敏感测试账号完成首尔或其他目标城市的对照测试，记录地区、页面、延迟和验证次数。结果稳定后，再决定是否进入长期会话或票务测试。出现 403、429 或验证码时，按[代理出现 403、429、验证码时先查什么](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fproxy-403-429-captcha-troubleshooting)分流；需要产品建议时可前往[注册或咨询全球代理服务](https:\u002F\u002Fwww.quanqiudaili.com\u002Fsignup)。",{"source":6,"id":396,"documentId":397,"translationKey":397,"locale":9,"slug":398,"path":399,"_path":399,"title":400,"description":401,"excerpt":401,"image":402,"publishedAt":403,"updatedAt":404,"author":17,"tags":405,"featured":19,"sortOrder":20,"readingTime":406,"bodyType":22,"bodyBlocks":407,"bodyHtml":235},2577,"e71zho51ev24tyfieuuhcame","proxy-ip-geo-location-failed","\u002Fblog\u002Fproxy-ip-geo-location-failed","自动化脚本使用代理时如何记录 IP、地区和失败原因？","自动化脚本使用代理时，应同时记录出口 IP、地区、状态码、耗时和异常类型。本文给出日志字段、JSON 示例、验证步骤及 407、403、429 和超时的归因方法。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_ip_cover_4513e73b77.webp","2026-09-08T07:21:33.056Z","2026-09-08T07:21:33.041Z",[],5,[408,412,416,420,424,428,432,436,440,444,448,452,456,460,464,468,472,476,480,484,488,492,496,500,504,508,512,516,520,524,527,531,535,539,543,547,551,555,559,562],{"type":25,"children":409},[410],{"text":411,"type":29},"自动化脚本不能只记录“成功”或“失败”。至少要把目标 URL、代理 IP 类型、出口 IP、出口地区、协议、状态码、耗时、重试次数和异常类型写入同一条代理日志，才能区分接入错误、网络异常、地区识别偏差和目标站拒绝。开始放量前，先用 IP 检测页与真实目标页面完成一轮小样本验证。",{"type":31,"level":32,"children":413},[414],{"text":415,"type":29},"自动化脚本至少要记录哪些代理字段",{"type":70,"children":417},[418],{"text":419,"type":29},"| 字段 | 作用 | 示例 |\n| --- | --- | --- |\n| timestamp | 对照失败时间和流量波动 | 2026-09-07T10:30:00+08:00 |\n| target_url | 确认失败是否只出现在某个站点 | https:\u002F\u002Fexample.com\u002Fpage |\n| proxy_type | 区分动态住宅、静态住宅或机房代理 IP | dynamic_residential |\n| protocol | 核对 HTTP、HTTPS 或 SOCKS5 接入 | http |\n| exit_ip | 判断请求是否经过代理及是否发生切换 | masked |\n| country \u002F city | 检查出口地区和业务目标是否一致 | 以检测结果为准 |\n| status_code | 区分认证、限流和目标站错误 | 200、403、407、429、5xx |\n| latency_ms | 判断超时或高延迟 | 毫秒值 |\n| error_type | 统一失败分类 | auth、timeout、blocked、network |\n| retry_count | 判断重试是否放大失败 | 0、1、2 |\n| session_id | 关联同一会话内的多次请求 | 使用脱敏标识 |",{"type":25,"children":421},[422],{"text":423,"type":29},"**日志中不要写入真实代理密码、token、Cookie 或完整账号信息。需要关联账号时，使用不可逆的脱敏标识。**",{"type":31,"level":32,"children":425},[426],{"text":427,"type":29},"为什么要用结构化日志记录请求",{"type":25,"children":429},[430],{"text":431,"type":29},"JSON 或 CSV 比纯文本错误信息更容易筛选和汇总。一条 JSON 日志可以采用下面的结构：",{"type":25,"children":433},[434],{"text":435,"type":29},"~~~json\n{\n\"timestamp\": \"2026-09-07T10:30:00+08:00\",\n\"target_url\": \"https:\u002F\u002Fexample.com\u002Fpage\",\n\"proxy_type\": \"dynamic_residential\",\n\"protocol\": \"http\",\n\"exit_ip\": \"masked\",\n\"country\": \"expected-country\",\n\"city\": \"detected-city\",\n\"status_code\": 429,\n\"latency_ms\": 1820,\n\"error_type\": \"rate_limited\",\n\"retry_count\": 1,\n\"session_id\": \"job-001\"\n}\n~~~",{"type":25,"children":437},[438],{"text":439,"type":29},"同一批任务要固定字段名和错误枚举，避免一部分日志写 timeout，另一部分写“连接超时”，导致后续无法统计。",{"type":25,"children":441},[442],{"text":443,"type":29},"一次脱敏运行记录（Python requests、单并发、同一目标 URL）如下：",{"type":25,"children":445},[446],{"text":447,"type":29},"```json\n{\"time\":\"2026-09-06T16:31:08+08:00\",\"url\":\"https:\u002F\u002Fexample.test\u002Fgeo\",\"proxy_type\":\"dynamic_residential\",\"exit_ip\":\"198.51.100.***\",\"country\":\"JP\",\"city\":\"Tokyo\",\"status\":200,\"latency_ms\":534,\"retry\":0,\"error\":null}\n{\"time\":\"2026-09-06T16:31:14+08:00\",\"url\":\"https:\u002F\u002Fexample.test\u002Fgeo\",\"proxy_type\":\"dynamic_residential\",\"exit_ip\":\"198.51.100.***\",\"country\":\"US\",\"city\":\"California\",\"status\":0,\"latency_ms\":3000,\"retry\":1,\"error\":\"read_timeout\",\"trace\":\"ReadTimeout: HTTPSConnectionPool(...): Read timed out\"}\n{\"time\":\"2026-09-06T16:31:22+08:00\",\"url\":\"https:\u002F\u002Fexample.test\u002Fgeo\",\"proxy_type\":\"dynamic_residential\",\"exit_ip\":\"198.51.100.***\",\"country\":\"JP\",\"city\":\"Tokyo\",\"status\":200,\"latency_ms\":612,\"retry\":2,\"error\":null}\n```",{"type":25,"children":449},[450],{"text":451,"type":29},"第一条成功、第二条地区跳变并超时、第三条复测恢复，说明应把“地区不一致”和“读取超时”分别归因，并通过出口 IP、重试次数和堆栈关联同一会话。",{"type":25,"children":453},[454],{"text":455,"type":29},"一个最小的记录流程可以写成下面这样。伪代码不绑定具体语言，实际接入时只需替换请求客户端和日志组件：",{"type":25,"children":457},[458],{"text":459,"type":29},"~~~text\nrequest_id = create_id()\nstart = now()\nexit_ip = null\ncountry = null\ncity = null\nlog(request_id, target_url, proxy_type, protocol, status=\"started\")",{"type":25,"children":461},[462],{"text":463,"type":29},"try:\nexit_ip, country, city = check_proxy_exit()\nresponse = request(target_url, proxy)\nlog(request_id, exit_ip, country, city,\nstatus_code=response.status, latency_ms=now()-start,\nerror_type=null, retry_count=retry_count)\nexcept Exception as error:\nlog(request_id, exit_ip, country, city,\nstatus_code=get_status(error), latency_ms=now()-start,\nerror_type=classify(error), retry_count=retry_count)\n~~~",{"type":25,"children":465},[466],{"text":467,"type":29},"无论请求成功还是失败，都应保留同一个 `request_id` 的完整记录；重试时新增记录并递增 `retry_count`，不要覆盖第一次失败。",{"type":31,"level":79,"children":469},[470],{"text":471,"type":29},"最小可用的日志字段",{"type":25,"children":473},[474],{"text":475,"type":29},"如果暂时不能记录完整链路，至少保留 `request_id`、`target_url`、`proxy_type`、`protocol`、`exit_ip`、`expected_country`、`detected_country`、`expected_city`、`detected_city`、`status_code`、`latency_ms`、`error_type` 和 `retry_count`。其中 `expected_*` 表示任务目标，`detected_*` 表示检测结果，二者分开保存，才能识别“代理出口正确但目标站仍未本地化”的情况。可以增加 DNS、连接和首字节耗时，敏感字段按前文字段表后的脱敏规则处理。",{"type":31,"level":32,"children":477},[478],{"text":479,"type":29},"请求前、请求中和请求后分别记录什么",{"type":25,"children":481},[482],{"text":483,"type":29},"1. 请求前记录任务编号、目标 URL、代理 IP 类型、协议和会话标识。\n2. 首次使用该代理信息时，访问 IP 检测页并记录出口 IP、国家和城市。\n3. 发起真实业务请求，记录状态码、耗时和响应类型。\n4. 捕获连接拒绝、DNS、TLS、认证和读取超时等异常。\n5. 发生重试时保留原失败记录，不要只保存最后一次结果。\n6. 任务结束后按目标站、状态码、出口地区和代理 IP 类型汇总。",{"type":25,"children":485},[486],{"text":487,"type":29},"代理主机、端口、账号、密码和协议应从对应产品后台或[代理参数说明](https:\u002F\u002Fhelp.quanqiudaili.com\u002Fdocs\u002Fintro)获取，不要从第三方截图推断端口或认证方式。需要接入流程时可查看[获取代理帮助](https:\u002F\u002Fhelp.quanqiudaili.com\u002Fdocs\u002FGet-Proxy\u002F)。",{"type":31,"level":32,"children":489},[490],{"text":491,"type":29},"不同失败表现应该怎么分类",{"type":70,"children":493},[494],{"text":495,"type":29},"| 表现 | 先检查 | 下一步 |\n| --- | --- | --- |\n| 出口 IP 未变化 | 代理是否启用、协议和端口是否正确 | 换 IP 检测页或客户端复测 |\n| 407 | 账号密码、认证方式、协议和端口 | 用同组参数在另一客户端复测 |\n| 403 | 目标站规则、Cookie、账号状态、出口地区 | 固定其他变量，只更换一个出口复测 |\n| 429 | 请求频率、并发、重试策略 | 降低频率并增加退避时间 |\n| 超时或连接拒绝 | 本地网络、代理端口、目标站响应 | 分别测试 IP 检测页和目标 URL |\n| 地区识别不一致 | IP 库、目标站识别、语言和 Cookie | 用多个检测源及目标页面交叉验证 |",{"type":25,"children":497},[498],{"text":499,"type":29},"不要把所有 403、429 或验证码都标记成“代理 IP 不可用”。只有完成对照实验后，才能判断应更换代理 IP、调整会话策略，还是转查目标站和脚本逻辑。",{"type":31,"level":79,"children":501},[502],{"text":503,"type":29},"记录到异常后应该怎么处理",{"type":25,"children":505},[506],{"text":507,"type":29},"例如，407 且每次请求都失败，通常先修正认证、协议或端口；代理检测成功但目标站持续 403，应固定其他变量后检查 Cookie、账号和目标站规则；429 在重试后比例上升，应降低频率并增加退避；出口地区正确但页面语言或内容不符，则要对照语言、时区、设备和 Cookie。日志的作用是缩小问题范围，不是自动证明代理 IP 一定失效。",{"type":31,"level":32,"children":509},[510],{"text":511,"type":29},"动态和静态代理 IP 分别要记录什么",{"type":25,"children":513},[514],{"text":515,"type":29},"动态住宅代理 IP 可能按请求或粘性会话切换，因此日志必须记录每次请求或每个会话的出口 IP。静态住宅代理 IP 更适合长期身份和连续会话，但仍要记录掉线、出口变化和会话中断。机房代理 IP 更适合住宅属性不是硬要求、重视速度或成本的公开访问测试，是否适用要由目标站实测决定。",{"type":31,"level":32,"children":517},[518],{"text":519,"type":29},"代理代码接入和日志排障怎么开始",{"type":25,"children":521},[522],{"text":523,"type":29},"前文已经分别给出日志字段、API 和接入说明；需要统一查看时，可进入[代理设置帮助](https:\u002F\u002Fhelp.quanqiudaili.com\u002Fdocs\u002Fproxy-Settings)。",{"type":31,"level":32,"children":525},[526],{"text":194,"type":29},{"type":31,"level":79,"children":528},[529],{"text":530,"type":29},"自动化脚本最少需要记录哪些代理字段？",{"type":25,"children":532},[533],{"text":534,"type":29},"至少记录目标 URL、出口 IP、地区、协议、状态码、耗时、异常类型和重试次数。登录态任务还应增加脱敏会话标识，方便关联同一会话的请求。",{"type":31,"level":79,"children":536},[537],{"text":538,"type":29},"如何确认脚本真的走了代理？",{"type":25,"children":540},[541],{"text":542,"type":29},"先在脚本内访问 IP 检测页，再与直连出口对比。随后用同一组代理参数访问目标 URL，分别记录出口地区和响应结果。",{"type":31,"level":79,"children":544},[545],{"text":546,"type":29},"407、403 和 429 可以用同一种重试策略吗？",{"type":25,"children":548},[549],{"text":550,"type":29},"不可以。407 应先修正认证，403 要排查目标站规则和环境，429 应降低频率并设置退避；盲目重试可能放大问题。",{"type":31,"level":79,"children":552},[553],{"text":554,"type":29},"日志可以保存代理密码和 Cookie 吗？",{"type":25,"children":556},[557],{"text":558,"type":29},"不建议。日志应隐藏密码、token、Cookie 和账号信息，只保留排障所需的脱敏标识。",{"type":25,"children":560},[561],{"text":230,"type":29},{"type":25,"children":563},[564],{"text":565,"type":29},"先用少量真实请求跑通“检测出口—访问目标—记录失败—分类汇总”的闭环，再根据日志中的地区命中率、状态码比例、延迟和重试结果决定是否扩大任务规模。错误码可继续查阅[代理 API 错误码和程序报错怎么查](https:\u002F\u002Fwww.quanqiudaili.com\u002Fdevelopers\u002Fproxy-error-codes\u002F)，并结合[代理请求超时、失败重试和故障转移怎么设计](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fproxy-retry-timeout-failover-strategy)优化重试策略；日志排查方法可参考[代理日志怎么帮助排查采集失败](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fproxy-troubleshooting-scraping-failed)。需要产品咨询时可前往[注册或咨询全球代理服务](https:\u002F\u002Fwww.quanqiudaili.com\u002Fsignup)。",{"source":6,"id":567,"documentId":568,"translationKey":568,"locale":9,"slug":569,"path":570,"_path":570,"title":571,"description":572,"excerpt":572,"image":573,"publishedAt":574,"updatedAt":575,"author":17,"tags":576,"featured":19,"sortOrder":20,"readingTime":79,"bodyType":22,"bodyBlocks":577,"bodyHtml":235},2576,"sixpcywmawu0n7py1c0digea","vietnam-proxy-ip-shopee-tiktok-local","\u002Fblog\u002Fvietnam-proxy-ip-shopee-tiktok-local","越南代理 IP 适合 Shopee、TikTok 和本地采样吗？","越南代理 IP 用于 Shopee、TikTok 和本地采样时，应分别控制平台、城市、语言和会话条件。本文比较动态住宅代理 IP、静态住宅代理 IP和机房代理 IP的适用边界。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_ip_shopee_tiktok_cover_b7ea88e41f.webp","2026-09-08T07:21:08.677Z","2026-09-08T07:21:08.640Z",[],[578,582,586,590,594,598,602,606,610,614,618,622,626,630,634,638,642,645,649,653,657,661,665,669,672,694,698,702,705,709,713,717,721,725,729,733,737,740],{"type":25,"children":579},[580],{"text":581,"type":29},"越南代理 IP 可以辅助 Shopee 商品页、TikTok 内容和本地公开页面的地区观察，但三个任务不应默认使用同一套代理策略。短时公开采样通常先测试动态住宅代理 IP，长期账号或连续会话再评估静态住宅代理 IP；代理 IP 不能保证账号通过、内容展示或采样成功。",{"type":31,"level":32,"children":583},[584],{"text":585,"type":29},"Shopee、TikTok 和本地采样分别验证什么",{"type":31,"level":79,"children":587},[588],{"text":589,"type":29},"Shopee 商品页和价格库存怎么观察",{"type":25,"children":591},[592],{"text":593,"type":29},"重点观察商品页、价格、库存、语言和货币，先限定在公开页面和小样本验证范围内。电商任务可参考[跨境电商代理 IP 场景](https:\u002F\u002Fwww.quanqiudaili.com\u002Flanding-page\u002Fcross-border-ecommerce)。",{"type":31,"level":79,"children":595},[596],{"text":597,"type":29},"TikTok 公开内容和地区推荐怎么验证",{"type":25,"children":599},[600],{"text":601,"type":29},"重点观察公开内容、地区化推荐和账号会话，同时控制设备、Cookie、语言和操作节奏。社媒任务可参考[社媒运营代理 IP 场景](https:\u002F\u002Fwww.quanqiudaili.com\u002Flanding-page\u002Fsocial-media-operations)和[TikTok 代理 IP 指南](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Ftiktok-proxy-ip-guide)。",{"type":31,"level":79,"children":603},[604],{"text":605,"type":29},"越南本地搜索、广告和城市页面怎么采样",{"type":25,"children":607},[608],{"text":609,"type":29},"重点观察搜索结果、广告落地页、城市页面和本地语言，并固定关键词、城市和设备条件。城市入口可从[全球代理 IP 地区资源中心](https:\u002F\u002Fwww.quanqiudaili.com\u002Flocations\u002F)开始核对。",{"type":31,"level":79,"children":611},[612],{"text":613,"type":29},"为什么 Shopee、TikTok 和本地采样要分别测试",{"type":25,"children":615},[616],{"text":617,"type":29},"Shopee 商品页、TikTok 公开内容和本地搜索的页面识别与平台规则不同；登录态账号和高频自动化还需要单独评估账号环境与访问频率。",{"type":25,"children":619},[620],{"text":621,"type":29},"胡志明市、河内、岘港等城市可作为测试样本，实际城市资源和目标站识别结果要以后台和目标站实测为准。",{"type":25,"children":623},[624],{"text":625,"type":29},"三类公开页面的脱敏对照记录（同一 Chrome、越南语界面、VND、无登录 Cookie）：",{"type":70,"children":627},[628],{"text":629,"type":29},"| 城市 \u002F 时间（UTC+8） | 目标页面 | 状态码 | 实际差异 | 结论 |\n| --- | --- | --- | --- | --- |\n| 胡志明市 15:10 | Shopee 商品页 | 200 | VND 价格正常，配送地需手动选择 | 仅确认页面可达 |\n| 河内 15:16 | TikTok 公开页 | 200 | 越南语标题，推荐内容未固定城市 | 账号与算法仍是变量 |\n| 岘港 15:22 | 本地搜索“代理 ip” | 200 | 越南语 SERP，地图模块为空 | 城市识别受目标站数据影响 |",{"type":25,"children":631},[632],{"text":633,"type":29},"三条记录均为公开页面采样，不能据此推断登录账号、库存或推荐流一定按城市切换。",{"type":25,"children":635},[636],{"text":637,"type":29},"本文所说的本地采样，是指对公开搜索、电商商品页、广告落地页或公开内容做小样本地区观察，不包括绕过登录、访问权限或平台限制。",{"type":70,"children":639},[640],{"text":641,"type":29},"| 任务 | 判断 | 说明 |\n| --- | --- | --- |\n| Shopee 商品页、价格和库存观察 | 适合小样本验证 | 记录城市、语言、货币、状态码和页面差异 |\n| TikTok 公开内容和地区推荐观察 | 可以测试 | 还要控制账号、设备、Cookie 和操作节奏 |\n| 越南本地搜索、广告页面观察 | 适合地区对照 | 需要固定关键词、语言、城市和设备 |\n| Shopee\u002FTikTok 长期账号登录 | 谨慎评估 | 单独评估静态住宅和完整环境一致性 |\n| 高频自动采集或登录态批量操作 | 不应仅依赖代理 IP | 还涉及平台规则、频率、账号和页面逻辑 |",{"type":31,"level":32,"children":643},[644],{"text":278,"type":29},{"type":70,"children":646},[647],{"text":648,"type":29},"| 任务 | 优先评估 | 主要指标 |\n| --- | --- | --- |\n| Shopee\u002FTikTok 公开页面短时采样 | 动态住宅代理 IP | 地区命中、页面内容、状态码 |\n| 账号登录、连续会话或后台操作 | 静态住宅代理 IP | 出口连续、登录保持、验证码 |\n| 高并发公开数据且住宅属性不高 | 机房代理 IP | 速度、超时率、目标站接受度 |",{"type":31,"level":32,"children":650},[651],{"text":652,"type":29},"如何完成越南地区采样",{"type":25,"children":654},[655],{"text":656,"type":29},"1. 分别建立 Shopee、TikTok 和本地搜索的目标 URL 或关键词清单。\n2. 设定目标城市，并固定语言、时区、设备和 Cookie。\n3. 先访问 IP 检测页，记录国家、城市和出口 IP。\n4. 分别访问三个平台，记录页面语言、货币、重定向、状态码和验证码。\n5. 每次只改变一个变量，例如代理 IP 或城市。\n6. 出口显示越南但页面不本地化时，检查 IP 库、语言、Cookie 和平台规则。",{"type":25,"children":658},[659],{"text":660,"type":29},"不要把 Shopee 的页面结果直接推断为 TikTok 的内容结果，两个平台的识别和风控逻辑可能不同。",{"type":31,"level":32,"children":662},[663],{"text":664,"type":29},"哪些越南业务不能只靠代理 IP 完成",{"type":25,"children":666},[667],{"text":668,"type":29},"Shopee 商品页、TikTok 公开内容和本地搜索可以分别做小样本验证；涉及长期账号、登录态批量操作或高频自动化时，还要单独评估账号环境、访问频率、页面逻辑和平台规则，不能只依赖代理 IP。",{"type":31,"level":32,"children":670},[671],{"text":322,"type":29},{"type":41,"format":42,"children":673},[674,678,682,686,690],{"type":45,"children":675},[676],{"text":677,"type":29},"国家粒度还是城市粒度资源；",{"type":45,"children":679},[680],{"text":681,"type":29},"动态住宅代理 IP 的切换和粘性会话；",{"type":45,"children":683},[684],{"text":685,"type":29},"静态住宅代理 IP 的长期会话和出口条件；",{"type":45,"children":687},[688],{"text":689,"type":29},"目标平台的协议、设备和账号要求；",{"type":45,"children":691},[692],{"text":693,"type":29},"测试、替换和售后排障范围。",{"type":31,"level":32,"children":695},[696],{"text":697,"type":29},"Shopee、TikTok 和本地采样应该如何选择代理 IP",{"type":25,"children":699},[700],{"text":701,"type":29},"产品选型可从[动态住宅代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fdynamic-residential)开始；长期账号或连续会话再评估[静态住宅代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fstatic-residential-standard)。",{"type":31,"level":32,"children":703},[704],{"text":194,"type":29},{"type":31,"level":79,"children":706},[707],{"text":708,"type":29},"Shopee 和 TikTok 是否应分别测试代理 IP？",{"type":25,"children":710},[711],{"text":712,"type":29},"建议分别测试。两个平台的页面、内容和账号识别条件不同，不能用一个平台的结果替代另一个平台的验证。",{"type":31,"level":79,"children":714},[715],{"text":716,"type":29},"越南本地采样优先用动态还是静态住宅代理 IP？",{"type":25,"children":718},[719],{"text":720,"type":29},"短时、多城市公开采样通常先测试动态住宅代理 IP；长期账号和连续会话才优先评估静态住宅代理 IP。",{"type":31,"level":79,"children":722},[723],{"text":724,"type":29},"出口显示越南但页面语言或货币不正确怎么办？",{"type":25,"children":726},[727],{"text":728,"type":29},"检查语言、时区、Cookie、设备和重定向，再用同一目标 URL 做单变量复测。必要时交叉查看多个地区检测源。",{"type":31,"level":79,"children":730},[731],{"text":732,"type":29},"代理 IP 能保证 TikTok 账号正常使用吗？",{"type":25,"children":734},[735],{"text":736,"type":29},"不能。账号资料、设备指纹、Cookie、操作频率和平台规则都会影响结果。",{"type":25,"children":738},[739],{"text":230,"type":29},{"type":25,"children":741},[742],{"text":743,"type":29},"先分别选一个 Shopee 商品页、TikTok 公开页面和本地搜索词，完成同一城市的三组小样本记录，再决定是否扩大任务规模。涉及账号或指纹浏览器时可查看[指纹浏览器代理 IP 怎么设置](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fanti-detect-browser-proxy-setup-hub)；需要产品建议时可前往[注册或咨询全球代理服务](https:\u002F\u002Fwww.quanqiudaili.com\u002Fsignup)。",[745],{"source":6,"id":7,"documentId":8,"translationKey":8,"locale":9,"slug":10,"path":11,"_path":11,"title":12,"description":13,"excerpt":13,"image":14,"publishedAt":15,"updatedAt":16,"author":17,"tags":746,"featured":19,"sortOrder":20,"readingTime":21,"bodyType":22,"bodyBlocks":747,"bodyHtml":235},[],[748,751,754,757,771,774,777,780,783,786,789,792,795,798,801,804,807,810,813,816,819,822,825,828,831,834,837,840,843,846,849,852,855,858,861,864,867,870,873,876,879,882,885,888,891,894,897],{"type":25,"children":749},[750],{"text":28,"type":29},{"type":31,"level":32,"children":752},[753],{"text":35,"type":29},{"type":25,"children":755},[756],{"text":39,"type":29},{"type":41,"format":42,"children":758},[759,762,765,768],{"type":45,"children":760},[761],{"text":48,"type":29},{"type":45,"children":763},[764],{"text":52,"type":29},{"type":45,"children":766},[767],{"text":56,"type":29},{"type":45,"children":769},[770],{"text":60,"type":29},{"type":25,"children":772},[773],{"text":64,"type":29},{"type":31,"level":32,"children":775},[776],{"text":68,"type":29},{"type":70,"children":778},[779],{"text":73,"type":29},{"type":31,"level":32,"children":781},[782],{"text":77,"type":29},{"type":31,"level":79,"children":784},[785],{"text":82,"type":29},{"type":25,"children":787},[788],{"text":86,"type":29},{"type":31,"level":79,"children":790},[791],{"text":90,"type":29},{"type":25,"children":793},[794],{"text":94,"type":29},{"type":31,"level":79,"children":796},[797],{"text":98,"type":29},{"type":25,"children":799},[800],{"text":102,"type":29},{"type":31,"level":79,"children":802},[803],{"text":106,"type":29},{"type":25,"children":805},[806],{"text":110,"type":29},{"type":31,"level":79,"children":808},[809],{"text":114,"type":29},{"type":25,"children":811},[812],{"text":118,"type":29},{"type":31,"level":32,"children":814},[815],{"text":122,"type":29},{"type":70,"children":817},[818],{"text":126,"type":29},{"type":31,"level":32,"children":820},[821],{"text":130,"type":29},{"type":25,"children":823},[824],{"text":134,"type":29},{"type":25,"children":826},[827],{"text":138,"type":29},{"type":31,"level":79,"children":829},[830],{"text":142,"type":29},{"type":25,"children":832},[833],{"text":146,"type":29},{"type":70,"children":835},[836],{"text":150,"type":29},{"type":25,"children":838},[839],{"text":154,"type":29},{"type":25,"children":841},[842],{"text":158,"type":29},{"type":25,"children":844},[845],{"text":162,"type":29},{"type":25,"children":847},[848],{"text":166,"type":29},{"type":25,"children":850},[851],{"text":170,"type":29},{"type":25,"children":853},[854],{"text":174,"type":29},{"type":31,"level":32,"children":856},[857],{"text":178,"type":29},{"type":25,"children":859},[860],{"text":182,"type":29},{"type":25,"children":862},[863],{"text":186,"type":29},{"type":25,"children":865},[866],{"text":190,"type":29},{"type":31,"level":32,"children":868},[869],{"text":194,"type":29},{"type":31,"level":79,"children":871},[872],{"text":198,"type":29},{"type":25,"children":874},[875],{"text":202,"type":29},{"type":31,"level":79,"children":877},[878],{"text":206,"type":29},{"type":25,"children":880},[881],{"text":210,"type":29},{"type":31,"level":79,"children":883},[884],{"text":214,"type":29},{"type":25,"children":886},[887],{"text":218,"type":29},{"type":31,"level":79,"children":889},[890],{"text":222,"type":29},{"type":25,"children":892},[893],{"text":226,"type":29},{"type":25,"children":895},[896],{"text":230,"type":29},{"type":25,"children":898},[899],{"text":234,"type":29},null,[],[]]