怎么做网站维护免费字体下载
2026/5/21 18:09:55 网站建设 项目流程
怎么做网站维护,免费字体下载,秘密入口3秒自动转接连接,网站怎样绑定域名目录 🐍 Python 爬虫实战:2025年最新全国行政区划代码抓取(解决反爬与动态加载) 📅 项目背景 🛠️ 技术栈与环境 💡 核心功能实现 1. 健壮的网络请求层(Session Retry) 2. 混合解析策略(正则大法好) 3. 反反爬虫策略 📊 数据输出格式 1. `administrativ…目录🐍 Python 爬虫实战:2025年最新全国行政区划代码抓取(解决反爬与动态加载)📅 项目背景🛠️ 技术栈与环境💡 核心功能实现1. 健壮的网络请求层(Session Retry)2. 混合解析策略(正则大法好)3. 反反爬虫策略📊 数据输出格式1. `administrative_divisions.csv`2. `administrative_divisions.json`🚀 如何运行第一步:安装依赖第二步:运行脚本完整代码📝 总结专栏导读🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手🏳️‍🌈 个人博客主页:请点击—— 个人的博客主页 求收藏🏳️‍🌈 Github主页:请点击—— Github主页 求Star⭐🏳️‍🌈 知乎主页:请点击—— 知乎主页 求关注🏳️‍🌈 CSDN博客主页:请点击—— CSDN的博客主页 求关注👍 该系列文章专栏:请点击——Python办公自动化专栏 求订阅🕷 此外还有爬虫专栏:请点击——Python爬虫基础专栏 求订阅📕 此外还有python基础专栏:请点击——Python基础学习专栏 求订阅文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏❤️ 欢迎各位佬关注! ❤️🐍 Python 爬虫实战:2025年最新全国行政区划代码抓取(解决反爬与动态加载)摘要:本文详细介绍如何使用 Python 编写一个健壮的爬虫,从目标网站抓取中国最新的省、市、县三级行政区划代码。我们将重点攻克 SSL 验证错误、动态 JS 链接解析以及服务器反爬限制等技术难点,最终输出结构化的 CSV 和 JSON 数据。📅 项目背景在数据分析、物流配送、用户注册等场景中,一份最新、准确的**全国行政区划代码(省市区三级联动数据)**是必不可少的基础数据。虽然国家统计局每年会发布相关数据,但通过编程自动获取并整理成易用的格式(如 JSON/CSV)仍然是一个常见的技术需求。本项目旨在解决以下核心问题:数据完整性:覆盖全国所有省份(包括港澳台及新疆兵团等特殊区域)。层级关系:精确构建 省 - 市 - 县/区 的树状结构。技术攻坚:解决目标网站的 SSL 握手失败、动态 JavaScript 链接展开以及访问频率限制问题。🛠️ 技术栈与环境语言:Python 3.x核心库:requests:处理 HTTP/HTTPS 请求。re:正则表达式,用于高效解析 HTML 和 JS 代码。csvjson:数据持久化。timerandom:模拟人类行为,规避反爬。💡 核心功能实现1. 健壮的网络请求层(Session Retry)在抓取过程中,我们遇到了SSL: WRONG_VERSION_NUMBER和服务器连接重置等问题。为了提高稳定性,我们没有直接使用requests.get,而是构建了一个带有重试机制的Session。importrequestsfromrequests.adaptersimportHTTPAdapterfromrequests.packages.urllib3.util.retryimportRetry# 配置重试策略session=requests.Session()retries=Retry(total=5,backoff_factor=1,status_forcelist=[500,502,503,504])adapter=HTTPAdapter(max_retries=retries)# 挂载适配器,同时支持 HTTP 和 HTTPSsession.mount('http://',adapter)session.mount('https://',adapter)# 设置通用的 Headers 和 Cookies(模拟浏览器)session.headers.update({"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64)...","Referer":"https://www.suchajun.com/..."})2. 混合解析策略(正则大法好)目标网站的页面结构存在两种情况:标准链接:普通的a标签,直接提取href。JS 动态链接:部分省份(如辽宁、甘肃)的下级城市通过javascript:void(0)触发,数据隐藏在data-code属性中。我们需要同时处理这两种情况:# 模式1:标准链接匹配pattern_level2_link=r'diva[^]+href="([^"]+)"[^]*([^]+)/a/div\s*div(\d+)/div'# 模式2:JS 动态链接匹配(关键!)# 提取>=r'div.*a([^]+)/a/div'# 逻辑判断ifmatches_level2_link:# 处理标准链接...elifmatches_level2_js:# 处理 JS 链接,手动构造 URL# link = f"{base_url}/richang/xingzhengquhuadaima/{code}"3. 反反爬虫策略为了避免被服务器识别为机器人并封禁 IP,我们采取了“慢即是快”的策略:随机延迟:每次请求前随机休眠3.0到6.0秒。验证页面检测:如果被重定向到验证码页面,脚本会检测并报警(虽然通过增加延迟已基本规避)。数据清洗:对提取的链接进行strip()和rstrip(':')处理,防止畸形 URL 导致请求失败。📊 数据输出格式脚本运行完成后,会生成两个文件:1.administrative_divisions.csv适合导入数据库或 Excel 分析,包含父子级联关系。LevelNameCodeLinkParent Code1辽宁省210000…/2100002沈阳市210100…/2101002100003和平区210102…/2101022101002.administrative_divisions.json树状结构,适合前端组件(如级联选择器 Cascader)直接使用。[{"name":"辽宁省","code":"210000","level":1,"children":[{"name":"沈阳市","code":"210100",

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

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

立即咨询