Парсер документов PEP, основанный на фреймворке Scrapy. Парсер создает два файла отчета. Файл, содержащий список PEP с номером документа, заголовком и статусом, а также файл сводной статистики по количеству документов в различных статусах.
- Сброр всех PEP (номер, название и статус);
- Подсчёт количества статусов документов;
- Сохранение результатов работы парсинга в csv-формате.
Клонировать репозиторий и перейти в папку в проектом:
git clone https://github.com/vasilekx/scrapy_parser_pep.gitcd cat_charity_fundСоздать и активировать виртуальное окружение:
python3 -m venv venv-
Если у вас Linux/MacOS
source venv/bin/activate -
Если у вас windows
source venv/scripts/activate
Установить зависимости из файла requirements.txt:
python3 -m pip install --upgrade pippip install -r requirements.txtЗапуск парсера:
scrapy crawl pep - results - для результатов парсинга;
Содержимое файла pep_2022-10-23T00-56-51.csv:
| number | name | status |
|---|---|---|
| 1 | PEP Purpose and Guidelines | Active |
| 243 | Module Repository Upload Mechanism | Withdrawn |
| 247 | API for Cryptographic Hash Functions | Final |
| 248 | Python Database API Specification v1.0 | Final |
| 249 | Python Database API Specification v2.0 | Final |
| 246 | Object Adaptation | Rejected |
| 244 | The | Rejected |
| 245 | Python Interface Syntax | Rejected |
| 242 | Numeric Kinds | Rejected |
| 237 | Unifying Long Integers and Integers | Final |
| 240 | Adding a Rational Literal to Python | Rejected |
| 239 | Adding a Rational Type to Python | Rejected |
| 238 | Changing the Division Operator | Final |
| 241 | Metadata for Python Software Packages | Superseded |
| 235 | Import on Case-Insensitive Platforms | Final |
| 236 | Back to the future | Final |
| 8103 | 2022 Term steering council election | Active |
| ... | ... | ... |
Содержимое файла status_summary_2022-10-23_03-57-14.csv:
| Статус | Количество |
|---|---|
| Superseded | 19 |
| Final | 261 |
| Active | 35 |
| Withdrawn | 54 |
| Rejected | 119 |
| Deferred | 36 |
| Accepted | 41 |
| Draft | 32 |
| Total | 597 |