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

최근 의사일정 가져오기 #13

Open
e9t opened this issue May 30, 2014 · 4 comments
Open

최근 의사일정 가져오기 #13

e9t opened this issue May 30, 2014 · 4 comments

Comments

@e9t
Copy link
Member

e9t commented May 30, 2014

회의록은 바로바로 업데이트 되지 않아서 (약 1주일 소요되는듯),
회의록이 업데이트되지 않은 지난 회의에 대한 정보가 필요.

http://www.assembly.go.kr/renew10/anc/schedule/assm/assemact/council/council0101/assmSchCal/assemSchCal.do

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/2414563-?utm_campaign=plugin&utm_content=tracker%2F248104&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F248104&utm_medium=issues&utm_source=github).
@majorika
Copy link
Contributor

크롤러 실행 시에 파라미터로 범위를 받아서 동작하는 것은 어떤가요?
모든 날짜를 요청하면 요청량이 많아질 것 같습니다.

그리고 저장되면 하는 자료는 어떤 부분인가요?

<h4 class="title">2014-10-01 일정</h4>
<dl class="clist">
    <dt>
        <a href="#" onclick="jsDetail('CMMTT', '0','2005110000002', '2006011000073', '2014090048992');return false;">[위원회] 제329회국회(정기회) 제1차 전체회의</a>
    </dt>
    <dd>2014-10-01 14:30 <span>법제사법위원회</span></dd>
....

형태의 데이터를 가져올 수 있습니다.
조합하면 해당 회의 이름을 눌러서 나오는 페이지의 링크를 만들 수 있어서 달력에서 눌렀을 때 페이지 이동 시 표시된 내용도 가져올 수 있습니다.

@e9t
Copy link
Member Author

e9t commented Nov 11, 2014

파라미터로 날짜 범위 지정

좋은 생각이네요. 저도 대찬성입니다!

저장되는 자료

아래와 같이 세 단계로 처리하는 것을 제안하고 싶습니다.

  1. 날짜 범위를 입력받는다. (ex: get_meeting_list('2014-11-07', '2014-11-09'))

  2. 해당 날짜 범위 내에서http://www.assembly.go.kr/renew10/anc/schedule/assm/assemact/council/council0101/assmSchCal/assemSchCalInfoAjax.do?currentPage=&movePageNum=&rowPerPage=100&gubun=&agendaid=&committee_id=&board_id=&record_id=&returnPage=&weekday=&today=&calendarMove=&showDt=&meetingday=20141107 URL의 meetingday를 바꿔가며 일별로 회의 목록을 크롤링/파싱한다.

  3. 데이터를 meetings_20141107_20141109.csv라는 이름으로 저장한다. (session, sitting 변수는 제목에서 추출)

    date,time,type,title,session,sitting,committee,url
    2014-11-07,14:00,본회의,제329회국회(정기회) 제12차 의사일정,329,12,본회의,http://www.assembly.go.kr/renew10/anc/schedule/assm/assemact/council/council0101/assmSchCal/assemScanCalDetail.do?gubun=ASSEM&agendaid=1100017240,
    2014-11-07,10:00,위원회,제329회국회(정기회) 제6차 전체회의,329,6,법제사법위원회,http://www.assembly.go.kr/renew10/anc/schedule/assm/assemact/council/council0101/assmSchCal/assemScanCalDetail.do?gubun=CMMTT&committee_id=2005110000002&board_id=2006011000073&record_id=2014110049452
    ...
    

@e9t
Copy link
Member Author

e9t commented Nov 11, 2014

지금 들여다보면서 몇 가지 재밌는 사항을 발견했는데,

  1. 회의 상세페이지에서 안건 목록을 보면, 안건 별로 의안 번호가 명시 되어 있는 경우가 있네요! 의안과 회의 를 링크시키는 데이터를 찾지 못해서 추정 알고리즘을 짜야할 것 같았는데, 이 데이터를 이용하면 의안과 회의를 정확하게 링크시킬 수 있을 것 같습니다. (ex: 329회 6차 법제사법위원회)
  2. 과거 시점의 회의 정보만 있을 줄 알았는데, 미래 시점의 회의 정보도 확인해볼 수 있네요! 오늘이 11월 11일인데, 이틀 뒤인 11월 13일의 회의 정보도 제공이 되고 있어요. 그러면 "다음주의 회의 일정"을 알려주는 봇도 만들어 볼 수 있을 것 같아요.

screenshot from 2014-11-11 19 38 33

요하자면, 포텐셜이 큰, 정말 귀중한 데이터인 것 같습니다 ^^

@majorika
Copy link
Contributor

  1. 파라미터로 지정된 범위에 대한 수집
  2. 저장되는 자료 (방식)

대한 부분은 구현이 되었습니다. 미래 시점에 대한 부분은 날짜만 미래 시점으로 호출하면 되기 때문에 추가로 구현할 부분은 없어 보이구요.

남은 것이 개별 의사일정에 대한 세부사항 부분인데요. 어떤 방식으로 처리되면 좋을지 궁금합니다.
각 의사일정에 대한 코드로 생성된 파일 이름으로 각각 파일을 만들어서 저장이 되면 될까요?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants