Skip to content

Longneckedrabbit/251013_Python-crawling-government-data_ZZJuan

Repository files navigation

辽宁省每日价格数据自动下载脚本

本项目是一个使用 Python 和 Selenium 编写的自动化脚本,用于从辽宁省发展和改革委员会网站上批量下载每日的农副产品和蔬菜市场价格数据。

功能

  • 自动打开目标网页,并进入正确的数据展示框架(iframe)。
  • 根据用户输入的起止日期,遍历该区间内的每一天。
  • 为每一天自动执行以下操作:
    1. 查询数据:在页面上输入指定日期并点击查询。
    2. 下载数据表
      • 进入“辽宁主要农副产品市场价格”的详情页,导出并下载数据文件。
      • 返回主页后,再进入“辽宁主要蔬菜品种市场价格”的详情页,导出并下载数据文件。
  • 文件重命名:将下载的 .xls 文件自动重命名为包含日期和表格类型的格式(例如:2024-10-14-农副产品.xls),便于管理和识别。
  • 增强稳定性
    • 包含反机器人检测机制,模拟真实用户浏览器行为。
    • 使用智能等待(Explicit Waits)机制,确保在页面元素加载完成后再进行操作,提高脚本运行的稳定性。
    • 在下载或导航出错时,会尝试恢复到主页面,避免程序因单日失败而完全中断。

如何使用

1. 环境配置

在运行此脚本之前,您需要准备好以下环境:

  • Python 3.x
  • Google Chrome 浏览器
  • ChromeDriver:一个用于驱动 Chrome 浏览器的 WebDriver。重要提示:您下载的 ChromeDriver 版本必须与您安装的 Chrome 浏览器版本完全对应。

2. 安装依赖

将本项目克隆或下载到本地后,在项目根目录下打开终端,运行以下命令来安装所需的 Python 库:

pip install -r requirements.txt

3. 修改脚本配置

打开 price_crawler.py 文件,您需要根据您的本地环境修改文件顶部的配置项:

# --- 配置区 ---
# 将这里的路径修改为您本地存放 chromedriver.exe 的绝对路径
CHROME_DRIVER_PATH = r"F:\\1.PyCharm project\\251013_Python crawling government data_ZZJuan\\chromedriver.exe"

# 下载文件的存储目录,默认为项目文件夹下的 "downloads" 子目录
DOWNLOAD_DIRECTORY = os.path.join(os.getcwd(), "downloads")

# 目标网页URL,一般无需修改
TARGET_URL = "https://fgw.ln.gov.cn/fgw/xxgk/jgjc/mrjg/index.shtml"

请务必将 CHROME_DRIVER_PATH 的值更新为您自己电脑上 chromedriver.exe 文件的实际路径。

4. 运行脚本

配置完成后,通过终端运行脚本:

python price_crawler.py

程序启动后,会提示您输入要下载数据的开始日期和结束日期,格式为 YYYY-MM-DD

请输入开始日期 (格式 YYYY-MM-DD): 2024-01-01
请输入结束日期 (格式 YYYY-MM-DD): 2024-01-10

输入完毕后,脚本将自动打开 Chrome 浏览器并开始执行下载任务。下载的文件会保存在 DOWNLOAD_DIRECTORY 指定的文件夹中。

注意事项

  • 由于脚本需要遍历每一天并执行多次页面跳转和下载,获取长时间跨度(例如一年)的数据可能需要数小时,请耐心等待。
  • 请确保在运行脚本期间网络连接稳定。
  • 如果目标网站的页面结构发生变化(例如,按钮的ID被修改),脚本可能会运行失败。届时需要更新代码以适应新的页面结构。

About

基于谷歌浏览器,模拟点击按钮,爬取政府公开资料

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages