# 🌐 跨境数据采集脚本 (crossborder) 这是一个用于跨境电子商务平台数据采集的 Python 脚本工具集。支持多个省市(如山东、广东、河南等)的数据下载与清洗入库操作,适用于自动化数据抓取、数据治理及数据库导入等场景。 ## 🧩 项目概述 该项目使用了以下技术栈: - 🕸️ Selenium/Scrapy:网页数据采集 - 📊 Pandas/OpenPyXL:数据处理与 Excel 操作 - 🔐 Requests/PyCryptodome:API 请求与加密 - 🛠️ Poetry:依赖管理 & 构建发布 ## 📁 项目结构 ```plaintext crossborder/ ├── crossborder/ │ ├── anhui/ │ ├── fujian/ │ ├── guangdong/ │ ├── hebei/ │ ├── henan/ │ ├── jiangsu/ │ ├── quanguo/ │ ├── shandong/ │ ├── zhejiang/ │ ├── utils/ │ ├── data_cleaning_to_db.py │ └── cli.py ├── pyproject.toml └── README.md ``` ## 🗂️ 输出文件路径 ```plaintext crossborder/ └── downloads/ └── shandong/ └── data_*.xlsx ``` ## ⚙️ 安装指南 ```bash # 1. 安装Poetry curl -sSL https://install.python-poetry.org | python3 - # 2. 克隆仓库 git clone http://42.192.203.166:3000/wyp/crossborder.git cd crossborder # 3. 安装依赖 poetry install ``` ## 🚀 使用方法 ```bash # 省级数据采集 poetry run run-shandong # 启动山东省数据采集 poetry run run-guangdong # 启动广东省省级数据采集 poetry run run-henan # 启动河南省数据采集 poetry run run-fujian # 启动福建省数据采集 poetry run run-anhui # 启动安徽省数据采集 poetry run run-jiangsu # 启动江苏省数据采集 poetry run run-hebei # 启动河北省数据采集 poetry run run-zhejiang # 启动浙江省数据采集 # 特殊命令 poetry run run-guangdong-city # 启动广东省城市级数据采集 poetry run run-quanguo # 启动全国性平台数据采集 poetry run run-total-city # 清洗各省市数据并统一入库 ``` ## ⚠️ 注意事项 1. downloads/目录打包时排除,不会包含在最终发布包中 2. 需要Python ≥3.10环境 3. Chrome浏览器需与WebDriver版本匹配 4. 需要配置数据库连接信息才能使用入库功能 ## 📦 打包发布 ```bash # 构建源码包 poetry build --format sdist # 生成文件位置 dist/crossborder-*.tar.gz # 也可构建wheel包 poetry build --format wheel #打包exe文件 pip install pyinstaller pyinstaller --name=run-crossborder --onefile --add-data "crossborder;crossborder" --hidden-import=crossborder.utils.log --hidden-import=crossborder.shandong.selenium_shandong_download --hidden-import=crossborder.guangdong.selenium_guangdong_download --hidden-import=crossborder.guangdong.selenium_guangdong_city --hidden-import=crossborder.henan.selenium_henan_download --hidden-import=crossborder.fujian.selenium_fujian_download --hidden-import=crossborder.anhui.crawl_gov_anhui_full --hidden-import=crossborder.jiangsu.crawl_gov_jiangsu_full --hidden-import=crossborder.hebei.crawl_gov_hebei_full --hidden-import=crossborder.zhejiang.crawl_gov_zhejiang_full --hidden-import=crossborder.quanguo.selenium_download crossborder/cli.py pyinstaller --name=export-sql --onefile --hidden-import=crossborder.utils.log --hidden-import=crossborder.utils.db_helper --hidden-import=crossborder.utils.constants --hidden-import=sqlalchemy --hidden-import=sqlalchemy.dialects.mysql export_sql.py ``` ## 📋 打包配置 1. 排除目录:所有downloads/目录 2. 打包格式:同时支持wheel和sdist 3. 入口命令:通过pyproject.toml中的tool.poetry.scripts定义 ## 📚 开发者信息 - 作者:王玉鹏 (Wang Yupeng), 张帆 (Zhang Fan) - 邮箱:wangyupeng@yto.net.cn - 许可证:MIT License - Python版本:≥3.10 - 依赖管理:Poetry ## 🔧 核心依赖库 | 库名 | 版本要求 | 功能说明 | |--------------|----------|------------------------| | Selenium | ≥4.32.0 | 自动化浏览器操作 | | Requests | ≥2.32.3 | HTTP 请求 | | Pandas | ≥2.2.3 | 数据分析与处理 | | Scrapy | ≥2.13.0 | 网络爬虫框架 | | BeautifulSoup| ≥4.13.4 | HTML 解析器 | | lxml | ≥5.4.0 | XML/HTML 解析 | | Click | ≥8.1.8 | CLI 命令行解析 | | SQLAlchemy | ≥2.0.41 | ORM 数据库操作 | | PyCryptodome | ≥3.23.0 | 加密算法支持 |