├── Analysis_Models.ipynb ├── LICENSE ├── Parsers_Mosgorsud.ipynb ├── Parsers_Pravosudie_Links.ipynb ├── Parsers_Pravosudie_Texts.ipynb ├── README.md ├── gbc_dv.pkl └── gbc_ipv.pkl /Analysis_Models.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 19, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "data": { 10 | "text/html": [ 11 | "
\n", 12 | "\n", 25 | "\n", 26 | " \n", 27 | " \n", 28 | " \n", 29 | " \n", 30 | " \n", 31 | " \n", 32 | " \n", 33 | " \n", 34 | " \n", 35 | " \n", 36 | " \n", 37 | " \n", 38 | " \n", 39 | " \n", 40 | " \n", 41 | " \n", 42 | " \n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | "
абонентскийабонентский номеравгуставтомашинаавтомобильагрессивныйагрессияадвокатадвокатскийадекватно...являться причинаявляться роднойявныйягодицаязыкякобыянварьяремныйяремный венаящик
ID
82060183bdf7472e85540c4370d3693c0000010200...0100000000
377054bb5594776bb30ff64c6ebcffb80000000300...0000000000
6df614cdfd7d029cde776d52ed7932d20010020100...0000000000
50593bc68988c7aae8f9f2f2bf243f8a0000000100...0000003000
54e009a196b97005a1b4d828670345e70000500100...0000000000
\n", 199 | "

5 rows × 5522 columns

\n", 200 | "
" 201 | ], 202 | "text/plain": [ 203 | " абонентский абонентский номер август \\\n", 204 | "ID \n", 205 | "82060183bdf7472e85540c4370d3693c 0 0 0 \n", 206 | "377054bb5594776bb30ff64c6ebcffb8 0 0 0 \n", 207 | "6df614cdfd7d029cde776d52ed7932d2 0 0 1 \n", 208 | "50593bc68988c7aae8f9f2f2bf243f8a 0 0 0 \n", 209 | "54e009a196b97005a1b4d828670345e7 0 0 0 \n", 210 | "\n", 211 | " автомашина автомобиль агрессивный \\\n", 212 | "ID \n", 213 | "82060183bdf7472e85540c4370d3693c 0 0 1 \n", 214 | "377054bb5594776bb30ff64c6ebcffb8 0 0 0 \n", 215 | "6df614cdfd7d029cde776d52ed7932d2 0 0 2 \n", 216 | "50593bc68988c7aae8f9f2f2bf243f8a 0 0 0 \n", 217 | "54e009a196b97005a1b4d828670345e7 0 5 0 \n", 218 | "\n", 219 | " агрессия адвокат адвокатский адекватно \\\n", 220 | "ID \n", 221 | "82060183bdf7472e85540c4370d3693c 0 2 0 0 \n", 222 | "377054bb5594776bb30ff64c6ebcffb8 0 3 0 0 \n", 223 | "6df614cdfd7d029cde776d52ed7932d2 0 1 0 0 \n", 224 | "50593bc68988c7aae8f9f2f2bf243f8a 0 1 0 0 \n", 225 | "54e009a196b97005a1b4d828670345e7 0 1 0 0 \n", 226 | "\n", 227 | " ... являться причина являться родной \\\n", 228 | "ID ... \n", 229 | "82060183bdf7472e85540c4370d3693c ... 0 1 \n", 230 | "377054bb5594776bb30ff64c6ebcffb8 ... 0 0 \n", 231 | "6df614cdfd7d029cde776d52ed7932d2 ... 0 0 \n", 232 | "50593bc68988c7aae8f9f2f2bf243f8a ... 0 0 \n", 233 | "54e009a196b97005a1b4d828670345e7 ... 0 0 \n", 234 | "\n", 235 | " явный ягодица язык якобы январь \\\n", 236 | "ID \n", 237 | "82060183bdf7472e85540c4370d3693c 0 0 0 0 0 \n", 238 | "377054bb5594776bb30ff64c6ebcffb8 0 0 0 0 0 \n", 239 | "6df614cdfd7d029cde776d52ed7932d2 0 0 0 0 0 \n", 240 | "50593bc68988c7aae8f9f2f2bf243f8a 0 0 0 0 3 \n", 241 | "54e009a196b97005a1b4d828670345e7 0 0 0 0 0 \n", 242 | "\n", 243 | " яремный яремный вена ящик \n", 244 | "ID \n", 245 | "82060183bdf7472e85540c4370d3693c 0 0 0 \n", 246 | "377054bb5594776bb30ff64c6ebcffb8 0 0 0 \n", 247 | "6df614cdfd7d029cde776d52ed7932d2 0 0 0 \n", 248 | "50593bc68988c7aae8f9f2f2bf243f8a 0 0 0 \n", 249 | "54e009a196b97005a1b4d828670345e7 0 0 0 \n", 250 | "\n", 251 | "[5 rows x 5522 columns]" 252 | ] 253 | }, 254 | "execution_count": 19, 255 | "metadata": {}, 256 | "output_type": "execute_result" 257 | } 258 | ], 259 | "source": [ 260 | "import os\n", 261 | "import pandas as pd\n", 262 | "from sklearn.feature_extraction.text import CountVectorizer\n", 263 | "from sklearn.ensemble import GradientBoostingClassifier\n", 264 | "from sklearn.metrics import classification_report, precision_score, f1_score\n", 265 | "import pickle\n", 266 | "\n", 267 | "data = pd.read_excel('preprocessed_data_2018.xlsx', index_col=0).set_index('ID')\n", 268 | "cvect = CountVectorizer(min_df=0.05, ngram_range=(1, 2)).fit(data['text_prep'])\n", 269 | "\n", 270 | "pkl_filename = \"cvect.pkl\"\n", 271 | "with open(pkl_filename, 'wb') as file:\n", 272 | " pickle.dump(cvect, file)\n", 273 | " \n", 274 | "matrix = cvect.transform(data['text_prep'])\n", 275 | "td_matrix = pd.DataFrame(matrix.toarray(), index=data.index, columns=cvect.get_feature_names())\n", 276 | "td_matrix.head()" 277 | ] 278 | }, 279 | { 280 | "cell_type": "code", 281 | "execution_count": 20, 282 | "metadata": {}, 283 | "outputs": [ 284 | { 285 | "name": "stdout", 286 | "output_type": "stream", 287 | "text": [ 288 | "(1632,) (1632, 5522) (1128,) (1128, 5522)\n" 289 | ] 290 | } 291 | ], 292 | "source": [ 293 | "td_matrix['DV'] = data['DV']\n", 294 | "td_matrix['IPV'] = data['IPV']\n", 295 | "\n", 296 | "y_dv = td_matrix['DV'].astype(int)\n", 297 | "X_dv = td_matrix.drop([\"DV\", 'IPV'], axis=1)\n", 298 | "\n", 299 | "y_ipv = td_matrix[td_matrix['IPV'].notna()]['IPV'].astype(int).replace({2: 0}) # 0 - родственник, 1 - партнер\n", 300 | "X_ipv = td_matrix[td_matrix['IPV'].notna()].drop([\"DV\", 'IPV'], axis=1)\n", 301 | "print(y_dv.shape, X_dv.shape, y_ipv.shape, X_ipv.shape)" 302 | ] 303 | }, 304 | { 305 | "cell_type": "code", 306 | "execution_count": 21, 307 | "metadata": {}, 308 | "outputs": [], 309 | "source": [ 310 | "from sklearn.model_selection import train_test_split\n", 311 | "X_train, X_test, y_train, y_test = train_test_split(X_dv, y_dv, test_size=0.1, random_state=42)" 312 | ] 313 | }, 314 | { 315 | "cell_type": "code", 316 | "execution_count": 22, 317 | "metadata": {}, 318 | "outputs": [ 319 | { 320 | "name": "stdout", 321 | "output_type": "stream", 322 | "text": [ 323 | " precision recall f1-score support\n", 324 | "\n", 325 | " 0 1.00 1.00 1.00 457\n", 326 | " 1 1.00 1.00 1.00 1011\n", 327 | "\n", 328 | " accuracy 1.00 1468\n", 329 | " macro avg 1.00 1.00 1.00 1468\n", 330 | "weighted avg 1.00 1.00 1.00 1468\n", 331 | "\n", 332 | " precision recall f1-score support\n", 333 | "\n", 334 | " 0 0.88 0.62 0.73 47\n", 335 | " 1 0.86 0.97 0.91 117\n", 336 | "\n", 337 | " accuracy 0.87 164\n", 338 | " macro avg 0.87 0.79 0.82 164\n", 339 | "weighted avg 0.87 0.87 0.86 164\n", 340 | "\n" 341 | ] 342 | } 343 | ], 344 | "source": [ 345 | "gbc = GradientBoostingClassifier(max_depth=3, n_estimators=500, random_state=42)\n", 346 | "gbc.fit(X_train, y_train)\n", 347 | "pkl_filename = \"gbc_dv.pkl\"\n", 348 | "with open(pkl_filename, 'wb') as file:\n", 349 | " pickle.dump(gbc, file)\n", 350 | "prec_train = precision_score(y_train, gbc.predict(X_train))\n", 351 | "prec_test = precision_score(y_test, gbc.predict(X_test))\n", 352 | "print(classification_report(y_train, gbc.predict(X_train)))\n", 353 | "print(classification_report(y_test, gbc.predict(X_test)))" 354 | ] 355 | }, 356 | { 357 | "cell_type": "code", 358 | "execution_count": 23, 359 | "metadata": {}, 360 | "outputs": [], 361 | "source": [ 362 | "X_train, X_test, y_train, y_test = train_test_split(X_ipv, y_ipv, test_size=0.1, random_state=42)" 363 | ] 364 | }, 365 | { 366 | "cell_type": "code", 367 | "execution_count": 24, 368 | "metadata": {}, 369 | "outputs": [ 370 | { 371 | "name": "stdout", 372 | "output_type": "stream", 373 | "text": [ 374 | " precision recall f1-score support\n", 375 | "\n", 376 | " 0 0.99 0.78 0.87 203\n", 377 | " 1 0.95 1.00 0.97 812\n", 378 | "\n", 379 | " accuracy 0.95 1015\n", 380 | " macro avg 0.97 0.89 0.92 1015\n", 381 | "weighted avg 0.96 0.95 0.95 1015\n", 382 | "\n", 383 | " precision recall f1-score support\n", 384 | "\n", 385 | " 0 1.00 0.70 0.82 20\n", 386 | " 1 0.94 1.00 0.97 93\n", 387 | "\n", 388 | " accuracy 0.95 113\n", 389 | " macro avg 0.97 0.85 0.90 113\n", 390 | "weighted avg 0.95 0.95 0.94 113\n", 391 | "\n" 392 | ] 393 | } 394 | ], 395 | "source": [ 396 | "gbc = GradientBoostingClassifier(max_depth=3, n_estimators=50, random_state=42)\n", 397 | "gbc.fit(X_train, y_train)\n", 398 | "pkl_filename = \"gbc_ipv.pkl\"\n", 399 | "with open(pkl_filename, 'wb') as file:\n", 400 | " pickle.dump(gbc, file)\n", 401 | "prec_train = precision_score(y_train, gbc.predict(X_train))\n", 402 | "prec_test = precision_score(y_test, gbc.predict(X_test))\n", 403 | "print(classification_report(y_train, gbc.predict(X_train)))\n", 404 | "print(classification_report(y_test, gbc.predict(X_test)))" 405 | ] 406 | } 407 | ], 408 | "metadata": { 409 | "kernelspec": { 410 | "display_name": "Python 3", 411 | "language": "python", 412 | "name": "python3" 413 | }, 414 | "language_info": { 415 | "codemirror_mode": { 416 | "name": "ipython", 417 | "version": 3 418 | }, 419 | "file_extension": ".py", 420 | "mimetype": "text/x-python", 421 | "name": "python", 422 | "nbconvert_exporter": "python", 423 | "pygments_lexer": "ipython3", 424 | "version": "3.6.4" 425 | } 426 | }, 427 | "nbformat": 4, 428 | "nbformat_minor": 2 429 | } 430 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 LanaLob 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Parsers_Mosgorsud.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 2, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import requests\n", 10 | "from bs4 import BeautifulSoup\n", 11 | "import pandas as pd\n", 12 | "from math import ceil\n", 13 | "import time\n", 14 | "import os\n", 15 | "import win32com.client\n", 16 | "\n", 17 | "headers = {\n", 18 | " 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.41 YaBrowser/21.2.0.2458 Yowser/2.5 Safari/537.36'\n", 19 | "}" 20 | ] 21 | }, 22 | { 23 | "cell_type": "markdown", 24 | "metadata": {}, 25 | "source": [ 26 | "#### Этап 1. Собираем ссылки на дела" 27 | ] 28 | }, 29 | { 30 | "cell_type": "code", 31 | "execution_count": 3, 32 | "metadata": {}, 33 | "outputs": [], 34 | "source": [ 35 | "def get_n_pages_MGS(article, year):\n", 36 | " article = str(article)\n", 37 | " if ', ' in article:\n", 38 | " article = article.replace(', ', '%2C+')\n", 39 | " first_page_url = f'https://mos-gorsud.ru/search?formType=fullForm&courtAlias=&uid=&instance=1&processType=6&letterNumber=&caseNumber=&participant=&codex={article}&judge=&publishingState=&documentType=ab1da71&documentText=&year={year}&caseDateFrom=&caseDateTo=&caseFinalDateFrom=&caseFinalDateTo=&caseLegalForceDateFrom=&caseLegalForceDateTo=&docsDateFrom=&docsDateTo=&documentStatus=2&page=1'\n", 40 | " global headers\n", 41 | " response = requests.get(first_page_url, headers=headers)\n", 42 | " soup = BeautifulSoup(response.text)\n", 43 | " try:\n", 44 | " n_cases = int(soup.find('div', {'class':'resultsearch_text'}).get_text().strip().split('\\n')[0].split(': ')[1])\n", 45 | " except:\n", 46 | " n_cases = 0\n", 47 | " n_pages = ceil(n_cases/15)\n", 48 | " return n_pages" 49 | ] 50 | }, 51 | { 52 | "cell_type": "code", 53 | "execution_count": 4, 54 | "metadata": {}, 55 | "outputs": [], 56 | "source": [ 57 | "def build_url(article, year, page=1):\n", 58 | " article = str(article)\n", 59 | " if ', ' in article:\n", 60 | " article = article.replace(', ', '%2C+')\n", 61 | " url = f'https://mos-gorsud.ru/search?formType=fullForm&courtAlias=&uid=&instance=1&processType=6&letterNumber=&caseNumber=&participant=&codex={article}&judge=&publishingState=&documentType=ab1da71&documentText=&year={year}&caseDateFrom=&caseDateTo=&caseFinalDateFrom=&caseFinalDateTo=&caseLegalForceDateFrom=&caseLegalForceDateTo=&docsDateFrom=&docsDateTo=&documentStatus=2&page={page}'\n", 62 | " return url" 63 | ] 64 | }, 65 | { 66 | "cell_type": "code", 67 | "execution_count": 5, 68 | "metadata": {}, 69 | "outputs": [], 70 | "source": [ 71 | "def parse_one_page_MGS(url):\n", 72 | " global headers\n", 73 | " response = requests.get(url, headers=headers)\n", 74 | " table = pd.read_html(response.text)[0]\n", 75 | " soup = BeautifulSoup(response.text)\n", 76 | " nobrs = [tag for tag in soup.find('tbody').find_all('nobr') if tag.find('a') is not None]\n", 77 | " urls = ['https://mos-gorsud.ru' + tag.a.get('href').split('?')[0] for tag in nobrs]\n", 78 | " table['URL'] = urls\n", 79 | " return table" 80 | ] 81 | }, 82 | { 83 | "cell_type": "code", 84 | "execution_count": 6, 85 | "metadata": {}, 86 | "outputs": [ 87 | { 88 | "name": "stdout", 89 | "output_type": "stream", 90 | "text": [ 91 | "Статья 105, год 2018, страница 1/13\n", 92 | "Статья 105, год 2018, страница 2/13\n", 93 | "Статья 105, год 2018, страница 3/13\n", 94 | "Статья 105, год 2018, страница 4/13\n", 95 | "Статья 105, год 2018, страница 5/13\n", 96 | "Статья 105, год 2018, страница 6/13\n", 97 | "Статья 105, год 2018, страница 7/13\n", 98 | "Статья 105, год 2018, страница 8/13\n", 99 | "Статья 105, год 2018, страница 9/13\n", 100 | "Статья 105, год 2018, страница 10/13\n", 101 | "Статья 105, год 2018, страница 11/13\n", 102 | "Статья 105, год 2018, страница 12/13\n", 103 | "Статья 105, год 2018, страница 13/13\n", 104 | "Статья 107, год 2018, страница 1/1\n", 105 | "Статья 111, ч.4, год 2018, страница 1/6\n", 106 | "Статья 111, ч.4, год 2018, страница 2/6\n", 107 | "Статья 111, ч.4, год 2018, страница 3/6\n", 108 | "Статья 111, ч.4, год 2018, страница 4/6\n", 109 | "Статья 111, ч.4, год 2018, страница 5/6\n", 110 | "Статья 111, ч.4, год 2018, страница 6/6\n" 111 | ] 112 | }, 113 | { 114 | "data": { 115 | "text/html": [ 116 | "
\n", 117 | "\n", 130 | "\n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | "
Номер дела ~ материалаСтороныТекущее состояниеСудьяСтатьяКатегория делаСписок делURL
001-0830/2018Подсудимый: Коловертов А.В. (Ст. 105, Ч. 1;)Вступило в силу, 17.04.2019Филатов А.Ю.NaNNaNУголовные дела первой инстанции (Нагатинский р...https://mos-gorsud.ru/rs/nagatinskij/services/...
101-0808/2018Подсудимый: Жаров О.В. (Ст. 105, Ч. 1;)Вступило в силу, 10.01.2019Кузнецов В.С.NaNNaNУголовные дела первой инстанции (Люблинский ра...https://mos-gorsud.ru/rs/lyublinskij/services/...
201-0804/2018Подсудимый: Яровенко С.А. (Ст. 105, Ч. 1;)Вступило в силу, 20.02.2019Крутовская Л.А.NaNNaNУголовные дела первой инстанции (Нагатинский р...https://mos-gorsud.ru/rs/nagatinskij/services/...
301-0796/2018Подсудимый: Васильев Н.Б. (Ст. 105, Ч. 1;)Вступило в силу, 23.10.2018Борисенкова Н.В.NaNNaNУголовные дела первой инстанции (Нагатинский р...https://mos-gorsud.ru/rs/nagatinskij/services/...
401-0731/2018Подсудимый: Герасимова Е.А. (Ст. 105, Ч. 1;)Вступило в силу, 25.02.2019Филатов А.Ю.NaNNaNУголовные дела первой инстанции (Нагатинский р...https://mos-gorsud.ru/rs/nagatinskij/services/...
\n", 202 | "
" 203 | ], 204 | "text/plain": [ 205 | " Номер дела ~ материала Стороны \\\n", 206 | "0 01-0830/2018 Подсудимый: Коловертов А.В. (Ст. 105, Ч. 1;) \n", 207 | "1 01-0808/2018 Подсудимый: Жаров О.В. (Ст. 105, Ч. 1;) \n", 208 | "2 01-0804/2018 Подсудимый: Яровенко С.А. (Ст. 105, Ч. 1;) \n", 209 | "3 01-0796/2018 Подсудимый: Васильев Н.Б. (Ст. 105, Ч. 1;) \n", 210 | "4 01-0731/2018 Подсудимый: Герасимова Е.А. (Ст. 105, Ч. 1;) \n", 211 | "\n", 212 | " Текущее состояние Судья Статья Категория дела \\\n", 213 | "0 Вступило в силу, 17.04.2019 Филатов А.Ю. NaN NaN \n", 214 | "1 Вступило в силу, 10.01.2019 Кузнецов В.С. NaN NaN \n", 215 | "2 Вступило в силу, 20.02.2019 Крутовская Л.А. NaN NaN \n", 216 | "3 Вступило в силу, 23.10.2018 Борисенкова Н.В. NaN NaN \n", 217 | "4 Вступило в силу, 25.02.2019 Филатов А.Ю. NaN NaN \n", 218 | "\n", 219 | " Список дел \\\n", 220 | "0 Уголовные дела первой инстанции (Нагатинский р... \n", 221 | "1 Уголовные дела первой инстанции (Люблинский ра... \n", 222 | "2 Уголовные дела первой инстанции (Нагатинский р... \n", 223 | "3 Уголовные дела первой инстанции (Нагатинский р... \n", 224 | "4 Уголовные дела первой инстанции (Нагатинский р... \n", 225 | "\n", 226 | " URL \n", 227 | "0 https://mos-gorsud.ru/rs/nagatinskij/services/... \n", 228 | "1 https://mos-gorsud.ru/rs/lyublinskij/services/... \n", 229 | "2 https://mos-gorsud.ru/rs/nagatinskij/services/... \n", 230 | "3 https://mos-gorsud.ru/rs/nagatinskij/services/... \n", 231 | "4 https://mos-gorsud.ru/rs/nagatinskij/services/... " 232 | ] 233 | }, 234 | "execution_count": 6, 235 | "metadata": {}, 236 | "output_type": "execute_result" 237 | } 238 | ], 239 | "source": [ 240 | "articles = ['105', '107', '111, ч.4']\n", 241 | "year = 2018\n", 242 | "results = pd.DataFrame()\n", 243 | "\n", 244 | "for article in articles:\n", 245 | " n_pages = get_n_pages_MGS(article, year)\n", 246 | " \n", 247 | " for page in range(1, n_pages+1):\n", 248 | " print(f'Статья {article}, год {year}, страница {page}/{n_pages}')\n", 249 | " url = build_url(article, year, page)\n", 250 | " page_results = parse_one_page_MGS(url)\n", 251 | " results = pd.concat([results, page_results])\n", 252 | "results = results.reset_index(drop=True)\n", 253 | "results.head()" 254 | ] 255 | }, 256 | { 257 | "cell_type": "markdown", 258 | "metadata": {}, 259 | "source": [ 260 | "#### Этап 2. Добавляем ссылки на тексты приговоров" 261 | ] 262 | }, 263 | { 264 | "cell_type": "code", 265 | "execution_count": 7, 266 | "metadata": {}, 267 | "outputs": [], 268 | "source": [ 269 | "def get_verdict_url(case_url):\n", 270 | " global headers\n", 271 | " case_url += '#tabs-3'\n", 272 | " response = requests.get(case_url, headers=headers)\n", 273 | " soup = BeautifulSoup(response.text)\n", 274 | " tags_with_files = [tag for tag in soup.find_all('tbody')[-1].find_all('tr') if tag.find('a') is not None]\n", 275 | " verdict_file = [tag.a.get('href') for tag in tags_with_files if 'Приговор' in tag.text][0]\n", 276 | " verdict_file = 'https://mos-gorsud.ru' + verdict_file\n", 277 | " return verdict_file" 278 | ] 279 | }, 280 | { 281 | "cell_type": "code", 282 | "execution_count": 9, 283 | "metadata": {}, 284 | "outputs": [], 285 | "source": [ 286 | "n = len(results)\n", 287 | "for i in results.index:\n", 288 | " if i==0 or (i+1)%25==0:\n", 289 | " print(f'{i+1}/{n}')\n", 290 | " case_url = results.loc[i, 'URL']\n", 291 | " try:\n", 292 | " results.loc[i, 'URL_verdict'] = get_verdict_url(case_url)\n", 293 | " except:\n", 294 | " results.loc[i, 'URL_verdict'] = None\n", 295 | " time.sleep(0.3)" 296 | ] 297 | }, 298 | { 299 | "cell_type": "code", 300 | "execution_count": 8, 301 | "metadata": {}, 302 | "outputs": [], 303 | "source": [ 304 | "results.to_excel(f'MOSGORSUD_urls_{year}.xlsx')" 305 | ] 306 | }, 307 | { 308 | "cell_type": "markdown", 309 | "metadata": {}, 310 | "source": [ 311 | "#### Этап 3. Добавляем тексты приговоров" 312 | ] 313 | }, 314 | { 315 | "cell_type": "code", 316 | "execution_count": 10, 317 | "metadata": {}, 318 | "outputs": [], 319 | "source": [ 320 | "year = 2018\n", 321 | "results = pd.read_excel(f'MOSGORSUD_urls_{year}.xlsx', index_col=0)\n", 322 | "results['custom_id'] = results['URL'].apply(lambda x: x.split('/')[-1])" 323 | ] 324 | }, 325 | { 326 | "cell_type": "code", 327 | "execution_count": 11, 328 | "metadata": {}, 329 | "outputs": [], 330 | "source": [ 331 | "def get_text_by_url_MGS(url, verdict_id, folder='MOSGORSUD_CASES'):\n", 332 | " global headers\n", 333 | " filename = f'{verdict_id}.doc'\n", 334 | " if folder not in os.listdir():\n", 335 | " os.mkdir(folder)\n", 336 | " if filename not in os.listdir(folder): \n", 337 | " response = requests.get(url, headers=headers)\n", 338 | " with open(folder + \"\\\\\" + filename, 'wb') as file:\n", 339 | " file.write(response.content)\n", 340 | " word = win32com.client.Dispatch(\"Word.Application\")\n", 341 | " word.visible = False\n", 342 | " wb = word.Documents.Open(os.getcwd() + \"\\\\\" + folder + \"\\\\\" + filename)\n", 343 | " doc = word.ActiveDocument\n", 344 | " text = doc.Range().Text\n", 345 | " return text" 346 | ] 347 | }, 348 | { 349 | "cell_type": "code", 350 | "execution_count": 11, 351 | "metadata": {}, 352 | "outputs": [], 353 | "source": [ 354 | "for i in results.index:\n", 355 | " if i==0 or i%25==0:\n", 356 | " print(f'{i+1}/{len(results)}')\n", 357 | " verdict_url = results.loc[i, 'URL_verdict']\n", 358 | " verdict_id = results.loc[i, 'custom_id']\n", 359 | " results.loc[i, 'text'] = get_text_by_url_MGS(verdict_url, verdict_id)" 360 | ] 361 | }, 362 | { 363 | "cell_type": "code", 364 | "execution_count": 14, 365 | "metadata": {}, 366 | "outputs": [], 367 | "source": [ 368 | "results['text'] = results['text'].str.replace('\\r', ' ')\n", 369 | "results.to_excel(f'MOSGORSUD_texts_{year}.xlsx')" 370 | ] 371 | } 372 | ], 373 | "metadata": { 374 | "kernelspec": { 375 | "display_name": "Python 3", 376 | "language": "python", 377 | "name": "python3" 378 | }, 379 | "language_info": { 380 | "codemirror_mode": { 381 | "name": "ipython", 382 | "version": 3 383 | }, 384 | "file_extension": ".py", 385 | "mimetype": "text/x-python", 386 | "name": "python", 387 | "nbconvert_exporter": "python", 388 | "pygments_lexer": "ipython3", 389 | "version": "3.7.4" 390 | } 391 | }, 392 | "nbformat": 4, 393 | "nbformat_minor": 2 394 | } 395 | -------------------------------------------------------------------------------- /Parsers_Pravosudie_Links.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "from selenium import webdriver as wb\n", 10 | "from selenium.webdriver.common.by import By\n", 11 | "from selenium.webdriver.support.ui import WebDriverWait\n", 12 | "from selenium.webdriver.support import expected_conditions as EC\n", 13 | "from bs4 import BeautifulSoup\n", 14 | "import pandas as pd\n", 15 | "import requests\n", 16 | "import re\n", 17 | "import json\n", 18 | "import time\n", 19 | "from math import ceil" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 2, 25 | "metadata": {}, 26 | "outputs": [], 27 | "source": [ 28 | "def get_id_from_link(link):\n", 29 | " return re.search(r'id=.+?&', link)[0][3:-1]" 30 | ] 31 | }, 32 | { 33 | "cell_type": "code", 34 | "execution_count": 34, 35 | "metadata": {}, 36 | "outputs": [], 37 | "source": [ 38 | "def one_page_to_table(page_html):\n", 39 | " df = pd.read_html(page_html)[5]\n", 40 | " soup = BeautifulSoup(page_html)\n", 41 | " urls = [tag.get('href') for tag in soup.find('ul', {'id': 'resultsList'}).find('tbody').find_all('a')]\n", 42 | " try:\n", 43 | " df['URL'] = urls\n", 44 | " except:\n", 45 | " df = pd.read_html(page_html)[2]\n", 46 | " df['URL'] = urls\n", 47 | " df['ID'] = df['URL'].apply(get_id_from_link)\n", 48 | " return df" 49 | ] 50 | }, 51 | { 52 | "cell_type": "code", 53 | "execution_count": 4, 54 | "metadata": {}, 55 | "outputs": [], 56 | "source": [ 57 | "def get_n_cases(page_html):\n", 58 | " return int(BeautifulSoup(page_html).find('div', {'class':'resultCount'}).get('data-total').replace(' ', ''))" 59 | ] 60 | }, 61 | { 62 | "cell_type": "code", 63 | "execution_count": 5, 64 | "metadata": {}, 65 | "outputs": [], 66 | "source": [ 67 | "def get_n_pages(n_cases):\n", 68 | " n_steps = ceil(n_cases / 20)\n", 69 | " return n_steps" 70 | ] 71 | }, 72 | { 73 | "cell_type": "markdown", 74 | "metadata": {}, 75 | "source": [ 76 | "### Работа парсера ссылок с ГАС на примере 2018 года" 77 | ] 78 | }, 79 | { 80 | "cell_type": "markdown", 81 | "metadata": {}, 82 | "source": [ 83 | "#### 105 статья (случай, когда нужна статья целиком, все части)" 84 | ] 85 | }, 86 | { 87 | "cell_type": "code", 88 | "execution_count": 25, 89 | "metadata": {}, 90 | "outputs": [ 91 | { 92 | "name": "stdout", 93 | "output_type": "stream", 94 | "text": [ 95 | "5698 285\n" 96 | ] 97 | } 98 | ], 99 | "source": [ 100 | "browser = wb.Chrome()\n", 101 | "article = 105\n", 102 | "year = 2018\n", 103 | "url = f'https://bsr.sudrf.ru/bigs/portal.html#%7B%22groups%22:%5B%22Уголовные%20дела%22%5D,%22sorts%22:%5B%7B%22field%22:%22score%22,%22order%22:%22desc%22%7D%5D,%22type%22:%22MULTIQUERY%22,%22multiqueryRequest%22:%7B%22queryRequests%22:%5B%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22u_case_user_article%5C%22,%5C%22operator%5C%22:%5C%22EX%5C%22,%5C%22query%5C%22:%5C%22Статья%20{article}%5C%22,%5C%22sQuery%5C%22:null%7D%5D,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22name%5C%22:%5C%22Уголовные%20дела%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22CATEGORIES%22%7D,%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22common%5C%22,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22,%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22case_user_document_num%5C%22,%5C%22operator%5C%22:%5C%22GE%5C%22,%5C%22query%5C%22:%5C%221%5C%22%7D%5D%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22FACET_QUERY###case_user_document_num###Да%22%7D,%7B%22type%22:%22SQ%22,%22queryId%22:%227f9e8ff8-4bc8-46aa-bcbd-f2b3ed5f159f%22,%22operator%22:%22AND%22%7D%5D%7D,%22simpleSearchFieldsBundle%22:null,%22filterGroups%22:%5B%7B%22filterQueries%22:%5B%7B%22field%22:%22case_user_doc_result_date%22,%22query%22:%22{year}%20год%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D,%7B%22field%22:%22case_user_document_type%22,%22query%22:%22Приговор%22,%22not%22:false%7D,%7B%22field%22:%22case_user_doc_result%22,%22query%22:%22Вынесен%20ПРИГОВОР%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D%5D,%22groupMode%22:%22OR%22,%22not%22:false%7D%5D%7D'\n", 104 | "browser.get(url)\n", 105 | "time.sleep(2)\n", 106 | "page_html = browser.page_source\n", 107 | "n_cases = get_n_cases(page_html)\n", 108 | "n_pages = get_n_pages(n_cases)\n", 109 | "print(n_cases, n_pages) # количество приговоров и страниц выдачи" 110 | ] 111 | }, 112 | { 113 | "cell_type": "code", 114 | "execution_count": 26, 115 | "metadata": { 116 | "collapsed": true 117 | }, 118 | "outputs": [ 119 | { 120 | "name": "stdout", 121 | "output_type": "stream", 122 | "text": [ 123 | "100/5698\n" 124 | ] 125 | }, 126 | { 127 | "name": "stderr", 128 | "output_type": "stream", 129 | "text": [ 130 | "C:\\Users\\svetl\\Anaconda3\\lib\\site-packages\\xlsxwriter\\worksheet.py:931: UserWarning: Ignoring URL 'https://bsr.sudrf.ru/bigs/showDocument.html' with link or location/anchor > 255 characters since it exceeds Excel's limit for URLS\n", 131 | " force_unicode(url))\n" 132 | ] 133 | }, 134 | { 135 | "name": "stdout", 136 | "output_type": "stream", 137 | "text": [ 138 | "200/5698\n", 139 | "300/5698\n", 140 | "400/5698\n", 141 | "500/5698\n", 142 | "600/5698\n", 143 | "700/5698\n", 144 | "800/5698\n", 145 | "900/5698\n", 146 | "1000/5698\n", 147 | "1100/5698\n", 148 | "1200/5698\n", 149 | "1300/5698\n", 150 | "1400/5698\n", 151 | "1500/5698\n", 152 | "1600/5698\n", 153 | "1700/5698\n", 154 | "1800/5698\n", 155 | "1900/5698\n", 156 | "2000/5698\n", 157 | "2100/5698\n", 158 | "2200/5698\n", 159 | "2300/5698\n", 160 | "2400/5698\n", 161 | "2500/5698\n", 162 | "2600/5698\n", 163 | "2700/5698\n", 164 | "2800/5698\n", 165 | "2900/5698\n", 166 | "3000/5698\n", 167 | "3100/5698\n", 168 | "3200/5698\n", 169 | "3300/5698\n", 170 | "3400/5698\n", 171 | "3500/5698\n", 172 | "3600/5698\n", 173 | "3700/5698\n", 174 | "3800/5698\n", 175 | "3900/5698\n", 176 | "4000/5698\n", 177 | "4100/5698\n", 178 | "4200/5698\n", 179 | "4300/5698\n", 180 | "4400/5698\n", 181 | "4500/5698\n", 182 | "4600/5698\n", 183 | "4700/5698\n", 184 | "4800/5698\n", 185 | "4900/5698\n", 186 | "5000/5698\n", 187 | "5100/5698\n", 188 | "5200/5698\n", 189 | "5300/5698\n", 190 | "5400/5698\n", 191 | "5500/5698\n", 192 | "5600/5698\n" 193 | ] 194 | }, 195 | { 196 | "data": { 197 | "text/html": [ 198 | "
\n", 199 | "\n", 212 | "\n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | "
АннотацияНомер дела (материала)Тип документаСтатья УК РФДата поступленияДата решенияСубъект РФНаименование судаФИОРезультатURLID
01Приговор2-31/2018ПриговорСтатья 105 Часть 2 п.г; Статья 105 Часть 2 п.г13.09.201822.10.2018Республика ТатарстанВерховный Суд Республики ТатарстанПарахин А.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...ec89b941970471362dc925f201c91098
12Приговор1-63/2018 (1-1539/2017;)ПриговорСтатья 105 Часть 2 п.ж; Статья 105 Часть 2 п.п...01.12.201701.06.2018Республика ТатарстанНабережночелнинский городской судХуббатуллин Н.Б.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...1b61023f0dc291d773ca92fe22f85f7d
23Приговор2-4/2018ПриговорСтатья 105 Часть 2 п.д29.01.201829.03.2018Тверская областьТверской областной судТертерян А.Н.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...d6bc8a8bb14a4db4ce7d50ba8073b9fa
34Приговор1-8/2018 (1-49/2017;)ПриговорСтатья 105 Часть 2 п.в03.11.201730.01.2018Свердловская областьСвердловский областной судПоличинский А.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...3b8b13f92c16de8465ace460479d93ef
45Приговор2-3/2018ПриговорСтатья 105 Часть 2 п.ж19.01.201806.03.2018Чувашская Республика - ЧувашияВерховный Суд Чувашской РеспубликиСидорова М.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...080ea8dbc5586681f6308698c13ab858
..........................................
135694Приговор1-55/2018ПриговорСтатья 166 Часть 1; Статья 158 Часть 1; Статья...18.06.201818.07.2018Пензенская областьНижнеломовский районный судЗуев Денис ОлеговичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...253dc06ad9e72adfb72fb0fef8d58f5e
145695Приговор1-23/2018ПриговорСтатья 167 Часть 2; Статья 139 Часть 1; Статья...30.03.201826.04.2018Архангельская областьПинежский районный судШехурин Николай АлександровичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...e61cb29bb1224ae8bab51ac7b7c3099b
155696Приговор1-223/2018ПриговорСтатья 111 Часть 2 п.з; Статья 112 Часть 2 п.з...03.09.201813.11.2018Красноярский крайЖелезногорский городской судЕвсеев Андрей АнатольевичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...4c8a45287e2c1753de6ff91831c4757e
165697Приговор1-274/2018ПриговорСтатья 30 Часть 3, Статья 167 Часть 2; Статья ...05.10.201817.12.2018Архангельская областьКотласский городской судЯковлева Екатерина АлексеевнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...95a2d6306e5644e0614837ef21ea7540
175698Приговор1-21/2018 (1-700/2017;)ПриговорСтатья 161 Часть 1; Статья 161 Часть 1; Статья...20.12.201715.05.2018Челябинская областьМиасский городской судСоболев С.С.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...acbb61f3f45d0cf7892ceba9756cbe56
\n", 410 | "

5698 rows × 13 columns

\n", 411 | "
" 412 | ], 413 | "text/plain": [ 414 | " № Аннотация Номер дела (материала) Тип документа \\\n", 415 | "0 1 Приговор 2-31/2018 Приговор \n", 416 | "1 2 Приговор 1-63/2018 (1-1539/2017;) Приговор \n", 417 | "2 3 Приговор 2-4/2018 Приговор \n", 418 | "3 4 Приговор 1-8/2018 (1-49/2017;) Приговор \n", 419 | "4 5 Приговор 2-3/2018 Приговор \n", 420 | ".. ... ... ... ... \n", 421 | "13 5694 Приговор 1-55/2018 Приговор \n", 422 | "14 5695 Приговор 1-23/2018 Приговор \n", 423 | "15 5696 Приговор 1-223/2018 Приговор \n", 424 | "16 5697 Приговор 1-274/2018 Приговор \n", 425 | "17 5698 Приговор 1-21/2018 (1-700/2017;) Приговор \n", 426 | "\n", 427 | " Статья УК РФ Дата поступления \\\n", 428 | "0 Статья 105 Часть 2 п.г; Статья 105 Часть 2 п.г 13.09.2018 \n", 429 | "1 Статья 105 Часть 2 п.ж; Статья 105 Часть 2 п.п... 01.12.2017 \n", 430 | "2 Статья 105 Часть 2 п.д 29.01.2018 \n", 431 | "3 Статья 105 Часть 2 п.в 03.11.2017 \n", 432 | "4 Статья 105 Часть 2 п.ж 19.01.2018 \n", 433 | ".. ... ... \n", 434 | "13 Статья 166 Часть 1; Статья 158 Часть 1; Статья... 18.06.2018 \n", 435 | "14 Статья 167 Часть 2; Статья 139 Часть 1; Статья... 30.03.2018 \n", 436 | "15 Статья 111 Часть 2 п.з; Статья 112 Часть 2 п.з... 03.09.2018 \n", 437 | "16 Статья 30 Часть 3, Статья 167 Часть 2; Статья ... 05.10.2018 \n", 438 | "17 Статья 161 Часть 1; Статья 161 Часть 1; Статья... 20.12.2017 \n", 439 | "\n", 440 | " Дата решения Субъект РФ \\\n", 441 | "0 22.10.2018 Республика Татарстан \n", 442 | "1 01.06.2018 Республика Татарстан \n", 443 | "2 29.03.2018 Тверская область \n", 444 | "3 30.01.2018 Свердловская область \n", 445 | "4 06.03.2018 Чувашская Республика - Чувашия \n", 446 | ".. ... ... \n", 447 | "13 18.07.2018 Пензенская область \n", 448 | "14 26.04.2018 Архангельская область \n", 449 | "15 13.11.2018 Красноярский край \n", 450 | "16 17.12.2018 Архангельская область \n", 451 | "17 15.05.2018 Челябинская область \n", 452 | "\n", 453 | " Наименование суда ФИО \\\n", 454 | "0 Верховный Суд Республики Татарстан Парахин А.А. \n", 455 | "1 Набережночелнинский городской суд Хуббатуллин Н.Б. \n", 456 | "2 Тверской областной суд Тертерян А.Н. \n", 457 | "3 Свердловский областной суд Поличинский А.А. \n", 458 | "4 Верховный Суд Чувашской Республики Сидорова М.А. \n", 459 | ".. ... ... \n", 460 | "13 Нижнеломовский районный суд Зуев Денис Олегович \n", 461 | "14 Пинежский районный суд Шехурин Николай Александрович \n", 462 | "15 Железногорский городской суд Евсеев Андрей Анатольевич \n", 463 | "16 Котласский городской суд Яковлева Екатерина Алексеевна \n", 464 | "17 Миасский городской суд Соболев С.С. \n", 465 | "\n", 466 | " Результат URL \\\n", 467 | "0 Вынесен ПРИГОВОР https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 468 | "1 Вынесен ПРИГОВОР https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 469 | "2 Вынесен ПРИГОВОР https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 470 | "3 Вынесен ПРИГОВОР https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 471 | "4 Вынесен ПРИГОВОР https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 472 | ".. ... ... \n", 473 | "13 Вынесен ПРИГОВОР https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 474 | "14 Вынесен ПРИГОВОР https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 475 | "15 Вынесен ПРИГОВОР https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 476 | "16 Вынесен ПРИГОВОР https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 477 | "17 Вынесен ПРИГОВОР https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 478 | "\n", 479 | " ID \n", 480 | "0 ec89b941970471362dc925f201c91098 \n", 481 | "1 1b61023f0dc291d773ca92fe22f85f7d \n", 482 | "2 d6bc8a8bb14a4db4ce7d50ba8073b9fa \n", 483 | "3 3b8b13f92c16de8465ace460479d93ef \n", 484 | "4 080ea8dbc5586681f6308698c13ab858 \n", 485 | ".. ... \n", 486 | "13 253dc06ad9e72adfb72fb0fef8d58f5e \n", 487 | "14 e61cb29bb1224ae8bab51ac7b7c3099b \n", 488 | "15 4c8a45287e2c1753de6ff91831c4757e \n", 489 | "16 95a2d6306e5644e0614837ef21ea7540 \n", 490 | "17 acbb61f3f45d0cf7892ceba9756cbe56 \n", 491 | "\n", 492 | "[5698 rows x 13 columns]" 493 | ] 494 | }, 495 | "execution_count": 26, 496 | "metadata": {}, 497 | "output_type": "execute_result" 498 | } 499 | ], 500 | "source": [ 501 | "# при возникновении ошибки со стороны ГАС перезапустите ячейку - парсер продолжить работать с прежнего места\n", 502 | "if 'all_data' not in locals():\n", 503 | " all_data = pd.DataFrame()\n", 504 | "curr_position = len(all_data)\n", 505 | "for i in range(curr_position, n_cases+1, 20):\n", 506 | " browser.get('http://www.sudrf.ru/')\n", 507 | " url = f'https://bsr.sudrf.ru/bigs/portal.html#%7B%22start%22:{i},%22rows%22:20,%22groups%22:%5B%22Уголовные%20дела%22%5D,%22sorts%22:%5B%7B%22field%22:%22score%22,%22order%22:%22desc%22%7D%5D,%22type%22:%22MULTIQUERY%22,%22multiqueryRequest%22:%7B%22queryRequests%22:%5B%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22u_case_user_article%5C%22,%5C%22operator%5C%22:%5C%22EX%5C%22,%5C%22query%5C%22:%5C%22Статья%20{article}%5C%22,%5C%22sQuery%5C%22:null%7D%5D,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22name%5C%22:%5C%22Уголовные%20дела%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22CATEGORIES%22%7D,%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22common%5C%22,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22,%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22case_user_document_num%5C%22,%5C%22operator%5C%22:%5C%22GE%5C%22,%5C%22query%5C%22:%5C%221%5C%22%7D%5D%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22FACET_QUERY###case_user_document_num###Да%22%7D,%7B%22type%22:%22SQ%22,%22queryId%22:%227f9e8ff8-4bc8-46aa-bcbd-f2b3ed5f159f%22,%22operator%22:%22AND%22%7D%5D%7D,%22simpleSearchFieldsBundle%22:null,%22filterGroups%22:%5B%7B%22filterQueries%22:%5B%7B%22field%22:%22case_user_doc_result_date%22,%22query%22:%22{year}%20год%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D,%7B%22field%22:%22case_user_document_type%22,%22query%22:%22Приговор%22,%22not%22:false%7D,%7B%22field%22:%22case_user_doc_result%22,%22query%22:%22Вынесен%20ПРИГОВОР%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D%5D,%22groupMode%22:%22OR%22,%22not%22:false%7D%5D%7D'\n", 508 | " browser.get(url)\n", 509 | "\n", 510 | " element = WebDriverWait(browser, 25).until(\n", 511 | " EC.presence_of_element_located((By.CSS_SELECTOR, \"#resultViewSelectorOuter > a:nth-child(2)\"))\n", 512 | " )\n", 513 | " \n", 514 | " while 'resultHeader' not in browser.page_source:\n", 515 | " time.sleep(0.1)\n", 516 | " time.sleep(5)\n", 517 | " \n", 518 | " browser.find_element_by_css_selector('#resultViewSelectorOuter > a:nth-child(2)').click()\n", 519 | "\n", 520 | " while 'id=\"resultsList\"' not in browser.page_source:\n", 521 | " time.sleep(0.1)\n", 522 | " time.sleep(1)\n", 523 | " data_per_step = one_page_to_table(browser.page_source)\n", 524 | " all_data = pd.concat([all_data, data_per_step])\n", 525 | " if len(all_data)%100==0:\n", 526 | " print(f'{len(all_data)}/{n_cases}')\n", 527 | " all_data.to_excel(f'{article}_{year}_cases_links.xlsx')\n", 528 | "all_data" 529 | ] 530 | }, 531 | { 532 | "cell_type": "code", 533 | "execution_count": 3, 534 | "metadata": {}, 535 | "outputs": [], 536 | "source": [ 537 | "all_data.to_excel(f'{article}_{year}_cases_links.xlsx')" 538 | ] 539 | }, 540 | { 541 | "cell_type": "code", 542 | "execution_count": null, 543 | "metadata": {}, 544 | "outputs": [], 545 | "source": [ 546 | "del all_data" 547 | ] 548 | }, 549 | { 550 | "cell_type": "markdown", 551 | "metadata": {}, 552 | "source": [ 553 | "#### 111 часть 4 (случай, когда нужна только часть статьи)" 554 | ] 555 | }, 556 | { 557 | "cell_type": "code", 558 | "execution_count": 28, 559 | "metadata": {}, 560 | "outputs": [ 561 | { 562 | "name": "stdout", 563 | "output_type": "stream", 564 | "text": [ 565 | "3175 159\n" 566 | ] 567 | } 568 | ], 569 | "source": [ 570 | "browser = wb.Chrome()\n", 571 | "year = 2018\n", 572 | "complex_article = '111_4'\n", 573 | "article = complex_article.split('_')[0]\n", 574 | "part = complex_article.split('_')[1]\n", 575 | "url = f'https://bsr.sudrf.ru/bigs/portal.html#%7B%22groups%22:%5B%22Уголовные%20дела%22%5D,%22sorts%22:%5B%7B%22field%22:%22score%22,%22order%22:%22desc%22%7D%5D,%22type%22:%22MULTIQUERY%22,%22multiqueryRequest%22:%7B%22queryRequests%22:%5B%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22u_case_user_article%5C%22,%5C%22operator%5C%22:%5C%22EX%5C%22,%5C%22query%5C%22:%5C%22Статья%20{article}%20%20Часть%20{part}%5C%22,%5C%22sQuery%5C%22:null%7D%5D,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22name%5C%22:%5C%22Уголовные%20дела%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22CATEGORIES%22%7D,%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22common%5C%22,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22,%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22case_user_document_num%5C%22,%5C%22operator%5C%22:%5C%22GE%5C%22,%5C%22query%5C%22:%5C%221%5C%22%7D%5D%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22FACET_QUERY###case_user_document_num###Да%22%7D,%7B%22type%22:%22SQ%22,%22queryId%22:%227f9e8ff8-4bc8-46aa-bcbd-f2b3ed5f159f%22,%22operator%22:%22AND%22%7D%5D%7D,%22simpleSearchFieldsBundle%22:null,%22filterGroups%22:%5B%7B%22filterQueries%22:%5B%7B%22field%22:%22case_user_doc_result_date%22,%22query%22:%22{year}%20год%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D,%7B%22field%22:%22case_user_document_type%22,%22query%22:%22Приговор%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D,%7B%22field%22:%22case_user_doc_result%22,%22query%22:%22Вынесен%20ПРИГОВОР%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D%5D,%22groupMode%22:%22OR%22,%22not%22:false%7D%5D,%22noOrpho%22:false%7D'\n", 576 | "browser.get(url)\n", 577 | "time.sleep(2)\n", 578 | "page_html = browser.page_source\n", 579 | "n_cases = get_n_cases(page_html)\n", 580 | "n_pages = get_n_pages(n_cases)\n", 581 | "print(n_cases, n_pages)" 582 | ] 583 | }, 584 | { 585 | "cell_type": "code", 586 | "execution_count": 29, 587 | "metadata": {}, 588 | "outputs": [ 589 | { 590 | "name": "stdout", 591 | "output_type": "stream", 592 | "text": [ 593 | "100/3175\n", 594 | "200/3175\n", 595 | "300/3175\n", 596 | "400/3175\n", 597 | "500/3175\n", 598 | "600/3175\n", 599 | "700/3175\n", 600 | "800/3175\n", 601 | "900/3175\n", 602 | "1000/3175\n", 603 | "1100/3175\n", 604 | "1200/3175\n", 605 | "1300/3175\n", 606 | "1400/3175\n", 607 | "1500/3175\n", 608 | "1600/3175\n", 609 | "1700/3175\n", 610 | "1800/3175\n", 611 | "1900/3175\n", 612 | "2000/3175\n", 613 | "2100/3175\n", 614 | "2200/3175\n", 615 | "2300/3175\n", 616 | "2400/3175\n", 617 | "2500/3175\n", 618 | "2600/3175\n", 619 | "2700/3175\n", 620 | "2800/3175\n", 621 | "2900/3175\n", 622 | "3000/3175\n", 623 | "3100/3175\n" 624 | ] 625 | }, 626 | { 627 | "data": { 628 | "text/html": [ 629 | "
\n", 630 | "\n", 643 | "\n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | " \n", 750 | " \n", 751 | " \n", 752 | " \n", 753 | " \n", 754 | " \n", 755 | " \n", 756 | " \n", 757 | " \n", 758 | " \n", 759 | " \n", 760 | " \n", 761 | " \n", 762 | " \n", 763 | " \n", 764 | " \n", 765 | " \n", 766 | " \n", 767 | " \n", 768 | " \n", 769 | " \n", 770 | " \n", 771 | " \n", 772 | " \n", 773 | " \n", 774 | " \n", 775 | " \n", 776 | " \n", 777 | " \n", 778 | " \n", 779 | " \n", 780 | " \n", 781 | " \n", 782 | " \n", 783 | " \n", 784 | " \n", 785 | " \n", 786 | " \n", 787 | " \n", 788 | " \n", 789 | " \n", 790 | " \n", 791 | " \n", 792 | " \n", 793 | " \n", 794 | " \n", 795 | " \n", 796 | " \n", 797 | " \n", 798 | " \n", 799 | " \n", 800 | " \n", 801 | " \n", 802 | " \n", 803 | " \n", 804 | " \n", 805 | " \n", 806 | " \n", 807 | " \n", 808 | " \n", 809 | " \n", 810 | " \n", 811 | " \n", 812 | " \n", 813 | " \n", 814 | " \n", 815 | " \n", 816 | " \n", 817 | " \n", 818 | " \n", 819 | " \n", 820 | " \n", 821 | " \n", 822 | " \n", 823 | " \n", 824 | " \n", 825 | " \n", 826 | " \n", 827 | " \n", 828 | " \n", 829 | " \n", 830 | " \n", 831 | " \n", 832 | " \n", 833 | " \n", 834 | " \n", 835 | " \n", 836 | " \n", 837 | " \n", 838 | " \n", 839 | " \n", 840 | "
АннотацияНомер дела (материала)Тип документаСтатья УК РФДата поступленияДата решенияСубъект РФНаименование судаФИОРезультатURLID
01Статья 111 Часть 4; Статья 111 Часть 4...Приго...1-587/2018ПриговорСтатья 111 Часть 4; Статья 111 Часть 424.08.201827.12.2018Московская областьОрехово-Зуевский городской судЛобузов А.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...8ca3c0e82417771b7327e0fb748cdda6
12Статья 111 Часть 4; Статья 111 Часть 4...Приго...1-196/2018ПриговорСтатья 111 Часть 4; Статья 111 Часть 424.07.201809.10.2018Курганская областьШадринский районный судСумин Ю.В.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...f43b786f0f54aab8983531e471961966
23Статья 111 Часть 4; Статья 111 Часть 4...Приго...1-74/2018 (1-1168/2017;)ПриговорыСтатья 111 Часть 4; Статья 111 Часть 427.12.201726.01.2018Вологодская областьВологодский городской судАрхипов А.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...020e244c83624b727a9060daaaa14048
34Статья 111 Часть 4; Статья 111 Часть 4...Приго...1-189/2018ПриговорСтатья 111 Часть 4; Статья 111 Часть 411.07.201820.08.2018Хабаровский крайСуд района имени ЛазоНе заполненоВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...a026c4b8eac7a92bd6a5d5d510b57ed2
45Статья 111 Часть 4; Статья 111 Часть 4...Приго...1-78/2018ПриговорСтатья 111 Часть 4; Статья 111 Часть 418.09.201811.12.2018Смоленская областьДуховщинский районный судМосквичев Виктор СергеевичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...6863c4bb5fedb8416299e2e130f3cfa1
..........................................
103171Приговоры1-175/2018ПриговорыСтатья 30 Часть 3, Статья 158 Часть 2 п.б; Ста...05.02.201823.04.2018Вологодская областьВологодский городской судМартынов М.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...3d286e017fa534c95d76d5db970553c0
113172Приговор1-164/2018ПриговорСтатья 115 Часть 1; Статья 167 Часть 2; Статья...14.03.201812.10.2018Республика ДагестанКировский районный суд г. МахачкалыМусаев С.Р.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...f26617f8a42983aba6b49f429ab0d0a2
123173Приговор1-329/2018ПриговорСтатья 306 Часть 2; Статья 166 Часть 2 п.а; Ст...23.05.201818.07.2018Республика ТатарстанНижнекамский городской судХисамутдинов Р.Д., Аминов С.Ю.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...1671a2756aeaeb5ff6c279d8db79fa9e
133174Приговор2-22/2018ПриговорСтатья 111 Часть 4; Статья 159 Часть 4; Статья...27.03.201803.05.2018Нижегородская областьНижегородский областной судВелькин Д.В.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...ec3ffeb4f18acde40b33a75e9454a2da
143175Приговор1-354/2018ПриговорСтатья 158 Часть 1; Статья 314.1 Часть 2; Стат...26.04.201803.09.2018Республика ТатарстанСоветский районный суд г. КазаниАбдрахманов Р.Р.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...b1f6f612b396bee469d271f9545af6fe
\n", 841 | "

3175 rows × 13 columns

\n", 842 | "
" 843 | ], 844 | "text/plain": [ 845 | " № Аннотация \\\n", 846 | "0 1 Статья 111 Часть 4; Статья 111 Часть 4...Приго... \n", 847 | "1 2 Статья 111 Часть 4; Статья 111 Часть 4...Приго... \n", 848 | "2 3 Статья 111 Часть 4; Статья 111 Часть 4...Приго... \n", 849 | "3 4 Статья 111 Часть 4; Статья 111 Часть 4...Приго... \n", 850 | "4 5 Статья 111 Часть 4; Статья 111 Часть 4...Приго... \n", 851 | ".. ... ... \n", 852 | "10 3171 Приговоры \n", 853 | "11 3172 Приговор \n", 854 | "12 3173 Приговор \n", 855 | "13 3174 Приговор \n", 856 | "14 3175 Приговор \n", 857 | "\n", 858 | " Номер дела (материала) Тип документа \\\n", 859 | "0 1-587/2018 Приговор \n", 860 | "1 1-196/2018 Приговор \n", 861 | "2 1-74/2018 (1-1168/2017;) Приговоры \n", 862 | "3 1-189/2018 Приговор \n", 863 | "4 1-78/2018 Приговор \n", 864 | ".. ... ... \n", 865 | "10 1-175/2018 Приговоры \n", 866 | "11 1-164/2018 Приговор \n", 867 | "12 1-329/2018 Приговор \n", 868 | "13 2-22/2018 Приговор \n", 869 | "14 1-354/2018 Приговор \n", 870 | "\n", 871 | " Статья УК РФ Дата поступления \\\n", 872 | "0 Статья 111 Часть 4; Статья 111 Часть 4 24.08.2018 \n", 873 | "1 Статья 111 Часть 4; Статья 111 Часть 4 24.07.2018 \n", 874 | "2 Статья 111 Часть 4; Статья 111 Часть 4 27.12.2017 \n", 875 | "3 Статья 111 Часть 4; Статья 111 Часть 4 11.07.2018 \n", 876 | "4 Статья 111 Часть 4; Статья 111 Часть 4 18.09.2018 \n", 877 | ".. ... ... \n", 878 | "10 Статья 30 Часть 3, Статья 158 Часть 2 п.б; Ста... 05.02.2018 \n", 879 | "11 Статья 115 Часть 1; Статья 167 Часть 2; Статья... 14.03.2018 \n", 880 | "12 Статья 306 Часть 2; Статья 166 Часть 2 п.а; Ст... 23.05.2018 \n", 881 | "13 Статья 111 Часть 4; Статья 159 Часть 4; Статья... 27.03.2018 \n", 882 | "14 Статья 158 Часть 1; Статья 314.1 Часть 2; Стат... 26.04.2018 \n", 883 | "\n", 884 | " Дата решения Субъект РФ Наименование суда \\\n", 885 | "0 27.12.2018 Московская область Орехово-Зуевский городской суд \n", 886 | "1 09.10.2018 Курганская область Шадринский районный суд \n", 887 | "2 26.01.2018 Вологодская область Вологодский городской суд \n", 888 | "3 20.08.2018 Хабаровский край Суд района имени Лазо \n", 889 | "4 11.12.2018 Смоленская область Духовщинский районный суд \n", 890 | ".. ... ... ... \n", 891 | "10 23.04.2018 Вологодская область Вологодский городской суд \n", 892 | "11 12.10.2018 Республика Дагестан Кировский районный суд г. Махачкалы \n", 893 | "12 18.07.2018 Республика Татарстан Нижнекамский городской суд \n", 894 | "13 03.05.2018 Нижегородская область Нижегородский областной суд \n", 895 | "14 03.09.2018 Республика Татарстан Советский районный суд г. Казани \n", 896 | "\n", 897 | " ФИО Результат \\\n", 898 | "0 Лобузов А.А. Вынесен ПРИГОВОР \n", 899 | "1 Сумин Ю.В. Вынесен ПРИГОВОР \n", 900 | "2 Архипов А.А. Вынесен ПРИГОВОР \n", 901 | "3 Не заполнено Вынесен ПРИГОВОР \n", 902 | "4 Москвичев Виктор Сергеевич Вынесен ПРИГОВОР \n", 903 | ".. ... ... \n", 904 | "10 Мартынов М.А. Вынесен ПРИГОВОР \n", 905 | "11 Мусаев С.Р. Вынесен ПРИГОВОР \n", 906 | "12 Хисамутдинов Р.Д., Аминов С.Ю. Вынесен ПРИГОВОР \n", 907 | "13 Велькин Д.В. Вынесен ПРИГОВОР \n", 908 | "14 Абдрахманов Р.Р. Вынесен ПРИГОВОР \n", 909 | "\n", 910 | " URL \\\n", 911 | "0 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 912 | "1 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 913 | "2 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 914 | "3 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 915 | "4 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 916 | ".. ... \n", 917 | "10 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 918 | "11 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 919 | "12 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 920 | "13 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 921 | "14 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 922 | "\n", 923 | " ID \n", 924 | "0 8ca3c0e82417771b7327e0fb748cdda6 \n", 925 | "1 f43b786f0f54aab8983531e471961966 \n", 926 | "2 020e244c83624b727a9060daaaa14048 \n", 927 | "3 a026c4b8eac7a92bd6a5d5d510b57ed2 \n", 928 | "4 6863c4bb5fedb8416299e2e130f3cfa1 \n", 929 | ".. ... \n", 930 | "10 3d286e017fa534c95d76d5db970553c0 \n", 931 | "11 f26617f8a42983aba6b49f429ab0d0a2 \n", 932 | "12 1671a2756aeaeb5ff6c279d8db79fa9e \n", 933 | "13 ec3ffeb4f18acde40b33a75e9454a2da \n", 934 | "14 b1f6f612b396bee469d271f9545af6fe \n", 935 | "\n", 936 | "[3175 rows x 13 columns]" 937 | ] 938 | }, 939 | "execution_count": 29, 940 | "metadata": {}, 941 | "output_type": "execute_result" 942 | } 943 | ], 944 | "source": [ 945 | "# при возникновении ошибки со стороны ГАС перезапустите ячейку - парсер продолжить работать с прежнего места\n", 946 | "if 'all_data' not in locals():\n", 947 | " all_data = pd.DataFrame()\n", 948 | "curr_position = len(all_data)\n", 949 | "for i in range(curr_position, n_cases+1, 20):\n", 950 | " browser.get('http://www.sudrf.ru/')\n", 951 | " url = f'https://bsr.sudrf.ru/bigs/portal.html#%7B%22start%22:{i},%22rows%22:20,%22groups%22:%5B%22Уголовные%20дела%22%5D,%22sorts%22:%5B%7B%22field%22:%22score%22,%22order%22:%22desc%22%7D%5D,%22type%22:%22MULTIQUERY%22,%22multiqueryRequest%22:%7B%22queryRequests%22:%5B%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22u_case_user_article%5C%22,%5C%22operator%5C%22:%5C%22EX%5C%22,%5C%22query%5C%22:%5C%22Статья%20{article}%20%20Часть%20{part}%5C%22,%5C%22sQuery%5C%22:null%7D%5D,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22name%5C%22:%5C%22Уголовные%20дела%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22CATEGORIES%22%7D,%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22common%5C%22,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22,%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22case_user_document_num%5C%22,%5C%22operator%5C%22:%5C%22GE%5C%22,%5C%22query%5C%22:%5C%221%5C%22%7D%5D%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22FACET_QUERY###case_user_document_num###Да%22%7D,%7B%22type%22:%22SQ%22,%22queryId%22:%227f9e8ff8-4bc8-46aa-bcbd-f2b3ed5f159f%22,%22operator%22:%22AND%22%7D%5D%7D,%22simpleSearchFieldsBundle%22:null,%22filterGroups%22:%5B%7B%22filterQueries%22:%5B%7B%22field%22:%22case_user_doc_result_date%22,%22query%22:%22{year}%20год%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D,%7B%22field%22:%22case_user_document_type%22,%22query%22:%22Приговор%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D,%7B%22field%22:%22case_user_doc_result%22,%22query%22:%22Вынесен%20ПРИГОВОР%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D%5D,%22groupMode%22:%22OR%22,%22not%22:false%7D%5D,%22noOrpho%22:false%7D'\n", 952 | " browser.get(url)\n", 953 | "\n", 954 | " element = WebDriverWait(browser, 25).until(\n", 955 | " EC.presence_of_element_located((By.CSS_SELECTOR, \"#resultViewSelectorOuter > a:nth-child(2)\"))\n", 956 | " )\n", 957 | " \n", 958 | " while 'resultHeader' not in browser.page_source:\n", 959 | " time.sleep(0.1)\n", 960 | " time.sleep(5)\n", 961 | " \n", 962 | " browser.find_element_by_css_selector('#resultViewSelectorOuter > a:nth-child(2)').click()\n", 963 | "\n", 964 | " while 'id=\"resultsList\"' not in browser.page_source:\n", 965 | " time.sleep(0.1)\n", 966 | " time.sleep(1)\n", 967 | " data_per_step = one_page_to_table(browser.page_source)\n", 968 | " all_data = pd.concat([all_data, data_per_step])\n", 969 | " if len(all_data)%100==0:\n", 970 | " print(f'{len(all_data)}/{n_cases}')\n", 971 | " all_data.to_excel(f'{complex_article}_{year}_cases_links.xlsx')\n", 972 | "all_data" 973 | ] 974 | }, 975 | { 976 | "cell_type": "code", 977 | "execution_count": 4, 978 | "metadata": { 979 | "scrolled": false 980 | }, 981 | "outputs": [], 982 | "source": [ 983 | "all_data.to_excel(f'{complex_article}_{year}_cases_links.xlsx')" 984 | ] 985 | }, 986 | { 987 | "cell_type": "code", 988 | "execution_count": null, 989 | "metadata": {}, 990 | "outputs": [], 991 | "source": [ 992 | "del all_data" 993 | ] 994 | }, 995 | { 996 | "cell_type": "markdown", 997 | "metadata": {}, 998 | "source": [ 999 | "#### 107 статья (случай, когда нужна статья целиком, все части)" 1000 | ] 1001 | }, 1002 | { 1003 | "cell_type": "code", 1004 | "execution_count": 31, 1005 | "metadata": {}, 1006 | "outputs": [ 1007 | { 1008 | "name": "stdout", 1009 | "output_type": "stream", 1010 | "text": [ 1011 | "45 3\n" 1012 | ] 1013 | } 1014 | ], 1015 | "source": [ 1016 | "browser = wb.Chrome()\n", 1017 | "article = 107\n", 1018 | "year = 2018\n", 1019 | "url = f'https://bsr.sudrf.ru/bigs/portal.html#%7B%22groups%22:%5B%22Уголовные%20дела%22%5D,%22sorts%22:%5B%7B%22field%22:%22score%22,%22order%22:%22desc%22%7D%5D,%22type%22:%22MULTIQUERY%22,%22multiqueryRequest%22:%7B%22queryRequests%22:%5B%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22u_case_user_article%5C%22,%5C%22operator%5C%22:%5C%22EX%5C%22,%5C%22query%5C%22:%5C%22Статья%20{article}%5C%22,%5C%22sQuery%5C%22:null%7D%5D,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22name%5C%22:%5C%22Уголовные%20дела%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22CATEGORIES%22%7D,%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22common%5C%22,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22,%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22case_user_document_num%5C%22,%5C%22operator%5C%22:%5C%22GE%5C%22,%5C%22query%5C%22:%5C%221%5C%22%7D%5D%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22FACET_QUERY###case_user_document_num###Да%22%7D,%7B%22type%22:%22SQ%22,%22queryId%22:%227f9e8ff8-4bc8-46aa-bcbd-f2b3ed5f159f%22,%22operator%22:%22AND%22%7D%5D%7D,%22simpleSearchFieldsBundle%22:null,%22filterGroups%22:%5B%7B%22filterQueries%22:%5B%7B%22field%22:%22case_user_doc_result_date%22,%22query%22:%22{year}%20год%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D,%7B%22field%22:%22case_user_document_type%22,%22query%22:%22Приговор%22,%22not%22:false%7D,%7B%22field%22:%22case_user_doc_result%22,%22query%22:%22Вынесен%20ПРИГОВОР%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D%5D,%22groupMode%22:%22OR%22,%22not%22:false%7D%5D%7D'\n", 1020 | "browser.get(url)\n", 1021 | "# element = WebDriverWait(browser, 30).until(\n", 1022 | "# EC.presence_of_element_located((By.CSS_SELECTOR, \"#resultViewSelectorOuter > a:nth-child(2)\"))\n", 1023 | "# )\n", 1024 | "time.sleep(2)\n", 1025 | "page_html = browser.page_source\n", 1026 | "n_cases = get_n_cases(page_html)\n", 1027 | "n_pages = get_n_pages(n_cases)\n", 1028 | "print(n_cases, n_pages)" 1029 | ] 1030 | }, 1031 | { 1032 | "cell_type": "code", 1033 | "execution_count": 32, 1034 | "metadata": {}, 1035 | "outputs": [ 1036 | { 1037 | "data": { 1038 | "text/html": [ 1039 | "
\n", 1040 | "\n", 1053 | "\n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | " \n", 1060 | " \n", 1061 | " \n", 1062 | " \n", 1063 | " \n", 1064 | " \n", 1065 | " \n", 1066 | " \n", 1067 | " \n", 1068 | " \n", 1069 | " \n", 1070 | " \n", 1071 | " \n", 1072 | " \n", 1073 | " \n", 1074 | " \n", 1075 | " \n", 1076 | " \n", 1077 | " \n", 1078 | " \n", 1079 | " \n", 1080 | " \n", 1081 | " \n", 1082 | " \n", 1083 | " \n", 1084 | " \n", 1085 | " \n", 1086 | " \n", 1087 | " \n", 1088 | " \n", 1089 | " \n", 1090 | " \n", 1091 | " \n", 1092 | " \n", 1093 | " \n", 1094 | " \n", 1095 | " \n", 1096 | " \n", 1097 | " \n", 1098 | " \n", 1099 | " \n", 1100 | " \n", 1101 | " \n", 1102 | " \n", 1103 | " \n", 1104 | " \n", 1105 | " \n", 1106 | " \n", 1107 | " \n", 1108 | " \n", 1109 | " \n", 1110 | " \n", 1111 | " \n", 1112 | " \n", 1113 | " \n", 1114 | " \n", 1115 | " \n", 1116 | " \n", 1117 | " \n", 1118 | " \n", 1119 | " \n", 1120 | " \n", 1121 | " \n", 1122 | " \n", 1123 | " \n", 1124 | " \n", 1125 | " \n", 1126 | " \n", 1127 | " \n", 1128 | " \n", 1129 | " \n", 1130 | " \n", 1131 | " \n", 1132 | " \n", 1133 | " \n", 1134 | " \n", 1135 | " \n", 1136 | " \n", 1137 | " \n", 1138 | " \n", 1139 | " \n", 1140 | " \n", 1141 | " \n", 1142 | " \n", 1143 | " \n", 1144 | " \n", 1145 | " \n", 1146 | " \n", 1147 | " \n", 1148 | " \n", 1149 | " \n", 1150 | " \n", 1151 | " \n", 1152 | " \n", 1153 | " \n", 1154 | " \n", 1155 | " \n", 1156 | " \n", 1157 | " \n", 1158 | " \n", 1159 | " \n", 1160 | " \n", 1161 | " \n", 1162 | " \n", 1163 | " \n", 1164 | " \n", 1165 | " \n", 1166 | " \n", 1167 | " \n", 1168 | " \n", 1169 | " \n", 1170 | " \n", 1171 | " \n", 1172 | " \n", 1173 | " \n", 1174 | " \n", 1175 | " \n", 1176 | " \n", 1177 | " \n", 1178 | " \n", 1179 | " \n", 1180 | " \n", 1181 | " \n", 1182 | " \n", 1183 | " \n", 1184 | " \n", 1185 | " \n", 1186 | " \n", 1187 | " \n", 1188 | " \n", 1189 | " \n", 1190 | " \n", 1191 | " \n", 1192 | " \n", 1193 | " \n", 1194 | " \n", 1195 | " \n", 1196 | " \n", 1197 | " \n", 1198 | " \n", 1199 | " \n", 1200 | " \n", 1201 | " \n", 1202 | " \n", 1203 | " \n", 1204 | " \n", 1205 | " \n", 1206 | " \n", 1207 | " \n", 1208 | " \n", 1209 | " \n", 1210 | " \n", 1211 | " \n", 1212 | " \n", 1213 | " \n", 1214 | " \n", 1215 | " \n", 1216 | " \n", 1217 | " \n", 1218 | " \n", 1219 | " \n", 1220 | " \n", 1221 | " \n", 1222 | " \n", 1223 | " \n", 1224 | " \n", 1225 | " \n", 1226 | " \n", 1227 | " \n", 1228 | " \n", 1229 | " \n", 1230 | " \n", 1231 | " \n", 1232 | " \n", 1233 | " \n", 1234 | " \n", 1235 | " \n", 1236 | " \n", 1237 | " \n", 1238 | " \n", 1239 | " \n", 1240 | " \n", 1241 | " \n", 1242 | " \n", 1243 | " \n", 1244 | " \n", 1245 | " \n", 1246 | " \n", 1247 | " \n", 1248 | " \n", 1249 | " \n", 1250 | " \n", 1251 | " \n", 1252 | " \n", 1253 | " \n", 1254 | " \n", 1255 | " \n", 1256 | " \n", 1257 | " \n", 1258 | " \n", 1259 | " \n", 1260 | " \n", 1261 | " \n", 1262 | " \n", 1263 | " \n", 1264 | " \n", 1265 | " \n", 1266 | " \n", 1267 | " \n", 1268 | " \n", 1269 | " \n", 1270 | " \n", 1271 | " \n", 1272 | " \n", 1273 | " \n", 1274 | " \n", 1275 | " \n", 1276 | " \n", 1277 | " \n", 1278 | " \n", 1279 | " \n", 1280 | " \n", 1281 | " \n", 1282 | " \n", 1283 | " \n", 1284 | " \n", 1285 | " \n", 1286 | " \n", 1287 | " \n", 1288 | " \n", 1289 | " \n", 1290 | " \n", 1291 | " \n", 1292 | " \n", 1293 | " \n", 1294 | " \n", 1295 | " \n", 1296 | " \n", 1297 | " \n", 1298 | " \n", 1299 | " \n", 1300 | " \n", 1301 | " \n", 1302 | " \n", 1303 | " \n", 1304 | " \n", 1305 | " \n", 1306 | " \n", 1307 | " \n", 1308 | " \n", 1309 | " \n", 1310 | " \n", 1311 | " \n", 1312 | " \n", 1313 | " \n", 1314 | " \n", 1315 | " \n", 1316 | " \n", 1317 | " \n", 1318 | " \n", 1319 | " \n", 1320 | " \n", 1321 | " \n", 1322 | " \n", 1323 | " \n", 1324 | " \n", 1325 | " \n", 1326 | " \n", 1327 | " \n", 1328 | " \n", 1329 | " \n", 1330 | " \n", 1331 | " \n", 1332 | " \n", 1333 | " \n", 1334 | " \n", 1335 | " \n", 1336 | " \n", 1337 | " \n", 1338 | " \n", 1339 | " \n", 1340 | " \n", 1341 | " \n", 1342 | " \n", 1343 | " \n", 1344 | " \n", 1345 | " \n", 1346 | " \n", 1347 | " \n", 1348 | " \n", 1349 | " \n", 1350 | " \n", 1351 | " \n", 1352 | " \n", 1353 | " \n", 1354 | " \n", 1355 | " \n", 1356 | " \n", 1357 | " \n", 1358 | " \n", 1359 | " \n", 1360 | " \n", 1361 | " \n", 1362 | " \n", 1363 | " \n", 1364 | " \n", 1365 | " \n", 1366 | " \n", 1367 | " \n", 1368 | " \n", 1369 | " \n", 1370 | " \n", 1371 | " \n", 1372 | " \n", 1373 | " \n", 1374 | " \n", 1375 | " \n", 1376 | " \n", 1377 | " \n", 1378 | " \n", 1379 | " \n", 1380 | " \n", 1381 | " \n", 1382 | " \n", 1383 | " \n", 1384 | " \n", 1385 | " \n", 1386 | " \n", 1387 | " \n", 1388 | " \n", 1389 | " \n", 1390 | " \n", 1391 | " \n", 1392 | " \n", 1393 | " \n", 1394 | " \n", 1395 | " \n", 1396 | " \n", 1397 | " \n", 1398 | " \n", 1399 | " \n", 1400 | " \n", 1401 | " \n", 1402 | " \n", 1403 | " \n", 1404 | " \n", 1405 | " \n", 1406 | " \n", 1407 | " \n", 1408 | " \n", 1409 | " \n", 1410 | " \n", 1411 | " \n", 1412 | " \n", 1413 | " \n", 1414 | " \n", 1415 | " \n", 1416 | " \n", 1417 | " \n", 1418 | " \n", 1419 | " \n", 1420 | " \n", 1421 | " \n", 1422 | " \n", 1423 | " \n", 1424 | " \n", 1425 | " \n", 1426 | " \n", 1427 | " \n", 1428 | " \n", 1429 | " \n", 1430 | " \n", 1431 | " \n", 1432 | " \n", 1433 | " \n", 1434 | " \n", 1435 | " \n", 1436 | " \n", 1437 | " \n", 1438 | " \n", 1439 | " \n", 1440 | " \n", 1441 | " \n", 1442 | " \n", 1443 | " \n", 1444 | " \n", 1445 | " \n", 1446 | " \n", 1447 | " \n", 1448 | " \n", 1449 | " \n", 1450 | " \n", 1451 | " \n", 1452 | " \n", 1453 | " \n", 1454 | " \n", 1455 | " \n", 1456 | " \n", 1457 | " \n", 1458 | " \n", 1459 | " \n", 1460 | " \n", 1461 | " \n", 1462 | " \n", 1463 | " \n", 1464 | " \n", 1465 | " \n", 1466 | " \n", 1467 | " \n", 1468 | " \n", 1469 | " \n", 1470 | " \n", 1471 | " \n", 1472 | " \n", 1473 | " \n", 1474 | " \n", 1475 | " \n", 1476 | " \n", 1477 | " \n", 1478 | " \n", 1479 | " \n", 1480 | " \n", 1481 | " \n", 1482 | " \n", 1483 | " \n", 1484 | " \n", 1485 | " \n", 1486 | " \n", 1487 | " \n", 1488 | " \n", 1489 | " \n", 1490 | " \n", 1491 | " \n", 1492 | " \n", 1493 | " \n", 1494 | " \n", 1495 | " \n", 1496 | " \n", 1497 | " \n", 1498 | " \n", 1499 | " \n", 1500 | " \n", 1501 | " \n", 1502 | " \n", 1503 | " \n", 1504 | " \n", 1505 | " \n", 1506 | " \n", 1507 | " \n", 1508 | " \n", 1509 | " \n", 1510 | " \n", 1511 | " \n", 1512 | " \n", 1513 | " \n", 1514 | " \n", 1515 | " \n", 1516 | " \n", 1517 | " \n", 1518 | " \n", 1519 | " \n", 1520 | " \n", 1521 | " \n", 1522 | " \n", 1523 | " \n", 1524 | " \n", 1525 | " \n", 1526 | " \n", 1527 | " \n", 1528 | " \n", 1529 | " \n", 1530 | " \n", 1531 | " \n", 1532 | " \n", 1533 | " \n", 1534 | " \n", 1535 | " \n", 1536 | " \n", 1537 | " \n", 1538 | " \n", 1539 | " \n", 1540 | " \n", 1541 | " \n", 1542 | " \n", 1543 | " \n", 1544 | " \n", 1545 | " \n", 1546 | " \n", 1547 | " \n", 1548 | " \n", 1549 | " \n", 1550 | " \n", 1551 | " \n", 1552 | " \n", 1553 | " \n", 1554 | " \n", 1555 | " \n", 1556 | " \n", 1557 | " \n", 1558 | " \n", 1559 | " \n", 1560 | " \n", 1561 | " \n", 1562 | " \n", 1563 | " \n", 1564 | " \n", 1565 | " \n", 1566 | " \n", 1567 | " \n", 1568 | " \n", 1569 | " \n", 1570 | " \n", 1571 | " \n", 1572 | " \n", 1573 | " \n", 1574 | " \n", 1575 | " \n", 1576 | " \n", 1577 | " \n", 1578 | " \n", 1579 | " \n", 1580 | " \n", 1581 | " \n", 1582 | " \n", 1583 | " \n", 1584 | " \n", 1585 | " \n", 1586 | " \n", 1587 | " \n", 1588 | " \n", 1589 | " \n", 1590 | " \n", 1591 | " \n", 1592 | " \n", 1593 | " \n", 1594 | " \n", 1595 | " \n", 1596 | " \n", 1597 | " \n", 1598 | " \n", 1599 | " \n", 1600 | " \n", 1601 | " \n", 1602 | " \n", 1603 | " \n", 1604 | " \n", 1605 | " \n", 1606 | " \n", 1607 | " \n", 1608 | " \n", 1609 | " \n", 1610 | " \n", 1611 | " \n", 1612 | " \n", 1613 | " \n", 1614 | " \n", 1615 | " \n", 1616 | " \n", 1617 | " \n", 1618 | " \n", 1619 | " \n", 1620 | " \n", 1621 | " \n", 1622 | " \n", 1623 | " \n", 1624 | " \n", 1625 | " \n", 1626 | " \n", 1627 | " \n", 1628 | " \n", 1629 | " \n", 1630 | " \n", 1631 | " \n", 1632 | " \n", 1633 | " \n", 1634 | " \n", 1635 | " \n", 1636 | " \n", 1637 | " \n", 1638 | " \n", 1639 | " \n", 1640 | " \n", 1641 | " \n", 1642 | " \n", 1643 | " \n", 1644 | " \n", 1645 | " \n", 1646 | " \n", 1647 | " \n", 1648 | " \n", 1649 | " \n", 1650 | " \n", 1651 | " \n", 1652 | " \n", 1653 | " \n", 1654 | " \n", 1655 | " \n", 1656 | " \n", 1657 | " \n", 1658 | " \n", 1659 | " \n", 1660 | " \n", 1661 | " \n", 1662 | " \n", 1663 | " \n", 1664 | " \n", 1665 | " \n", 1666 | " \n", 1667 | " \n", 1668 | " \n", 1669 | " \n", 1670 | " \n", 1671 | " \n", 1672 | " \n", 1673 | " \n", 1674 | " \n", 1675 | " \n", 1676 | " \n", 1677 | " \n", 1678 | " \n", 1679 | " \n", 1680 | " \n", 1681 | " \n", 1682 | " \n", 1683 | " \n", 1684 | " \n", 1685 | " \n", 1686 | " \n", 1687 | " \n", 1688 | " \n", 1689 | " \n", 1690 | " \n", 1691 | " \n", 1692 | " \n", 1693 | " \n", 1694 | " \n", 1695 | " \n", 1696 | " \n", 1697 | " \n", 1698 | " \n", 1699 | " \n", 1700 | " \n", 1701 | " \n", 1702 | " \n", 1703 | " \n", 1704 | " \n", 1705 | " \n", 1706 | " \n", 1707 | " \n", 1708 | " \n", 1709 | " \n", 1710 | " \n", 1711 | " \n", 1712 | " \n", 1713 | " \n", 1714 | " \n", 1715 | " \n", 1716 | " \n", 1717 | " \n", 1718 | " \n", 1719 | " \n", 1720 | " \n", 1721 | " \n", 1722 | " \n", 1723 | " \n", 1724 | " \n", 1725 | " \n", 1726 | " \n", 1727 | " \n", 1728 | " \n", 1729 | " \n", 1730 | " \n", 1731 | " \n", 1732 | " \n", 1733 | " \n", 1734 | " \n", 1735 | " \n", 1736 | " \n", 1737 | " \n", 1738 | " \n", 1739 | " \n", 1740 | " \n", 1741 | " \n", 1742 | " \n", 1743 | " \n", 1744 | " \n", 1745 | " \n", 1746 | " \n", 1747 | " \n", 1748 | " \n", 1749 | " \n", 1750 | " \n", 1751 | " \n", 1752 | " \n", 1753 | " \n", 1754 | " \n", 1755 | " \n", 1756 | " \n", 1757 | " \n", 1758 | " \n", 1759 | " \n", 1760 | " \n", 1761 | " \n", 1762 | " \n", 1763 | " \n", 1764 | " \n", 1765 | " \n", 1766 | " \n", 1767 | " \n", 1768 | " \n", 1769 | " \n", 1770 | " \n", 1771 | " \n", 1772 | " \n", 1773 | " \n", 1774 | " \n", 1775 | " \n", 1776 | " \n", 1777 | " \n", 1778 | " \n", 1779 | " \n", 1780 | " \n", 1781 | " \n", 1782 | " \n", 1783 | " \n", 1784 | " \n", 1785 | " \n", 1786 | " \n", 1787 | " \n", 1788 | " \n", 1789 | " \n", 1790 | " \n", 1791 | " \n", 1792 | " \n", 1793 | " \n", 1794 | "
АннотацияНомер дела (материала)Тип документаСтатья УК РФДата поступленияДата решенияСубъект РФНаименование судаФИОРезультатURLID
01Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-34/2018ПриговорСтатья 107 Часть 112.01.201823.01.2018Московская областьСтупинский городской судЛутчин В.В.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...27a1fd89fa9f5cae4f17863da6ab05dd
12Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-285/2018ПриговорСтатья 107 Часть 128.09.201815.10.2018Оренбургская областьСоветский районный суд г. ОрскаАлиханов С.Т.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...0ad7d7cbcd90e9b20c6ea81d917d5d05
23Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-252/2018ПриговорСтатья 107 Часть 122.02.201807.03.2018Ростовская областьНовочеркасский городской судПятибратова Е.В.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...939c7ee331f5aa6dd05adaec33441141
34Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-76/2018ПриговорСтатья 107 Часть 106.02.201827.02.2018Ростовская областьКрасносулинский районный судПершина Е.С.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...70b12576b300062582de1abe769f89a6
45Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-346/2018ПриговорСтатья 107 Часть 115.05.201820.06.2018Оренбургская областьЛенинский районный суд г. ОренбургаНосырева О.Г.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...8ff2202ce92636afeb68011e52779f9c
56Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-98/2018ПриговорСтатья 107 Часть 109.01.201801.02.2018Челябинская областьМеталлургический районный суд г. ЧелябинскаАетбаев Д.Р.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...4bb80aa68340e9f7c059fd88d635b0d3
67Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-66/2018ПриговорСтатья 107 Часть 125.01.201807.02.2018Московская областьДмитровский городской судВасинова П.Н.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...94783011c636b12c4da9e8f053eeb988
78Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-82/2018ПриговорСтатья 107 Часть 130.01.201816.02.2018Московская областьДмитровский городской судКарпов В.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...30e44682c600244487f040488374eef4
89Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-78/2018 (1-665/2017;)ПриговорСтатья 107 Часть 118.12.201724.01.2018Московская областьСергиево-Посадский городской судДворцевой А.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...183e46215990f94e09435643b9a619e7
910Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-67/2018ПриговорСтатья 107 Часть 131.05.201826.06.2018Московская областьДубненский городской судАрхипов С.В.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...b73a10c1f61e58732f6cb7ddfae7303e
1011Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-382/2018ПриговорСтатья 107 Часть 122.05.201827.07.2018Хабаровский крайИндустриальный районный суд г. ХабаровскаНе заполненоВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...ed9b264ca96e1d28597ce3d957f56477
1112Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-578/2018ПриговорСтатья 107 Часть 114.08.201824.08.2018Московская областьЛюберецкий городской судБелов Константин МихайловичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...d45719638046787519508d890452282f
1213Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-16/2018ПриговорСтатья 107 Часть 109.01.201818.01.2018Тульская областьЛенинский районный судГостева М.В.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...11738ba215245f557b6b6bfbcd3c5a79
1314Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-40/2018 (1-277/2017;)ПриговорСтатья 107 Часть 129.12.201707.02.2018Воронежская областьНовоусманский районный судСидоренко Лилия ВладимировнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...fd204f5049922f36ef3ac22d072324b9
1415Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-175/2018ПриговорСтатья 107 Часть 110.05.201824.05.2018Воронежская областьНовоусманский районный судЁркина Валентина ПавловнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...1d03a28c89b1cf6a2ed2d8320853b039
1516Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-289/2018ПриговорСтатья 107 Часть 131.08.201818.09.2018Ульяновская областьЗаволжский районный суд г. УльяновскаТивилев Е.Н.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...f027a72983c7f941d47c2f69c1b7e162
1617Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-3/6/2018 (1-3/75/2017;)ПриговорСтатья 107 Часть 115.12.201726.01.2018Кировская областьКотельничский районный судНовокшонова Мария АндреевнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...5f5da0aa662027a526f264ef0ef2f760
1718Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-201/2018ПриговорСтатья 107 Часть 129.03.201810.05.2018Иркутская областьНижнеудинский городской судНе заполненоВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...33cddbb825bcb268e7b3399ba535f6f7
1819Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-638/2018ПриговорСтатья 107 Часть 123.04.201825.07.2018Ханты-Мансийский автономный округ - Югра (Тюме...Сургутский городской судНисредов С.С.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...8057537e7301c156f8181ca4ab75ccdb
1920Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-11/2018 (1-501/2017;)ПриговорСтатья 107 Часть 123.10.201722.01.2018Московская областьПушкинский городской судВедягин Э.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...afd327ec4b23aab89f039eeb4da015c2
021Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-20/2018ПриговорСтатья 107 Часть 128.04.201829.05.2018Красноярский крайДзержинский районный судГорчакова С.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...811ec7ebfe1da836c34f04b5cca7a2a7
122Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-525/2018ПриговорСтатья 107 Часть 118.07.201818.10.2018Свердловская областьТагилстроевский районный суд г. Нижний ТагилЯрцев В.В.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...6efb4900cb598f9aaf1945c20b244792
223Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-56/2018ПриговорСтатья 107 Часть 107.08.201803.09.2018Саратовская областьАркадакский районный судНиколаев П.Ф.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...69061f30f9ffa1d128f2042da36d733e
324Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-97/2018ПриговорСтатья 107 Часть 104.06.201821.12.2018Ярославская областьТутаевский городской судПопова Е.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...984037d457d349e3d07de94725fef46b
425Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-471/2018ПриговорСтатья 107 Часть 107.12.201825.12.2018Хабаровский крайЦентральный районный суд г. ХабаровскаГордюшева Людмила АлексеевнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...685baf3b015ce2807ee2ed0b327b6466
526Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-129/2018ПриговорСтатья 107 Часть 111.01.201814.03.2018Челябинская областьКурчатовский районный суд г. ЧелябинскаКурочкина Ю.Г.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...380e6f74dd84aabff6025fe806262d7d
627Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-138/2018ПриговорСтатья 107 Часть 102.11.201805.12.2018Республика БурятияТункинский районный судТЮМЕНЦЕВА ВАЛЕНТИНА ПЕТРОВНАВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...d950f4a1afb7e0ced0a6fc8a57616710
728Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-60/2018ПриговорСтатья 107 Часть 118.05.201806.06.2018Республика БурятияБичурский районный судАносова Оксана ВладимировнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...0a44b2d8dcbeb76508a4419a05c192c7
829Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-80/2018ПриговорСтатья 107 Часть 122.02.201827.03.2018Удмуртская РеспубликаУстиновский районный суд г. ИжевскаДанилов Андрей МихайловичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...b839d969454af7c867341f4baa090c1e
930Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-5/2018 (1-128/2017;)ПриговорСтатья 107 Часть 129.12.201719.01.2018Белгородская областьЯковлевский районный судМонако Оксана ИгоревнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...f832353c07e565cc1a87a0a2f8ab6b2f
1031Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-41/2018ПриговорСтатья 107 Часть 118.04.201829.05.2018Алтайский крайМамонтовский районный судОстанина Анна ИвановнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...57fa604f713f2c0f88d654cac53b3959
1132Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-229/2018ПриговорСтатья 107 Часть 105.04.201818.05.2018Астраханская областьСоветский районный суд г. АстраханиФедин Виктор НиколаевичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...364e2402603ecdef9ae734a5308b0222
1233Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-63/2018 (1-668/2017;)ПриговорСтатья 107 Часть 130.11.201730.12.2018Челябинская областьКурчатовский районный суд г. ЧелябинскаСагитов Д.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...2d77be6889c2aa3c5fdb7c783ec89f89
1334Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-140/2018ПриговорСтатья 107 Часть 114.05.201806.06.2018Удмуртская РеспубликаСарапульский городской судЕнькова Янита ВалерьевнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...7f20a7d86490f94fa9b0dba2f9f5f2a0
1435Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-165/2018ПриговорСтатья 107 Часть 108.06.201817.07.2018Удмуртская РеспубликаСарапульский городской судШадрина Юлия ИгоревнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...ae9e067be4cdddef39abad10d668f31f
1536Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-81/2018ПриговорСтатья 107 Часть 103.04.201818.05.2018Ивановская областьЛенинский районный суд г. ИвановоЖуравлева Ирина АнатольевнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...d51e4d72862602e54a65e90c1a6cad5e
1637Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-461/2018ПриговорСтатья 107 Часть 117.09.201803.10.2018Липецкая областьОктябрьский районный суд г. ЛипецкаБабин Олег АлександровичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...5d471c0f0a50c3eca18957b9c146885a
1738Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-144/2018ПриговорСтатья 107 Часть 104.05.201805.06.2018Республика БурятияИволгинский районный судДоржиева Елена ПурбуевнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...3e26724918405174ba2f3a20ae074b1f
1839Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР1-83/2018ПриговорСтатья 107 Часть 116.10.201824.10.2018Саратовская областьКалининский районный судВасильев Андрей ВладиславовичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...8030ab8edef0079147aa6a35e69397a6
1940Статья 30 Часть 3, Статья 107 Часть 1...Пригов...1-130/2018ПриговорСтатья 30 Часть 3, Статья 107 Часть 128.02.201804.04.2018Московская областьМытищинский городской судДокучаев И.Д.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...1d140f2617001980a52c2a697efbf172
041Статья 30 Часть 3, Статья 107 Часть 1...Пригов...1-855/2018ПриговорСтатья 30 Часть 3, Статья 107 Часть 124.10.201808.11.2018Ростовская областьТаганрогский городской судГорин Д.А.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...16b2b6d8fbf96f1536caf4d03216f443
142Статья 30 Часть 3, Статья 107 Часть 1...Пригов...1-100/2018ПриговорСтатья 30 Часть 3, Статья 107 Часть 122.05.201805.06.2018Кемеровская область - КузбассНовоильинский районный суд г. НовокузнецкаАнохина Олеся НиколаевнаВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...e22e96327376dcca114907762bb13606
243Статья 286 Часть 3 п.п.а,в; Статья 107 Часть 1...1-22/2018ПриговорСтатья 286 Часть 3 п.п.а,в; Статья 107 Часть 127.03.201825.05.2018Астраханская областьАстраханский гарнизонный военный судИльясов Руслан УтеулиевичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...209b94681ce8b40cca912e2260c5642b
344Статья 139 Часть 1; Статья 107 Часть 1...Приго...1-113/2018ПриговорСтатья 139 Часть 1; Статья 107 Часть 130.05.201815.06.2018Республика БурятияСеверобайкальский городской судГаськов Андрей ВладимировичВынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...afe50cce06c66fe52392b2e7455b9576
445Статья 30 Часть 3, Статья 107 Часть 1...Пригов...1-658/2018ПриговорСтатья 30 Часть 3, Статья 107 Часть 1; Статья ...02.10.201830.10.2018Ростовская областьНовочеркасский городской судФинько Ю.И.Вынесен ПРИГОВОРhttps://bsr.sudrf.ru/bigs/showDocument.html#id...abdf6fd0c313d16c9c57bec0c7936e58
\n", 1795 | "
" 1796 | ], 1797 | "text/plain": [ 1798 | " № Аннотация \\\n", 1799 | "0 1 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1800 | "1 2 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1801 | "2 3 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1802 | "3 4 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1803 | "4 5 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1804 | "5 6 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1805 | "6 7 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1806 | "7 8 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1807 | "8 9 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1808 | "9 10 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1809 | "10 11 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1810 | "11 12 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1811 | "12 13 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1812 | "13 14 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1813 | "14 15 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1814 | "15 16 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1815 | "16 17 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1816 | "17 18 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1817 | "18 19 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1818 | "19 20 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1819 | "0 21 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1820 | "1 22 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1821 | "2 23 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1822 | "3 24 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1823 | "4 25 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1824 | "5 26 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1825 | "6 27 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1826 | "7 28 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1827 | "8 29 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1828 | "9 30 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1829 | "10 31 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1830 | "11 32 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1831 | "12 33 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1832 | "13 34 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1833 | "14 35 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1834 | "15 36 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1835 | "16 37 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1836 | "17 38 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1837 | "18 39 Статья 107 Часть 1...Приговор...Вынесен ПРИГОВОР \n", 1838 | "19 40 Статья 30 Часть 3, Статья 107 Часть 1...Пригов... \n", 1839 | "0 41 Статья 30 Часть 3, Статья 107 Часть 1...Пригов... \n", 1840 | "1 42 Статья 30 Часть 3, Статья 107 Часть 1...Пригов... \n", 1841 | "2 43 Статья 286 Часть 3 п.п.а,в; Статья 107 Часть 1... \n", 1842 | "3 44 Статья 139 Часть 1; Статья 107 Часть 1...Приго... \n", 1843 | "4 45 Статья 30 Часть 3, Статья 107 Часть 1...Пригов... \n", 1844 | "\n", 1845 | " Номер дела (материала) Тип документа \\\n", 1846 | "0 1-34/2018 Приговор \n", 1847 | "1 1-285/2018 Приговор \n", 1848 | "2 1-252/2018 Приговор \n", 1849 | "3 1-76/2018 Приговор \n", 1850 | "4 1-346/2018 Приговор \n", 1851 | "5 1-98/2018 Приговор \n", 1852 | "6 1-66/2018 Приговор \n", 1853 | "7 1-82/2018 Приговор \n", 1854 | "8 1-78/2018 (1-665/2017;) Приговор \n", 1855 | "9 1-67/2018 Приговор \n", 1856 | "10 1-382/2018 Приговор \n", 1857 | "11 1-578/2018 Приговор \n", 1858 | "12 1-16/2018 Приговор \n", 1859 | "13 1-40/2018 (1-277/2017;) Приговор \n", 1860 | "14 1-175/2018 Приговор \n", 1861 | "15 1-289/2018 Приговор \n", 1862 | "16 1-3/6/2018 (1-3/75/2017;) Приговор \n", 1863 | "17 1-201/2018 Приговор \n", 1864 | "18 1-638/2018 Приговор \n", 1865 | "19 1-11/2018 (1-501/2017;) Приговор \n", 1866 | "0 1-20/2018 Приговор \n", 1867 | "1 1-525/2018 Приговор \n", 1868 | "2 1-56/2018 Приговор \n", 1869 | "3 1-97/2018 Приговор \n", 1870 | "4 1-471/2018 Приговор \n", 1871 | "5 1-129/2018 Приговор \n", 1872 | "6 1-138/2018 Приговор \n", 1873 | "7 1-60/2018 Приговор \n", 1874 | "8 1-80/2018 Приговор \n", 1875 | "9 1-5/2018 (1-128/2017;) Приговор \n", 1876 | "10 1-41/2018 Приговор \n", 1877 | "11 1-229/2018 Приговор \n", 1878 | "12 1-63/2018 (1-668/2017;) Приговор \n", 1879 | "13 1-140/2018 Приговор \n", 1880 | "14 1-165/2018 Приговор \n", 1881 | "15 1-81/2018 Приговор \n", 1882 | "16 1-461/2018 Приговор \n", 1883 | "17 1-144/2018 Приговор \n", 1884 | "18 1-83/2018 Приговор \n", 1885 | "19 1-130/2018 Приговор \n", 1886 | "0 1-855/2018 Приговор \n", 1887 | "1 1-100/2018 Приговор \n", 1888 | "2 1-22/2018 Приговор \n", 1889 | "3 1-113/2018 Приговор \n", 1890 | "4 1-658/2018 Приговор \n", 1891 | "\n", 1892 | " Статья УК РФ Дата поступления \\\n", 1893 | "0 Статья 107 Часть 1 12.01.2018 \n", 1894 | "1 Статья 107 Часть 1 28.09.2018 \n", 1895 | "2 Статья 107 Часть 1 22.02.2018 \n", 1896 | "3 Статья 107 Часть 1 06.02.2018 \n", 1897 | "4 Статья 107 Часть 1 15.05.2018 \n", 1898 | "5 Статья 107 Часть 1 09.01.2018 \n", 1899 | "6 Статья 107 Часть 1 25.01.2018 \n", 1900 | "7 Статья 107 Часть 1 30.01.2018 \n", 1901 | "8 Статья 107 Часть 1 18.12.2017 \n", 1902 | "9 Статья 107 Часть 1 31.05.2018 \n", 1903 | "10 Статья 107 Часть 1 22.05.2018 \n", 1904 | "11 Статья 107 Часть 1 14.08.2018 \n", 1905 | "12 Статья 107 Часть 1 09.01.2018 \n", 1906 | "13 Статья 107 Часть 1 29.12.2017 \n", 1907 | "14 Статья 107 Часть 1 10.05.2018 \n", 1908 | "15 Статья 107 Часть 1 31.08.2018 \n", 1909 | "16 Статья 107 Часть 1 15.12.2017 \n", 1910 | "17 Статья 107 Часть 1 29.03.2018 \n", 1911 | "18 Статья 107 Часть 1 23.04.2018 \n", 1912 | "19 Статья 107 Часть 1 23.10.2017 \n", 1913 | "0 Статья 107 Часть 1 28.04.2018 \n", 1914 | "1 Статья 107 Часть 1 18.07.2018 \n", 1915 | "2 Статья 107 Часть 1 07.08.2018 \n", 1916 | "3 Статья 107 Часть 1 04.06.2018 \n", 1917 | "4 Статья 107 Часть 1 07.12.2018 \n", 1918 | "5 Статья 107 Часть 1 11.01.2018 \n", 1919 | "6 Статья 107 Часть 1 02.11.2018 \n", 1920 | "7 Статья 107 Часть 1 18.05.2018 \n", 1921 | "8 Статья 107 Часть 1 22.02.2018 \n", 1922 | "9 Статья 107 Часть 1 29.12.2017 \n", 1923 | "10 Статья 107 Часть 1 18.04.2018 \n", 1924 | "11 Статья 107 Часть 1 05.04.2018 \n", 1925 | "12 Статья 107 Часть 1 30.11.2017 \n", 1926 | "13 Статья 107 Часть 1 14.05.2018 \n", 1927 | "14 Статья 107 Часть 1 08.06.2018 \n", 1928 | "15 Статья 107 Часть 1 03.04.2018 \n", 1929 | "16 Статья 107 Часть 1 17.09.2018 \n", 1930 | "17 Статья 107 Часть 1 04.05.2018 \n", 1931 | "18 Статья 107 Часть 1 16.10.2018 \n", 1932 | "19 Статья 30 Часть 3, Статья 107 Часть 1 28.02.2018 \n", 1933 | "0 Статья 30 Часть 3, Статья 107 Часть 1 24.10.2018 \n", 1934 | "1 Статья 30 Часть 3, Статья 107 Часть 1 22.05.2018 \n", 1935 | "2 Статья 286 Часть 3 п.п.а,в; Статья 107 Часть 1 27.03.2018 \n", 1936 | "3 Статья 139 Часть 1; Статья 107 Часть 1 30.05.2018 \n", 1937 | "4 Статья 30 Часть 3, Статья 107 Часть 1; Статья ... 02.10.2018 \n", 1938 | "\n", 1939 | " Дата решения Субъект РФ \\\n", 1940 | "0 23.01.2018 Московская область \n", 1941 | "1 15.10.2018 Оренбургская область \n", 1942 | "2 07.03.2018 Ростовская область \n", 1943 | "3 27.02.2018 Ростовская область \n", 1944 | "4 20.06.2018 Оренбургская область \n", 1945 | "5 01.02.2018 Челябинская область \n", 1946 | "6 07.02.2018 Московская область \n", 1947 | "7 16.02.2018 Московская область \n", 1948 | "8 24.01.2018 Московская область \n", 1949 | "9 26.06.2018 Московская область \n", 1950 | "10 27.07.2018 Хабаровский край \n", 1951 | "11 24.08.2018 Московская область \n", 1952 | "12 18.01.2018 Тульская область \n", 1953 | "13 07.02.2018 Воронежская область \n", 1954 | "14 24.05.2018 Воронежская область \n", 1955 | "15 18.09.2018 Ульяновская область \n", 1956 | "16 26.01.2018 Кировская область \n", 1957 | "17 10.05.2018 Иркутская область \n", 1958 | "18 25.07.2018 Ханты-Мансийский автономный округ - Югра (Тюме... \n", 1959 | "19 22.01.2018 Московская область \n", 1960 | "0 29.05.2018 Красноярский край \n", 1961 | "1 18.10.2018 Свердловская область \n", 1962 | "2 03.09.2018 Саратовская область \n", 1963 | "3 21.12.2018 Ярославская область \n", 1964 | "4 25.12.2018 Хабаровский край \n", 1965 | "5 14.03.2018 Челябинская область \n", 1966 | "6 05.12.2018 Республика Бурятия \n", 1967 | "7 06.06.2018 Республика Бурятия \n", 1968 | "8 27.03.2018 Удмуртская Республика \n", 1969 | "9 19.01.2018 Белгородская область \n", 1970 | "10 29.05.2018 Алтайский край \n", 1971 | "11 18.05.2018 Астраханская область \n", 1972 | "12 30.12.2018 Челябинская область \n", 1973 | "13 06.06.2018 Удмуртская Республика \n", 1974 | "14 17.07.2018 Удмуртская Республика \n", 1975 | "15 18.05.2018 Ивановская область \n", 1976 | "16 03.10.2018 Липецкая область \n", 1977 | "17 05.06.2018 Республика Бурятия \n", 1978 | "18 24.10.2018 Саратовская область \n", 1979 | "19 04.04.2018 Московская область \n", 1980 | "0 08.11.2018 Ростовская область \n", 1981 | "1 05.06.2018 Кемеровская область - Кузбасс \n", 1982 | "2 25.05.2018 Астраханская область \n", 1983 | "3 15.06.2018 Республика Бурятия \n", 1984 | "4 30.10.2018 Ростовская область \n", 1985 | "\n", 1986 | " Наименование суда \\\n", 1987 | "0 Ступинский городской суд \n", 1988 | "1 Советский районный суд г. Орска \n", 1989 | "2 Новочеркасский городской суд \n", 1990 | "3 Красносулинский районный суд \n", 1991 | "4 Ленинский районный суд г. Оренбурга \n", 1992 | "5 Металлургический районный суд г. Челябинска \n", 1993 | "6 Дмитровский городской суд \n", 1994 | "7 Дмитровский городской суд \n", 1995 | "8 Сергиево-Посадский городской суд \n", 1996 | "9 Дубненский городской суд \n", 1997 | "10 Индустриальный районный суд г. Хабаровска \n", 1998 | "11 Люберецкий городской суд \n", 1999 | "12 Ленинский районный суд \n", 2000 | "13 Новоусманский районный суд \n", 2001 | "14 Новоусманский районный суд \n", 2002 | "15 Заволжский районный суд г. Ульяновска \n", 2003 | "16 Котельничский районный суд \n", 2004 | "17 Нижнеудинский городской суд \n", 2005 | "18 Сургутский городской суд \n", 2006 | "19 Пушкинский городской суд \n", 2007 | "0 Дзержинский районный суд \n", 2008 | "1 Тагилстроевский районный суд г. Нижний Тагил \n", 2009 | "2 Аркадакский районный суд \n", 2010 | "3 Тутаевский городской суд \n", 2011 | "4 Центральный районный суд г. Хабаровска \n", 2012 | "5 Курчатовский районный суд г. Челябинска \n", 2013 | "6 Тункинский районный суд \n", 2014 | "7 Бичурский районный суд \n", 2015 | "8 Устиновский районный суд г. Ижевска \n", 2016 | "9 Яковлевский районный суд \n", 2017 | "10 Мамонтовский районный суд \n", 2018 | "11 Советский районный суд г. Астрахани \n", 2019 | "12 Курчатовский районный суд г. Челябинска \n", 2020 | "13 Сарапульский городской суд \n", 2021 | "14 Сарапульский городской суд \n", 2022 | "15 Ленинский районный суд г. Иваново \n", 2023 | "16 Октябрьский районный суд г. Липецка \n", 2024 | "17 Иволгинский районный суд \n", 2025 | "18 Калининский районный суд \n", 2026 | "19 Мытищинский городской суд \n", 2027 | "0 Таганрогский городской суд \n", 2028 | "1 Новоильинский районный суд г. Новокузнецка \n", 2029 | "2 Астраханский гарнизонный военный суд \n", 2030 | "3 Северобайкальский городской суд \n", 2031 | "4 Новочеркасский городской суд \n", 2032 | "\n", 2033 | " ФИО Результат \\\n", 2034 | "0 Лутчин В.В. Вынесен ПРИГОВОР \n", 2035 | "1 Алиханов С.Т. Вынесен ПРИГОВОР \n", 2036 | "2 Пятибратова Е.В. Вынесен ПРИГОВОР \n", 2037 | "3 Першина Е.С. Вынесен ПРИГОВОР \n", 2038 | "4 Носырева О.Г. Вынесен ПРИГОВОР \n", 2039 | "5 Аетбаев Д.Р. Вынесен ПРИГОВОР \n", 2040 | "6 Васинова П.Н. Вынесен ПРИГОВОР \n", 2041 | "7 Карпов В.А. Вынесен ПРИГОВОР \n", 2042 | "8 Дворцевой А.А. Вынесен ПРИГОВОР \n", 2043 | "9 Архипов С.В. Вынесен ПРИГОВОР \n", 2044 | "10 Не заполнено Вынесен ПРИГОВОР \n", 2045 | "11 Белов Константин Михайлович Вынесен ПРИГОВОР \n", 2046 | "12 Гостева М.В. Вынесен ПРИГОВОР \n", 2047 | "13 Сидоренко Лилия Владимировна Вынесен ПРИГОВОР \n", 2048 | "14 Ёркина Валентина Павловна Вынесен ПРИГОВОР \n", 2049 | "15 Тивилев Е.Н. Вынесен ПРИГОВОР \n", 2050 | "16 Новокшонова Мария Андреевна Вынесен ПРИГОВОР \n", 2051 | "17 Не заполнено Вынесен ПРИГОВОР \n", 2052 | "18 Нисредов С.С. Вынесен ПРИГОВОР \n", 2053 | "19 Ведягин Э.А. Вынесен ПРИГОВОР \n", 2054 | "0 Горчакова С.А. Вынесен ПРИГОВОР \n", 2055 | "1 Ярцев В.В. Вынесен ПРИГОВОР \n", 2056 | "2 Николаев П.Ф. Вынесен ПРИГОВОР \n", 2057 | "3 Попова Е.А. Вынесен ПРИГОВОР \n", 2058 | "4 Гордюшева Людмила Алексеевна Вынесен ПРИГОВОР \n", 2059 | "5 Курочкина Ю.Г. Вынесен ПРИГОВОР \n", 2060 | "6 ТЮМЕНЦЕВА ВАЛЕНТИНА ПЕТРОВНА Вынесен ПРИГОВОР \n", 2061 | "7 Аносова Оксана Владимировна Вынесен ПРИГОВОР \n", 2062 | "8 Данилов Андрей Михайлович Вынесен ПРИГОВОР \n", 2063 | "9 Монако Оксана Игоревна Вынесен ПРИГОВОР \n", 2064 | "10 Останина Анна Ивановна Вынесен ПРИГОВОР \n", 2065 | "11 Федин Виктор Николаевич Вынесен ПРИГОВОР \n", 2066 | "12 Сагитов Д.А. Вынесен ПРИГОВОР \n", 2067 | "13 Енькова Янита Валерьевна Вынесен ПРИГОВОР \n", 2068 | "14 Шадрина Юлия Игоревна Вынесен ПРИГОВОР \n", 2069 | "15 Журавлева Ирина Анатольевна Вынесен ПРИГОВОР \n", 2070 | "16 Бабин Олег Александрович Вынесен ПРИГОВОР \n", 2071 | "17 Доржиева Елена Пурбуевна Вынесен ПРИГОВОР \n", 2072 | "18 Васильев Андрей Владиславович Вынесен ПРИГОВОР \n", 2073 | "19 Докучаев И.Д. Вынесен ПРИГОВОР \n", 2074 | "0 Горин Д.А. Вынесен ПРИГОВОР \n", 2075 | "1 Анохина Олеся Николаевна Вынесен ПРИГОВОР \n", 2076 | "2 Ильясов Руслан Утеулиевич Вынесен ПРИГОВОР \n", 2077 | "3 Гаськов Андрей Владимирович Вынесен ПРИГОВОР \n", 2078 | "4 Финько Ю.И. Вынесен ПРИГОВОР \n", 2079 | "\n", 2080 | " URL \\\n", 2081 | "0 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2082 | "1 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2083 | "2 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2084 | "3 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2085 | "4 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2086 | "5 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2087 | "6 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2088 | "7 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2089 | "8 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2090 | "9 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2091 | "10 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2092 | "11 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2093 | "12 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2094 | "13 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2095 | "14 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2096 | "15 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2097 | "16 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2098 | "17 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2099 | "18 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2100 | "19 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2101 | "0 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2102 | "1 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2103 | "2 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2104 | "3 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2105 | "4 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2106 | "5 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2107 | "6 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2108 | "7 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2109 | "8 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2110 | "9 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2111 | "10 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2112 | "11 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2113 | "12 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2114 | "13 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2115 | "14 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2116 | "15 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2117 | "16 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2118 | "17 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2119 | "18 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2120 | "19 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2121 | "0 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2122 | "1 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2123 | "2 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2124 | "3 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2125 | "4 https://bsr.sudrf.ru/bigs/showDocument.html#id... \n", 2126 | "\n", 2127 | " ID \n", 2128 | "0 27a1fd89fa9f5cae4f17863da6ab05dd \n", 2129 | "1 0ad7d7cbcd90e9b20c6ea81d917d5d05 \n", 2130 | "2 939c7ee331f5aa6dd05adaec33441141 \n", 2131 | "3 70b12576b300062582de1abe769f89a6 \n", 2132 | "4 8ff2202ce92636afeb68011e52779f9c \n", 2133 | "5 4bb80aa68340e9f7c059fd88d635b0d3 \n", 2134 | "6 94783011c636b12c4da9e8f053eeb988 \n", 2135 | "7 30e44682c600244487f040488374eef4 \n", 2136 | "8 183e46215990f94e09435643b9a619e7 \n", 2137 | "9 b73a10c1f61e58732f6cb7ddfae7303e \n", 2138 | "10 ed9b264ca96e1d28597ce3d957f56477 \n", 2139 | "11 d45719638046787519508d890452282f \n", 2140 | "12 11738ba215245f557b6b6bfbcd3c5a79 \n", 2141 | "13 fd204f5049922f36ef3ac22d072324b9 \n", 2142 | "14 1d03a28c89b1cf6a2ed2d8320853b039 \n", 2143 | "15 f027a72983c7f941d47c2f69c1b7e162 \n", 2144 | "16 5f5da0aa662027a526f264ef0ef2f760 \n", 2145 | "17 33cddbb825bcb268e7b3399ba535f6f7 \n", 2146 | "18 8057537e7301c156f8181ca4ab75ccdb \n", 2147 | "19 afd327ec4b23aab89f039eeb4da015c2 \n", 2148 | "0 811ec7ebfe1da836c34f04b5cca7a2a7 \n", 2149 | "1 6efb4900cb598f9aaf1945c20b244792 \n", 2150 | "2 69061f30f9ffa1d128f2042da36d733e \n", 2151 | "3 984037d457d349e3d07de94725fef46b \n", 2152 | "4 685baf3b015ce2807ee2ed0b327b6466 \n", 2153 | "5 380e6f74dd84aabff6025fe806262d7d \n", 2154 | "6 d950f4a1afb7e0ced0a6fc8a57616710 \n", 2155 | "7 0a44b2d8dcbeb76508a4419a05c192c7 \n", 2156 | "8 b839d969454af7c867341f4baa090c1e \n", 2157 | "9 f832353c07e565cc1a87a0a2f8ab6b2f \n", 2158 | "10 57fa604f713f2c0f88d654cac53b3959 \n", 2159 | "11 364e2402603ecdef9ae734a5308b0222 \n", 2160 | "12 2d77be6889c2aa3c5fdb7c783ec89f89 \n", 2161 | "13 7f20a7d86490f94fa9b0dba2f9f5f2a0 \n", 2162 | "14 ae9e067be4cdddef39abad10d668f31f \n", 2163 | "15 d51e4d72862602e54a65e90c1a6cad5e \n", 2164 | "16 5d471c0f0a50c3eca18957b9c146885a \n", 2165 | "17 3e26724918405174ba2f3a20ae074b1f \n", 2166 | "18 8030ab8edef0079147aa6a35e69397a6 \n", 2167 | "19 1d140f2617001980a52c2a697efbf172 \n", 2168 | "0 16b2b6d8fbf96f1536caf4d03216f443 \n", 2169 | "1 e22e96327376dcca114907762bb13606 \n", 2170 | "2 209b94681ce8b40cca912e2260c5642b \n", 2171 | "3 afe50cce06c66fe52392b2e7455b9576 \n", 2172 | "4 abdf6fd0c313d16c9c57bec0c7936e58 " 2173 | ] 2174 | }, 2175 | "execution_count": 32, 2176 | "metadata": {}, 2177 | "output_type": "execute_result" 2178 | } 2179 | ], 2180 | "source": [ 2181 | "# при возникновении ошибки со стороны ГАС перезапустите ячейку - парсер продолжить работать с прежнего места\n", 2182 | "if 'all_data' not in locals():\n", 2183 | " all_data = pd.DataFrame()\n", 2184 | "curr_position = len(all_data)\n", 2185 | "for i in range(curr_position, n_cases+1, 20):\n", 2186 | " browser.get('http://www.sudrf.ru/')\n", 2187 | " url = f'https://bsr.sudrf.ru/bigs/portal.html#%7B%22start%22:{i},%22rows%22:20,%22groups%22:%5B%22Уголовные%20дела%22%5D,%22sorts%22:%5B%7B%22field%22:%22score%22,%22order%22:%22desc%22%7D%5D,%22type%22:%22MULTIQUERY%22,%22multiqueryRequest%22:%7B%22queryRequests%22:%5B%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22u_case_user_article%5C%22,%5C%22operator%5C%22:%5C%22EX%5C%22,%5C%22query%5C%22:%5C%22Статья%20{article}%5C%22,%5C%22sQuery%5C%22:null%7D%5D,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22name%5C%22:%5C%22Уголовные%20дела%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22CATEGORIES%22%7D,%7B%22type%22:%22Q%22,%22request%22:%22%7B%5C%22mode%5C%22:%5C%22EXTENDED%5C%22,%5C%22typeRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22common%5C%22,%5C%22mode%5C%22:%5C%22AND%5C%22,%5C%22typesMode%5C%22:%5C%22AND%5C%22,%5C%22fieldRequests%5C%22:%5B%7B%5C%22name%5C%22:%5C%22case_user_document_num%5C%22,%5C%22operator%5C%22:%5C%22GE%5C%22,%5C%22query%5C%22:%5C%221%5C%22%7D%5D%7D%5D%7D%22,%22operator%22:%22AND%22,%22queryRequestRole%22:%22FACET_QUERY###case_user_document_num###Да%22%7D,%7B%22type%22:%22SQ%22,%22queryId%22:%227f9e8ff8-4bc8-46aa-bcbd-f2b3ed5f159f%22,%22operator%22:%22AND%22%7D%5D%7D,%22simpleSearchFieldsBundle%22:null,%22filterGroups%22:%5B%7B%22filterQueries%22:%5B%7B%22field%22:%22case_user_doc_result_date%22,%22query%22:%22{year}%20год%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D,%7B%22field%22:%22case_user_document_type%22,%22query%22:%22Приговор%22,%22not%22:false%7D,%7B%22field%22:%22case_user_doc_result%22,%22query%22:%22Вынесен%20ПРИГОВОР%22,%22not%22:false,%22_invertedNot%22:false,%22_and%22:false%7D%5D,%22groupMode%22:%22OR%22,%22not%22:false%7D%5D%7D'\n", 2188 | " browser.get(url)\n", 2189 | "\n", 2190 | " element = WebDriverWait(browser, 25).until(\n", 2191 | " EC.presence_of_element_located((By.CSS_SELECTOR, \"#resultViewSelectorOuter > a:nth-child(2)\"))\n", 2192 | " )\n", 2193 | " \n", 2194 | " while 'resultHeader' not in browser.page_source:\n", 2195 | " time.sleep(0.1)\n", 2196 | " time.sleep(5)\n", 2197 | " \n", 2198 | " browser.find_element_by_css_selector('#resultViewSelectorOuter > a:nth-child(2)').click()\n", 2199 | "\n", 2200 | " while 'id=\"resultsList\"' not in browser.page_source:\n", 2201 | " time.sleep(0.1)\n", 2202 | " time.sleep(1)\n", 2203 | " data_per_step = one_page_to_table(browser.page_source)\n", 2204 | " all_data = pd.concat([all_data, data_per_step])\n", 2205 | " if len(all_data)%100==0:\n", 2206 | " print(f'{len(all_data)}/{n_cases}')\n", 2207 | " all_data.to_excel(f'{article}_{year}_cases_links.xlsx')\n", 2208 | "all_data" 2209 | ] 2210 | }, 2211 | { 2212 | "cell_type": "code", 2213 | "execution_count": 1, 2214 | "metadata": {}, 2215 | "outputs": [], 2216 | "source": [ 2217 | "all_data.to_excel(f'{article}_{year}_cases_links.xlsx')" 2218 | ] 2219 | }, 2220 | { 2221 | "cell_type": "code", 2222 | "execution_count": null, 2223 | "metadata": {}, 2224 | "outputs": [], 2225 | "source": [ 2226 | "del all_data" 2227 | ] 2228 | } 2229 | ], 2230 | "metadata": { 2231 | "kernelspec": { 2232 | "display_name": "Python 3", 2233 | "language": "python", 2234 | "name": "python3" 2235 | }, 2236 | "language_info": { 2237 | "codemirror_mode": { 2238 | "name": "ipython", 2239 | "version": 3 2240 | }, 2241 | "file_extension": ".py", 2242 | "mimetype": "text/x-python", 2243 | "name": "python", 2244 | "nbconvert_exporter": "python", 2245 | "pygments_lexer": "ipython3", 2246 | "version": "3.7.4" 2247 | } 2248 | }, 2249 | "nbformat": 4, 2250 | "nbformat_minor": 2 2251 | } 2252 | -------------------------------------------------------------------------------- /Parsers_Pravosudie_Texts.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "from bs4 import BeautifulSoup\n", 10 | "import pandas as pd\n", 11 | "import requests\n", 12 | "import re\n", 13 | "import json\n", 14 | "import time\n", 15 | "import os\n", 16 | "\n", 17 | "import warnings\n", 18 | "warnings.filterwarnings('ignore')" 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": 2, 24 | "metadata": {}, 25 | "outputs": [], 26 | "source": [ 27 | "def get_text_by_case_id(case_id):\n", 28 | " data = json.dumps({\"request\":{\"start\":10,\"rows\":10,\"uid\":\"1fe4a009-f990-4374-a975-4feaa469b09c\",\"groups\":[\"Уголовные дела\"],\"sorts\":[{\"field\":\"case_common_doc_entry_date\",\"order\":\"desc\"}],\"type\":\"MULTIQUERY\",\"multiqueryRequest\":{\"queryRequests\":[{\"type\":\"Q\",\"request\":\"{\\\"mode\\\":\\\"EXTENDED\\\",\\\"typeRequests\\\":[{\\\"fieldRequests\\\":[{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 1\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. а\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. б\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. в\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. г\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. д\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. е\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. е1\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. ж\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. з\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. и\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. к\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. л\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. м\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. н\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 107\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 107 Часть 1\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 107 Часть 2\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 111\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 111 Часть 4\\\",\\\"sQuery\\\":null}],\\\"mode\\\":\\\"AND\\\",\\\"name\\\":\\\"Уголовные дела\\\",\\\"typesMode\\\":\\\"AND\\\"}]}\",\"operator\":\"AND\",\"queryRequestRole\":\"CATEGORIES\"},{\"type\":\"Q\",\"request\":\"{\\\"mode\\\":\\\"EXTENDED\\\",\\\"typeRequests\\\":[{\\\"name\\\":\\\"common\\\",\\\"mode\\\":\\\"AND\\\",\\\"typesMode\\\":\\\"AND\\\",\\\"fieldRequests\\\":[{\\\"name\\\":\\\"case_user_document_num\\\",\\\"operator\\\":\\\"GE\\\",\\\"query\\\":\\\"1\\\"}]}]}\",\"operator\":\"AND\",\"queryRequestRole\":\"FACET_QUERY###case_user_document_num###Да\"},{\"type\":\"SQ\",\"queryId\":\"7f9e8ff8-4bc8-46aa-bcbd-f2b3ed5f159f\",\"operator\":\"AND\"}]},\"simpleSearchFieldsBundle\":None,\"filterGroups\":[{\"filterQueries\":[{\"field\":\"case_user_doc_entry_date\",\"query\":\"2019 год\",\"not\":False},{\"field\":\"case_user_doc_entry_date\",\"query\":\"2018 год\",\"not\":False},{\"field\":\"case_user_doc_result\",\"query\":\"Вынесен ПРИГОВОР\",\"not\":False,\"_invertedNot\":False,\"_and\":False}],\"groupMode\":\"OR\",\"not\":False}],\"facet\":{\"field\":[\"type\"]},\"facetLimit\":21,\"additionalFields\":[\"case_user_doc_number\",\"case_user_document_type\",\"u_case_user_article\",\"case_user_entry_date\",\"case_user_doc_result_date\",\"case_doc_subject_rf\",\"case_user_doc_court\",\"u_common_case_defendant_name\",\"case_user_doc_result\"],\"hlFragSize\":1000,\"groupLimit\":3,\"woBoost\":False,\"id\":case_id,\"shards\":[\"Уголовные дела\"],\"hlColors\":[\"searchHL0\"]},\"saveBoostQuery\":False,\"oneFieldName\":\"\"})\n", 29 | " data = json.loads(data)\n", 30 | "\n", 31 | " headers = {\"User-Agent\": \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 YaBrowser/20.12.3.140 Yowser/2.5 Safari/537.36\",\n", 32 | " \"X-Ajax-Token\": \"9034c90d1f3d4e72300540f837a556b749f7931c014590e67db2f6fa3fdfad30\",\n", 33 | " \"X-csrftoken\": \"16631ab14f7b8ed4807de60548e27dcb1f8ab75bff3cda2b3d305a6e70d2084262289d53f7f97de9\"}\n", 34 | "\n", 35 | "\n", 36 | " link = \"https://bsr.sudrf.ru/bigs/showDocument.action\"\n", 37 | " response = requests.post(link, json=data, headers=headers, verify=False)\n", 38 | " \n", 39 | " if response.text == '':\n", 40 | " data = json.dumps({\"request\":{\"start\":10,\"rows\":10,\"uid\":\"1fe4a009-f990-4374-a975-4feaa469b09c\",\"groups\":[\"Уголовные дела\"],\"sorts\":[{\"field\":\"case_common_doc_entry_date\",\"order\":\"desc\"}],\"type\":\"MULTIQUERY\",\"multiqueryRequest\":{\"queryRequests\":[{\"type\":\"Q\",\"request\":\"{\\\"mode\\\":\\\"EXTENDED\\\",\\\"typeRequests\\\":[{\\\"fieldRequests\\\":[{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 1\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. а\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. б\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. в\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. г\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. д\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. е\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. е1\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. ж\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. з\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. и\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. к\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. л\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. м\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 105 Часть 2 п. н\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 107\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 107 Часть 1\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 107 Часть 2\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 111\\\",\\\"sQuery\\\":null},{\\\"name\\\":\\\"u_case_user_article\\\",\\\"operator\\\":\\\"EX\\\",\\\"query\\\":\\\"Статья 111 Часть 4\\\",\\\"sQuery\\\":null}],\\\"mode\\\":\\\"AND\\\",\\\"name\\\":\\\"Уголовные дела\\\",\\\"typesMode\\\":\\\"AND\\\"}]}\",\"operator\":\"AND\",\"queryRequestRole\":\"CATEGORIES\"},{\"type\":\"Q\",\"request\":\"{\\\"mode\\\":\\\"EXTENDED\\\",\\\"typeRequests\\\":[{\\\"name\\\":\\\"common\\\",\\\"mode\\\":\\\"AND\\\",\\\"typesMode\\\":\\\"AND\\\",\\\"fieldRequests\\\":[{\\\"name\\\":\\\"case_user_document_num\\\",\\\"operator\\\":\\\"GE\\\",\\\"query\\\":\\\"1\\\"}]}]}\",\"operator\":\"AND\",\"queryRequestRole\":\"FACET_QUERY###case_user_document_num###Да\"},{\"type\":\"SQ\",\"queryId\":\"7f9e8ff8-4bc8-46aa-bcbd-f2b3ed5f159f\",\"operator\":\"AND\"}]},\"simpleSearchFieldsBundle\":None,\"filterGroups\":[{\"filterQueries\":[{\"field\":\"case_user_doc_entry_date\",\"query\":\"2019 год\",\"not\":False},{\"field\":\"case_user_doc_entry_date\",\"query\":\"2018 год\",\"not\":False},{\"field\":\"case_user_doc_result\",\"query\":\"Вынесен ПРИГОВОР\",\"not\":False,\"_invertedNot\":False,\"_and\":False}],\"groupMode\":\"OR\",\"not\":False}],\"facet\":{\"field\":[\"type\"]},\"facetLimit\":21,\"additionalFields\":[\"case_user_doc_number\",\"case_user_document_type\",\"u_case_user_article\",\"case_user_entry_date\",\"case_user_doc_result_date\",\"case_doc_subject_rf\",\"case_user_doc_court\",\"u_common_case_defendant_name\",\"case_user_doc_result\"],\"hlFragSize\":1000,\"groupLimit\":3,\"woBoost\":False,\"id\":case_id,\"shards\":[\"Уголовные дела\"],\"hlColors\":[\"searchHL0\"]},\"saveBoostQuery\":False,\"oneFieldName\":\"case_user_document_text_tag\"})\n", 41 | " data = json.loads(data)\n", 42 | " response = requests.post(link, json=data, headers=headers, verify=False)\n", 43 | "\n", 44 | " case_data = pd.json_normalize(response.json()['document']['fields'])\n", 45 | " case_text = case_data[case_data['comment']=='Текст документа']['value'].item()\n", 46 | " case_text = BeautifulSoup(case_text).text.strip()\n", 47 | " return case_text" 48 | ] 49 | }, 50 | { 51 | "cell_type": "code", 52 | "execution_count": 5, 53 | "metadata": {}, 54 | "outputs": [ 55 | { 56 | "data": { 57 | "text/plain": [ 58 | "'ПРИГОВОР\\nИМЕНЕМ РОССИЙСКОЙ ФЕДЕРАЦИИ\\nгород Ногинск Московской области 23 июня 2014 года\\nСудья Ногинского городского суда Московской области Полежаева С.Е.,\\nс участием государственного обвинителя – помощника Ногинского городского прокурора Зубаревой И.А.,\\nподсудимого ЧИКИРЕВА С. П.,\\nзащитника - адвоката Кареева К.Г., представившего суду удостоверение и ордер,\\nпри секретаре Тетеркиной Ю.Н.,\\nа также потерпевшего ФИО 1,\\nрассмотрев в открытом судебном заседании в особом порядке уголовное дело в отношении \\nЧИКИРЕВА С. П., <данные изъяты>\\nобвиняемого в совершении преступления, предусмотренного ст. 113 УК РФ,\\nУ С Т А Н О В И Л:\\nЧикирев С.П. совершил умышленное причинение тяжкого вреда здоровью, совершенное в состоянии внезапно возникшего сильного душевного волнения (аффекта), вызванного тяжким оскорблением со стороны потерпевшего и иными аморальными действиями потерпевшего.\\nОписание преступного деяния, в совершении которого согласился подсудимый:\\n«В период времени с 12 часов 00 минут до 15 час'" 59 | ] 60 | }, 61 | "execution_count": 5, 62 | "metadata": {}, 63 | "output_type": "execute_result" 64 | } 65 | ], 66 | "source": [ 67 | "# первые 1000 символов рандомного дела по совсем другой статье и периоду (113 статья, 2014 год)\n", 68 | "# идентификатор дела заложен в ссылке на него первым параметром\n", 69 | "get_text_by_case_id('d2d0f760c43f39ca5bb0d580837b8746')[:1000] " 70 | ] 71 | }, 72 | { 73 | "cell_type": "markdown", 74 | "metadata": {}, 75 | "source": [ 76 | "#### Работа парсера текстов с ГАС Правосудие на примере 2018 года (по уже собранным ранее ссылкам)" 77 | ] 78 | }, 79 | { 80 | "cell_type": "code", 81 | "execution_count": 76, 82 | "metadata": {}, 83 | "outputs": [], 84 | "source": [ 85 | "articles = ['105', '107', '111_4']\n", 86 | "year = 2018" 87 | ] 88 | }, 89 | { 90 | "cell_type": "code", 91 | "execution_count": 81, 92 | "metadata": {}, 93 | "outputs": [ 94 | { 95 | "name": "stdout", 96 | "output_type": "stream", 97 | "text": [ 98 | "0\n", 99 | "0\n", 100 | "0\n" 101 | ] 102 | } 103 | ], 104 | "source": [ 105 | "# при возникновении ошибки со стороны ГАС перезапустите ячейку - парсер продолжит работать с текущего места\n", 106 | "for article in articles:\n", 107 | " if f'{article}_{year}_cases_texts.xlsx' in os.listdir():\n", 108 | " data = pd.read_excel(f'{article}_{year}_cases_texts.xlsx', index_col=0)\n", 109 | " print(data['text'].isna().sum())\n", 110 | " else:\n", 111 | " data = pd.read_excel(f'{article}_{year}_cases_links.xlsx').drop('Unnamed: 0', axis=1)\n", 112 | " data = data.drop_duplicates('ID').reset_index(drop=True)\n", 113 | " data['text'] = None\n", 114 | " \n", 115 | " n = len(data)\n", 116 | " \n", 117 | " for i in data.index:\n", 118 | " if pd.isnull(data.loc[i, 'text']):\n", 119 | " case_id = data.loc[i, 'ID']\n", 120 | " try:\n", 121 | " case_text = get_text_by_case_id(case_id)\n", 122 | " data.loc[i, 'text'] = case_text\n", 123 | " except:\n", 124 | " time.sleep(1)\n", 125 | " continue\n", 126 | " time.sleep(0.2)\n", 127 | " if case_text is None:\n", 128 | " time.sleep(1)\n", 129 | " continue\n", 130 | " else:\n", 131 | " continue\n", 132 | " if i%50==0 or i==n:\n", 133 | " data.to_excel(f'{article}_{year}_cases_texts.xlsx')\n", 134 | " data.to_excel(f'{article}_{year}_cases_texts.xlsx')" 135 | ] 136 | } 137 | ], 138 | "metadata": { 139 | "kernelspec": { 140 | "display_name": "Python 3", 141 | "language": "python", 142 | "name": "python3" 143 | }, 144 | "language_info": { 145 | "codemirror_mode": { 146 | "name": "ipython", 147 | "version": 3 148 | }, 149 | "file_extension": ".py", 150 | "mimetype": "text/x-python", 151 | "name": "python", 152 | "nbconvert_exporter": "python", 153 | "pygments_lexer": "ipython3", 154 | "version": "3.7.4" 155 | } 156 | }, 157 | "nbformat": 4, 158 | "nbformat_minor": 2 159 | } 160 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Алгоритм Света 2 | 3 | Алгоритм Света - это набор программ, позволяющих по тексту судебного приговора, связанного с убийством женщины, определить, погибла ли она от рук партнера или родственника, и если да, то кто именно был убийцей. Проект стал победителем хакатона [Прожектор 2021](https://projector2021.te-st.ru/), после чего был доработан совместно с [Консорциумом женских неправительственных объединений](https://wcons.net/en/) и волонтерами при поддержке [Теплицы социальных технологий](https://te-st.ru/). 4 | 5 | 6 | Прочитать о проекте подробнее можно здесь: 7 | - [на сайте проекта](https://readymag.com/u3045877410/algoritmsveta/) 8 | - [в материалах Теплицы](https://te-st.ru/2021/08/13/algoritm-sveta/) 9 | - в материалах Новой газеты: [первом](https://novayagazeta.ru/articles/2021/02/16/89254-pivo-revnost-taburet) и [втором](https://novayagazeta.ru/articles/2021/08/13/papa-ubil-mamu-v-kvartire) 10 | - в материалах других СМИ 11 | 12 | Алгоритм включает в себя: 13 | - набор парсеров, скачивающих доступные тексты приговоров по заданной статье за заданный год 14 | - набор регулярных выражений, позволяющих выделить приговоры, в которых речь идет об убийстве женщины 15 | - код для предобработки текстовых данных и векторайзер для подготовки матрицы документы-токены 16 | - код для обучения итоговой модели, фрагмент данных для обучения 17 | - итоговые модели в виде бинарных файлов, которые можно напрямую применять к любым предобработанным данным для получения прогноза 18 | 19 | Описание файлов (не все из них помещаются на гит, поэтому для некоторых даны ссылки на облако): 20 | - [Parsers_Pravosudie_Links.ipynb](Parsers_Pravosudie_Links.ipynb) - парсер ГАС Правосудие, собирающий ссылки на дела по заданным статье и году и выделяющий идентификатор дела 21 | - [Parsers_Pravosudie_Texts.ipynb](Parsers_Pravosudie_Texts.ipynb) - парсер ГАС Правосудие, собирающий тексты приговоров по идентификаторам дел 22 | - [Parsers_Mosgorsud.ipynb](Parsers_Mosgorsud.ipynb) - парсер Мосгорсуда, собирающий тексты приговоров по заданным статье и году 23 | - [cvect.pkl](https://yadi.sk/d/DiMHxTpfFdiPWg) - векторизатор, позволяющий из предобработанных текстов получить матрицу документы-токены в том виде, в котором она использовалась в исследовании 24 | - [gbc_dv.pkl](gbc_dv.pkl) - итоговая модель бинарной классификации, предсказывающая, была ли женщина в целом убита партнером или родственником 25 | - [gbc_ipv.pkl](gbc_ipv.pkl) - итоговая модель бинарной классификации, предсказывающая, была ли женщина убита именно партнером, а не родственником 26 | - [preprocessed_data_2018.xlsx](https://yadi.sk/i/wtSAPOaaciskdA) - база размеченных и предобработанных текстов для обучения моделей 27 | - [Analysis_Models.ipynb](Analysis_Models.ipynb) - скрипт с процессом обучения итоговых моделей 28 | 29 | ## Содержание 30 | [1. Парсеры](#parsers) 31 | [2. Регулярные выражения](#regex) 32 | [3. Предобработка текстов](#preprocessing) 33 | [4. Обучение модели](#learning) 34 | [5. Применение модели](#prediction) 35 | [6. Примечания](#notes) 36 | 37 | 38 | 39 | ## 1. Парсеры 40 | 41 | Тексты приговоров для нашего проекта собирались с двух ресурсов: сайта Мосгорсуда и ГАС Правосудие. На первом публикуют приговоры, вынесенные в судах Москвы, на втором - приговоры всех остальных судов страны, кроме московских. Технически принципы сбора данных из этих двух источников сильно различаются. 42 | 43 | __Парсер ГАС Правосудие__ состоит из двух частей: вначале посредством `Selenium WebDriver` собираются ссылки на запрашиваемые дела, из ссылок извлекаются заключенные в них идентификаторы дел, затем по идентификаторам собираются тексты с помощью пакета `requests`. Этот парсер работает на любых операционных системах. См. подробнее в файлах: [Parsers_Pravosudie_Links.ipynb](Parsers_Pravosudie_Links.ipynb) и [Parsers_Pravosudie_Texts.ipynb](Parsers_Pravosudie_Texts.ipynb). 44 | 45 | __Парсер Мосгорсуда__ также работает в несколько этапов: вначале пакетом `requests` собирается общая информация о делах и ссылки на их отдельные страницы, затем по этим адресам находятся ссылки на файлы с текстами приговоров, они скачиваются и прочитываются. К сожалению, этот парсер работает только на Windows, т.к. на последнем этапе тексты приговоров извлекаются из файлов Word с помощью пакета `win32com`. Предложения по универсализации этого этапа сильно приветствуются :) См. подробнее в файле: [Parsers_Mosgorsud.ipynb](Parsers_Mosgorsud.ipynb) 46 | 47 | Мы собирали тексты приговоров по статьям 105, 107, 111 ч.4 УК РФ. Теоретически опубликованные парсеры адаптированы к сбору текстов любых статей при соблюдении формата запросов. 48 | 49 | 50 | 51 | ## 2. Регулярные выражения 52 | 53 | Регулярные выражения - это специальным образом составленные правила, по которым можно найти интересующие последовательности символов, слов и выражений независимо от их форм. Мы использовали регулярные выражения, чтобы автоматически найти дела, в которых погибшими являлись женщины. Семь выражений, которые мы оставили по итогам выборочной ручной проверки, и способ их применения к собранным данным представлены в коде ниже. 54 | 55 | 56 | ```python 57 | import re 58 | import pandas as pd 59 | 60 | patterns = [ 61 | r'скончалась', 62 | r'погибш[аеу][йяю]', 63 | r'смерт[иь]ю? потерпевшей', 64 | r'смерт[иь]ю? последней', 65 | r'мертва', 66 | r'е[её] труп', 67 | r'труп женщины' 68 | ] 69 | 70 | def check_patterns(text): 71 | global patterns 72 | 73 | for pattern in patterns: 74 | if re.search(pattern, text): 75 | return True 76 | return False 77 | 78 | data = pd.read_csv('Ваш_файл_с_собранными_приговорами.csv') 79 | data = data[(data['ID'].notna())&(data['text'].notna())].set_index('ID') 80 | women_cases = data[data['text'].apply(check_patterns)] 81 | women_cases.to_csv('Ваш_файл_с_женскими_делами.csv') 82 | ``` 83 | 84 | В датафрейме `women_cases` будут находиться отобранные "женские" дела. 85 | 86 | 87 | 88 | ## 3. Предобработка текстов 89 | 90 | Предобработка текстов для обучения, тестирования и применения моделей включает в себя три этапа: токенизацию (разбиение исходных текстов на отдельные единицы анализа), лемматизацию (приведение слов к начальной форме) и удаление стоп-слов, т.е. слов, не несущих смысловой нагрузки, но при этом часто встречающихся. При использовании кода ниже имейте в виду, что пакет `pymystem3` отлично работает на Mac OS, но крайне долго - на Windows. Для Windows я рекомендую лемматизировать слова с помощью пакета `pymorphy2`. Процедура будет слегка отличаться, но код для нее реально найти в интернете (либо можно обратиться ко мне). 91 | 92 | Для работы с моделями предобработанные тексты также проходят векторизацию, т.е. представляются в виде матрицы документы-токены. В нашем исследовании токенами, т.е. единицами анализа, выступали униграммы (отдельные слова) и биграммы (сочетания из двух стоящих рядом слов), которые встречаются не меньше чем в 5% документов. Имея базу предобработанных текстов, вы можете получить описанную матрицу с помощью файла [cvect.pkl](https://yadi.sk/d/DiMHxTpfFdiPWg). 93 | 94 | ```python 95 | import re 96 | import pymystem3 97 | import stop_words 98 | import pandas as pd 99 | 100 | mstem = pymystem3.Mystem() 101 | 102 | def keep_only_rus(text): 103 | new_text = '' 104 | for symbol in text: 105 | if re.match(r'[А-я]', symbol) or symbol == ' ': 106 | new_text += symbol 107 | else: 108 | new_text += ' ' 109 | return new_text 110 | 111 | def del_double_spaces(text_with_double_spaces): 112 | while ' ' in text_with_double_spaces: 113 | text_with_double_spaces = text_with_double_spaces.replace(' ',' ') 114 | return text_with_double_spaces 115 | 116 | def lemmatize(raw_text): 117 | return ''.join(mstem.lemmatize(raw_text)).strip() 118 | 119 | stopwords = stop_words.get_stop_words('russian') 120 | stopwords.extend(stop_words.get_stop_words('english')) 121 | stopwords = list(set(stopwords)) 122 | stopwords += [ 123 | 'фио', 'гггг', 'подсудимый', 'суд', 124 | 'изымать', 'согласно', 'наказание', 125 | 'потерпевший', 'показание', 'судебный', 126 | 'преступление', 'адрес', 'свидетель', 127 | 'свой', 'находиться', 'час', 'ход' 128 | ] 129 | 130 | def del_stopwords(text): 131 | global stopwords 132 | new_text = [] 133 | for word in text.split(): 134 | if word not in stopwords and len(word) > 2: 135 | new_text.append(word) 136 | return ' '.join(new_text) 137 | 138 | data = pd.read_csv('Ваш_файл_с_женскими_делами.csv', index_col=0) # в индексах желательно держать ID дел 139 | data['text_prep'] = data['text'].str.lower() 140 | data['text_prep'] = data['text_prep'].apply(keep_only_rus) 141 | data['text_prep'] = data['text_prep'].apply(del_double_spaces) 142 | data['text_prep'] = data['text_prep'].apply(lemmatize) 143 | data['text_prep'] = data['text_prep'].apply(del_stopwords) 144 | data['text_prep'] = data['text_prep'].apply(del_double_spaces) 145 | data = data[data['text_prep'].notna()] 146 | data.to_csv('Ваш_файл_с_женскими_делами_после_предобработки.csv') 147 | ``` 148 | 149 | В датафрейме `data` будут находиться отобранные "женские" дела после предобработки. 150 | 151 | 152 | 153 | ## 4. Обучение моделей 154 | 155 | Обе модели, полученные по результатам работы команды, основаны на традиционном методе машинного обучения - градиентном бустинге, показавшем наивысшее качество прогноза. Целевой метрикой, которую мы максимизировали в ходе отбора моделей и на которую мы ориентировались, была precision для категории 1. Для первой модели это доля дел, помеченных алгоритмом как связанные с домашним насилием, которые действительно таковыми являются (согласно ручной разметке). Итоговый показатель этой метрики для первой модели составил 0.86. Для второй модели это доля дел, помеченных алгоритмом как дела с убийцей-партнером, которые действительно таковыми являются (согласно ручной разметке). Итоговый показатель этой метрики для первой модели составил 0.94. 156 | 157 | Воспроизвести обучение моделей можно с помощью кода из файла [Analysis_Models.ipynb](Analysis_Models.ipynb) и базы размеченных данных [preprocessed_data_2018.xlsx](https://yadi.sk/i/wtSAPOaaciskdA). Представлены только итоговые версии используемых моделей. Попытки повысить качество моделей также приветствуются. 158 | 159 | 160 | 161 | ## 5. Применение моделей 162 | 163 | Применить разработанные модели можно напрямую, не обучая их. Для этого нужен лишь датафрейм с предобработанными согласно [п. 3](#preprocessing) текстами приговоров и опубликованные бинарные файлы: [cvect.pkl](https://yadi.sk/d/DiMHxTpfFdiPWg) (векторизатор), [gbc_dv.pkl](gbc_dv.pkl) (модель, предсказывающая, была ли женщина в целом убита партнером или родственником), [gbc_ipv.pkl](gbc_ipv.pkl) (модель, предсказывающая, была ли женщина убита именно партнером, а не родственником). 164 | 165 | ```python 166 | import pickle 167 | import pandas as pd 168 | 169 | with open("cvect.pkl", 'rb') as file: 170 | cvect = pickle.load(file) 171 | 172 | with open("gbc_dv.pkl", 'rb') as file: 173 | dv = pickle.load(file) 174 | 175 | with open("gbc_ipv.pkl", 'rb') as file: 176 | ipv = pickle.load(file) 177 | 178 | data = pd.read_csv('Ваш_файл_с_женскими_делами_после_предобработки.csv', index_col=0) # в индексах желательно держать ID дел 179 | matrix = cvect.transform(data['text_prep']) 180 | td_matrix = pd.DataFrame(matrix.toarray(), index=data.index, columns=cvect.get_feature_names()) 181 | td_matrix['DV'] = dv.predict(td_matrix) 182 | dv_preds = td_matrix[['DV']] 183 | td_matrix_ipv = td_matrix[td_matrix['DV']==1].drop('DV', axis=1) 184 | td_matrix_ipv['IPV'] = ipv.predict(td_matrix_ipv) 185 | dv_preds['IPV'] = td_matrix_ipv['IPV'] 186 | ``` 187 | 188 | В датафрейме `dv_preds` для каждого дела будет сделан прогноз: столбик `DV` (1 - женщина была убита партнером или родственником, 0 - иначе) и столбик `IPV` (1 - женщина была убита партнером, 0 - родственником, NaN - иначе). 189 | 190 | > **⚠ ВНИМАНИЕ!** 191 | > Алгоритм Света предназначен только для анализа дел, в которых речь идет о погибших женщинах. Модели не будут давать корректных прогнозов для дел с жертвами-мужчинами, т.к. такие дела не были включены в обучающую выборку. 192 | 193 | 194 | 195 | ## 6. Примечания 196 | 197 | На этой странице опубликованы только данные, используемые для обучения моделей. В исследовании же мы с помощью полученных моделей проанализировали все доступные приговоры по выбранным статьям за 2011-2019 гг. Эти данные могут быть предоставлены по запросу. 198 | 199 | Среди файлов также отсутствует скрипт с незначительной предобработкой дел с Мосгорсуда, которая позволяет объединить базы из двух источников. 200 | -------------------------------------------------------------------------------- /gbc_dv.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LanaLob/algorithm_sveta/2460c4a04e78aab730df7a4460b404ab3e0af07b/gbc_dv.pkl -------------------------------------------------------------------------------- /gbc_ipv.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LanaLob/algorithm_sveta/2460c4a04e78aab730df7a4460b404ab3e0af07b/gbc_ipv.pkl --------------------------------------------------------------------------------