Open antitoxic opened 11 years ago
ДАКСИ е платено.
А Държавните архиви с ценоразпис били:
http://www.archives.government.bg/old/www.archives.government.bg/index.php@lang=bg&page=22
Копе**нца.
Съдейки по този пример: http://www.daxy.com/cgi-bin/help/help.py?page=15
ДАКСИ използват не само инфо от Търговския регистър, а и от БУЛСТАТ. Не знаех че са различни до сега.
И таксите на БУЛСТАТ са: http://bulstat.registryagency.bg/About_Give.html
Предполагам, че ДАКСИ са платили 5000лв вендъж за цялата база данни и след това обновяват on-demand/ad-hoc когато клиентите искат инфо.
/* еати, разбирам че е една от най-скъпите стоки е информацията, ама ... Макар, че ако тези данни бяха публични, сигурно играта щеше да е твърде честна. /
Кой депутат какво точно гласува:
Open Source проект за scraping от @Krastanov
Цитирам негов отговор на мой мейл, който писах след срещата с http://iped.bg :
Здравей,
Всичката информация с която разполагам е взета от сайта на парламента (http://parliament.bg).
Сайтът, който поддържам, съдържащ и презентиращ всичко което съм събрал е http://www.parlamentaren-kontrol.com и е статичен (с малко d3.js за някои визуализации).
Във footer-а на сайта има връзки към три други подобни сайта (http://www.parlamentaren-kontrol.com/links.html). От към качество и валидиране на информацията (източниците съдържат грешки) мисля че моят е най-добрия, но със сигурност от към обхват на информацията е последен).
Проектът се разрастна органично, така че някои части от кода трябва да се подобрят. Когато имам свободно време почиствам, така че вече няма много спагети. Можеш да ползваш каквато и да е част от кода (BSD лиценз) (https://github.com/parlamentaren-kontrol). Вероятно ще работи само под unix, но readme-то е много подробно. Съжалявам че не е под формата на библиотека, но както казах, разрастна се без много планиране (не се смей като видиш *.sh скриптовете ;).
Базата данни която е построена от скрейпъра ми може да се свали от тук (postgre http://www.parlamentaren-kontrol.com/parlamentaren_kontrol_SQL_dump.gz). Схемата има някои недостатъци, но нищо сериозно (схемата се променя понякога когато променям кода и ще бъде подобрена когато имам време).
От изборите насам не съм имал време да ъпдейтна кода. Необходима е минимална промяна в схемата на базата данни за да позволи запазване на информация за повече от един мандат. Вероятно ще го направя на първи август.
Скрейпъра:
- Парсери за xml за депутатите, но често xml-a е повреден заради некодирани кавички, така че има fallback за cvs. Това е в craw_mps.py
- Парсери за html и excel за гласуванията и стенограмите.
- Парсери за законите и законопроектите (без презентиране в сайта ми за момента).
- За последното правителство има около 40 стенограми които са повредени (някои ги поправиха по мой сигнал, някои не могат да ги поправят). Те са отбелязани като такива в базата данни и в сайта ми. Тези за които за били необходими workarounds са споменати в readme-то.
Статичния сайт:
- Всички стенограми и гласове (по партии и по депутати) с графики. Имената на депутати в самите стенограми са маркирани.
- Всички депутати. Линк към официалната им страница където могат да се видят снимки и подобни (гледам да не повтарям неща които вече ги има на parliament.bg). Графики на гласовете и отсъствията им.
- d3.js граф на взаимоотношенията между депутатите
- други дреболии (скоро ще добавя законопроектите и законите)
Това е накратко от къде взимам информация, как я обработвам и как я презентирам. Ако мога да помогна с нещо само кажи и ще се опитам да го направя.
Поздрави Стефан
Ще се радвам ако може да споделим работата. Вариант в който разделям внимателно "скрейпъра създаващ базата данни" и "генератора на статичен сайт" и след това работим заедно по подбрена версия и на двете звучи ли ви правдоподобен? Нямам против да предам copyright-a за кодът който съм писал на някаква NGO ако сте организирали такава. Очевидно ще ми трябва малко време да почистя кода за да е в състояние в което се разбира от повече от един човек.
Аз съм много навит. Говоря в момента по twitter с юруков че и той ще си update-ва http://parliament.yurukov.net/
Само допълвам още източници:
ОК, в такъв случай мога да предложа следното: способен съм да предложа база данни и crawler за всичко от parliament.bg (депутати, гласувания, закони и законопроекти са готови, другите неща можем да добавим стъпка по стъпка) и ще се радвам ако можем да ползваме и статичния сайт който вече съм направил. На 3-4 август може да се чуем по skype/gtalk (или среща в Бургас) за да обсъдим как да продължим.
За разлика от parliament.yurukov.net информацията която правя достъпна е само от предишното и сегашното (и бъдещите) народни събрания. Причината е че само те предоставят информация за гласове и закони в удобен формат. За сметка на това качеството на информацията е по-добро, защото тествам за доста грешки.
Естествено, няма да се обидя ако сметнете за по-лесно да започнете от нулата (знам че е некомфортно да се научава чужд код). Удобно ли ще ви е да направим групов чат около 4-ти август?
Гледах crawler-a, както и на този юруков. Той каза, че неговият не е автоматичен и трябва пренаписване.
Аз тази събота-неделя се себе-трашнах и написах crawler и scraper, които само по линк на дадено правителство (42ро, 41во...) може да обиколи и да събере данните от всички стенограми или стенограми по нови от дадена дата, или само стеногрмаи от даден времеви период.
Това и още като обяснение:
https://github.com/obshtestvo/rating-gov-representatives/tree/master/apps/mp-votes
Не съм захвърлил ничии труд. Дори искам, ако може да кажеш повече за workaround-ите:
Главното което съм направил:
Скрипт който може да се пуска всеки ден и да събира само новите стенограми Четеца на XLS-ите поддръжа Excel 2007+, за разлика от питонското xlrd
Имената https://github.com/parlamentaren-kontrol/parlamentaren-kontrol/blob/master/craw_stenograms.py#L74 Предполагам това е само 1 събрание. Може в следващото наистина да има жена /мъж с такова име? Или поне да ги асоциираме имената със дадена година?
- Няколко (около 5) поредни събрания имат такъв проблем (за всяко от имената в речника). Защо не може да се поправят на официалния сайт е описано в README-то (цитирал съм какво са ми казали от парламента).
- Година за година съм проверил дали има повтарящи се имена). Но да, ще е полезно да има ID отделно от името. Реших че няма нужда да се занимавам с това в началото, защото по-груби сметки за 50% шанс повтарящо се име са необходими няколко поредни народни събрания.
Тук някакво смачкано excel-че: https://github.com/parlamentaren-kontrol/parlamentaren-kontrol/blob/master/craw_stenograms.py#L212 се преправя?
екселския файл е с грешен формат (непълна линия на едно от местата). Отново в README-то би трябвало да е описано защо не може да го поправят на официалния сайт.
https://github.com/parlamentaren-kontrol/parlamentaren-kontrol/#workarounds
За предишното народно събрание би трябвало да засичаш около 10 повредени стенограми на официалния сайт. В момента нямам време да проверя кои, но в събота ще ти дам списък.
Видях го кривия xls: http://parliament.bg/bg/plenaryst/ns/7/ID/2766
Тъпа работа.
Аз съм навързал logger
-a в crawler+scraper
-а с loggly и alertbirds. Username: obshtestvo
. Парола: ще пратя мейл който иска, а иначе ще я сложа в asana по някое време (не веднага).
Което ще рече: като пуснем сайта може през alertbird
да си настройваме за кои грешки да ни се праща мейл. За да уловим навреме ако има проблем с тоя тип деформации.
Писах на ДАКСИ. Може би пък ще ни дадът облекчен достъп до системата им. Писах главно понеже brra.bg не съдържа инфото от фирми регистрирани само в БУЛСТАТ. Не знам дали още има такива, но изглежда че има.
Ето писмото:
Здравейте,
Казвам се Антон Стойчев и Ви пиша по идея на познати от вестник Капитал.
Аз съм софтуерен разработчик и покрай една статия http://bg.antitoxic.napopa.com/obshtestvo/2013/05/12/puteki-za-promnqna-v-bulgaria-i-avomatizaciq-za-novoto-obshtestvo.html успях да събера още разработчици да работим на доброволчески начела по проекти, инструменти за по силно гражданско общество.
Това беше началото на Май, сега вече имаме започнат проект (https://github.com/obshtestvo/rating-gov-representatives) да показваме профили на депутатите в удобен вид за всеки човек да преглежда. Вече сме написали код да извлича гласовете на всеки депутат от стенограмите. Почваме код да извлича снимки и инфо. Всичко това ще е актуално, така че щом излезна нова стенограма ще обновяваме показваните гласове на даден депутат.
Бихме искали да покажем и тяхното търговско минало. ДАКСИ предлага търсене по име и преглеждане на резултатие като фирми.
След груби сметки мисля че излиза около 4 лева (при все че проверяваме 1 депутат и неговите/нейните средно 5-6 фирми) за всеки 237 (по данни от http://www.parliament.bg/bg/MP) депутати, тоест 1000 лева за всички депутати. Сигурен съм и че съм изпуснал някъде нещо.
Като просто група от доброволци, не можем да си позволим такава сума. Особено ако искаме информацията да е актуална, тоест това да бъде ежемесечно.
Бихте ли могли да помогнете в случая? С какво бихме могли да сме ви от помощ ние? Единствено се сещам: да споменем в сайта до търговските данни на всяка страница, за всеки депутатите, че "Информацията е дарена/предоставена от ДАКСИ". Или алтернативно да сме от помощ в качестото на разработчици?
Желая ви прохладен понеделник, Anton Stoychev, Internet Professional (+44) 7432 899 296