Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crawler, Извличане на закони, кога са предложени, как са гласувани, кога са приети #26

Open
antitoxic opened this issue Dec 10, 2013 · 15 comments
Assignees
Labels

Comments

@antitoxic
Copy link
Member

Начин на извличане

Списък с закони

На следния адрес има списък с приети закони:
http://www.parliament.bg/bg/laws/

Всеки закон преди да е приет е "Законопроект"

Не гледаме "последни закони". Вместо това отдолу има нещо календар с годините. Трябва да обходим всяка година и всеки месец и да видим законите приети този месец.
gif_screencast_2

И така в страницата на всеки месец ще обходим всеки закон, за да извлечем информация от него.


Примерен закон

http://www.parliament.bg/bg/laws/ID/14656/

Събираме си от тук инфото за да го запазим в нашата база данни. Специално внимание обръщаме към датата на приемане.

gif_screencast_3


Взаимовръзка закон<>гласуване

Със "датата на приемане" правим проверка в нашата база данни за пленарното заседание на същата дата. Търсим по темата на гласуваното. Може да има няколко съвпадения, тоест няколко гласувания. Така вече знаем как са гласували партиите и депутатите по този закон.

Ако нямахме база данни, ето пример как изглежда ръчното търсене в excel-ските документи:

gif_screencast_4

Поддържане на актуален списък със закони

Първият път когато събираме закони ще минем през всичките години и месеци. Оттогава ще минаваме само за последния месец и последния ден, за който нямаме информация. И така ще обновяваме базата данни.

Неприети закони

Водят се отхвърлени или оттеглени законопроекти. Ето примери:

Тях няма да ги намерим в списъка със закони по-горе, понеже те не са официално са закони, а _законопроекти_.

За да можем да съберем неприетите закони и тези чакащи решение трябва отново да правим обхождане по година и месец, но вместо страницата със закони, тази на законопроекти: http://www.parliament.bg/bg/bills

Отново отдолу има календар и отново под същата форма Година - Месец.

За да разберем дали 1 законопроект е станал закон или не, трябва да проверяваме хронологията му:

gif_screencast_5

Поддържане на актуален списък със неприети закони

Това е малко по-"занимавка" отколкото със приетите. Както и при приетите, правим едно начално обхождане на всички години и месеци. След което ще проверяваме единствено последния месец и датите за които нямаме информация.

Допълнението е че трябва да проверяваме и за законопроекти за които още не знаем дали са отхвърлени или чакат решение. Като този: http://www.parliament.bg/bg/bills/ID/13270
gif_screencast_6

_Пояснение_: Някои законопроекти точно като горния пример, който е от 2011г изглежда не се решават или не се обновява сайта на парламента с решението им. За тях няма как да знаем дали е грешка или не и ще е трябва да си ги проверяваме всеки ден.


Визуализация в сайта

Това е само за да си представим как може да се визуализира. С оглед естетика и улеснен достъп търпи промени

На страницата на закона ще се появяват малки диаграми за всяко гласуване на този закон. Диаграмите ще са bar chart с 2 колонки за ДА и НЕ. Самите колонки ще са изградени от гласовете на всеки депутат и затова ще са шарени включващи цветовете на партията на всеки депутат.

Пример:
http://fiddle.jshell.net/W628k/1/show/
temp_snapshot

Под диаграмата ще може да се показва и скрива списък със депутатите и тяхното поименно гласуване за закона.

@mitio
Copy link
Member

mitio commented Dec 10, 2013

👍 за употребата на gif-чета за илюстрация :)

@tsikov
Copy link
Member

tsikov commented Apr 6, 2014

Би било много хубаво ако позволявахме на хората да видят diff между стария и новия закон. Дали ще бъде възможно да го имплементираме на някакъв по-късен етап?

@mitio
Copy link
Member

mitio commented Apr 6, 2014

👍 за diff-овете. Ако имаме пълните текстове на законите, може да стане, но не съм сигурен как стоят нещата там. Трябва да поразпитам някой по-грамотен юридически от мен.

@tsikov
Copy link
Member

tsikov commented Apr 6, 2014

@Glamdring се заема с тази задача. Йей. Ние ще използваме неговото API за да си напълним базата.

@Glamdring
Copy link
Member

Така, API-то вече връща цялата информация от мойта база + линк към XML-а с метаданни за всеки законопроект, откъдето много лесно може да се вземе информация. А като еднократна операция в някакъв бъдещ момент, когато сметнете за добре, ще scrape-на и export-на всички минали документи (в мойта база има само от август 2013).

@antitoxic
Copy link
Member Author

@Glamdring това с метаданнитее имплементирано или още не? Пробваме с @jsibelius :
http://alerts.obshtestvo.bg/api/list?since=1395588822713&token=token&sources=ParliamentLawProjects

но additionalMetaData винаги е null, a ID-то изглежда да е от базата на alerts, та не може да го свържем с линк към парламента.

@antitoxic
Copy link
Member Author

PS: да разбираме че с Петко от този линк към XML-а ще го parse-ваме и извкличам допълнителните детайли от там?

@Glamdring
Copy link
Member

да, additionalMetaData не я връщам, защото XML-ът е достатъчен.
П.П. Изтрий token-а от коментара :)

@antitoxic
Copy link
Member Author

Token done. Извинявай, може би тъпея, но как да стигна до xml-a?

@Glamdring
Copy link
Member

А, забравих да кажа, да - metaDataUrl

@antitoxic
Copy link
Member Author

Нормално ли е metaDataUrl винаги да е null?

@Glamdring
Copy link
Member

Не би трябвало..ама виждам, че е :) ще проверя довечера

@Glamdring
Copy link
Member

Мда, ако бях деплойнал новата конфингурация, щеше да има metaDataUrl :) ще почне да се появява за новите законопроекти (а всички предишни ще ги "извлачим" наведнъж в близко бъдеще, и си напълните базата с тях еднократно)

@tsikov tsikov added this to the Първа итерация milestone Apr 10, 2014
@tsikov tsikov added the scraper label Apr 11, 2014
@Glamdring
Copy link
Member

Работи ли вече както трябва?

@tsikov
Copy link
Member

tsikov commented Apr 26, 2014

Работи! Няма нужда да „извлачваш“ все още. :) Приоритизирали сме към момента да визуализираме гласуванията и присъствието на депутатите.

@tsikov tsikov removed this from the Първа итерация milestone May 10, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants