goffredoadinolfi/Camera_Senate_Working_Paper_15_05_2026
GitHub: goffredoadinolfi/Camera_Senate_Working_Paper_15_05_2026
这是一个用于下载和分析意大利议会记录的Python工具集,旨在支持政治话语的定量研究。
Stars: 0 | Forks: 0
# 用于议会语料库分析的Python脚本
本仓库包含了用于文章计算工作流程的Python脚本。脚本按照分析的主要阶段进行组织:下载PDF格式的议会记录、从PDF文件中读取文本内容、统计会议次数和词频、生成关键词计数数据集,以及创建文章中使用的图表。
本研究使用的议会记录是众议院和参议院的机构材料,可通过其官方网站公开查阅和使用。然而,由于尚不完全清楚第三方是否可以通过公共代码库重新分发完整的语料库,因此下载的会议数据库并未包含在GitHub代码库中。出于谨慎考虑,代码库提供了文章中使用的Python脚本、派生数据集和图表,而原始记录仍可从官方机构来源获取,前提是其继续可用且符合当前的访问条件。
这些脚本在 **Spyder 6** 中开发和执行,使用 **conda-forge** 打包的 **Python 3.11.11**,运行在 **IPython 8.37.0** 交互式环境中。
## 仓库结构
### 下载 PDF 记录
此文件夹包含用于从众议院和参议院的公共议会资料库下载PDF格式议会记录的脚本。
下载脚本生成或读取议会会议的URL,将PDF文件以标准化文件名保存到本地,并创建日志文件记录每个请求的结果。
采集程序设计为一种受控和增量式的抓取形式。脚本在请求之间引入暂停,并按有限的时间段或机构单位进行,而不是进行激进或大规模的同时访问。
一些下载脚本也可能出现在单独的 `Camera` 和 `Senato` 文件夹中,这些文件夹保留了工作流程中使用的众议院和参议院特定的采集脚本。
此阶段使用的主要库包括:
- `requests`
- `pandas`
- `pathlib`
- `time`
- `random`
- `re`
### 计数单词 Senate Chamber
此文件夹包含用于统计众议院和参议院语料库中的会议次数、单词数、字符数以及特定关键词出现次数的脚本。
文章使用的主要语料库规模数据集直接从下载的PDF文件生成。计数脚本扫描众议院和参议院的PDF文件夹,从每个文件名中提取年份,读取每个文档的文本内容,统计单词数,并按年份和议会机构汇总结果。生成的数据集随后用于文章中的描述性统计和可视化。
典型的输出包括以下年度计数:
- 议会会议次数;
- 总词数;
- 总字符数;
- 选定的政治关键词;
- 众议院/参议院比较。
此阶段使用的主要库包括:
- `pandas`
- `os`
- `pathlib`
- `re`
- `PyPDF2`
### 图表 1 和 2 Python 输出
此文件夹包含前两张图的脚本和输出图表。
这些图表可视化了众议院和参议院语料库中议会活动的年度分布,包括:
- 按年份统计的会议总数;
- 按年份统计的总词数。
图表使用 `pandas`、`openpyxl` 和 `matplotlib` 从派生的年度数据集生成。
此阶段使用的主要库包括:
- `pandas`
- `matplotlib`
- `openpyxl`
- `os`
### 图表 3 和 4 战争 民主 社会主义
此文件夹包含关键词图的脚本和输出图表。
脚本生成:
- 一条折线图,比较参议院和众议院语料库中 *guerra* 一词的年度原始出现次数;
- 一个包含多个面板的图表,比较选定的政治关键词,包括 *democrazia*、*socialismo*、*suffragio*、*fascismo* 和 *assemblea costituente*。
虚线代表参议院,实线代表众议院。图表使用原始的年度计数,因此应结合一般语料库规模指标(尤其是年度总词数)一起解读。
此阶段使用的主要库包括:
- `pandas`
- `matplotlib`
- `openpyxl`
- `os`
## 计算环境
脚本在以下环境中开发和执行:
```
Spyder 6
Python 3.11.11 | packaged by conda-forge
IPython 8.37.0
```
标签:PDF处理, 关键词计数, 图表生成, 工作流程自动化, 开源代码, 意大利众议院, 意大利参议院, 意大利政治, 政治学研究, 政治文本分析, 数字取证, 数据清洗, 数据科学, 数据集生成, 文本挖掘, 文本提取, 文献计量学, 研究工具, 自动化脚本, 计算社会科学, 议会数据分析, 议会记录, 资源验证, 逆向工具