针对经济学大数据的 Python 爬虫实践指南

发布于:2025-06-23 ⋅ 阅读:(24) ⋅ 点赞:(0)

一、经济学数据来源推荐

1. 宏观经济与全球数据

  • 世界银行开放数据(World Bank Open Data)

    • 网址:https://data.worldbank.org

    • 数据内容:GDP、人口、贸易、贫困率等全球指标。

    • 爬取方式

      • 直接下载 CSV/Excel 文件。

      • 使用 wbdata 库调用 API:

import wbdata
# 查询中国和美国的GDP数据(NY.GDP.MKTP.CD为GDP指标代码)
data = wbdata.get_data(indicator="NY.GDP.MKTP.CD", country=["CHN", "USA"])

国际货币基金组织(IMF)

import requests
url = "https://www.imf.org/external/datamapper/api/v1/PCPI"
response = requests.get(url)
json_data = response.json()  # 解析人均消费价格指数数据

 

2. 金融市场与公司数据

  • 雅虎财经(Yahoo Finance)

    • 网址:https://finance.yahoo.com

    • 数据内容:股票价格、财务报表、历史交易数据。

    • 爬取工具:使用 yfinance 库直接获取数据:

import yfinance as yf
# 获取苹果公司股票数据(2020-2023)
data = yf.download("AAPL", start="2020-01-01", end="2023-01-01")
data.to_csv("AAPL_stock.csv")

美国证券交易委员会(SEC EDGAR)

 

3. 政府公开数据

4. 开放数据平台

5. 学术研究数据


二、Python 爬取实战示例

案例 1:爬取世界银行 GDP 数据

import requests
import pandas as pd

# 通过API获取JSON数据
url = "http://api.worldbank.org/v2/country/CHN/indicator/NY.GDP.MKTP.CD?format=json"
response = requests.get(url)
data = response.json()

# 解析数据并转为DataFrame
gdp_data = []
for entry in data[1]:
    gdp_data.append({
        "year": entry["date"],
        "gdp": entry["value"]
    })
df = pd.DataFrame(gdp_data)
df.to_csv("china_gdp.csv", index=False)

案例 2:爬取中国统计局CPI数据(动态页面示例)

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("http://data.stats.gov.cn/easyquery.htm?cn=A01")

# 模拟点击“居民消费价格指数(CPI)”
time.sleep(2)
driver.find_element(By.XPATH, '//a[contains(text(), "价格指数")]').click()
time.sleep(1)
driver.find_element(By.XPATH, '//a[contains(text(), "居民消费价格指数")]').click()

# 获取表格数据
table = driver.find_element(By.CLASS_NAME, "public_table")
rows = table.find_elements(By.TAG_NAME, "tr")
for row in rows:
    print(row.text)

driver.quit()

三、注意事项

  1. 合法性

    • 检查目标网站的 robots.txt(如 https://example.com/robots.txt)。

    • 避免爬取需登录或明确禁止爬取的数据。

  2. 反爬对策

    • 设置合理的请求头(User-Agent、Referer):

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
    "Referer": "https://example.com"
}
    • 使用代理 IP 池(推荐付费服务如 BrightData、Oxylabs)。
    1. 数据处理

      • 清洗数据:处理缺失值(df.dropna())、去重(df.drop_duplicates())。

      • 标准化格式:日期转换(pd.to_datetime())、单位统一。

    2. 伦理与引用

      • 引用数据来源(如注明数据来自世界银行或国家统计局)。

      • 仅用于学术研究,禁止商业用途。


    四、进阶工具推荐

    • Scrapy 框架:适合大规模数据抓取,支持异步和分布式爬取。

    • Apify:无代码爬虫平台,可抓取动态渲染页面(如含 JavaScript 的政府数据平台)。

    • Jupyter Notebook:交互式开发环境,便于调试和数据分析。


    总结
    经济学大数据的爬取应聚焦权威数据源(如世界银行、政府统计局),优先使用官方 API 或结构化数据下载。若需定制化爬虫,务必遵守法律与平台规则。爬取后结合 Pandas、NumPy 进行数据分析,或利用计量经济学库(如 statsmodels)进行模型构建,这将为您的经济研究提供强大的数据支持。

     

     

     


    网站公告

    今日签到

    点亮在社区的每一天
    去签到