bluepet

package module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 26, 2020 License: MIT Imports: 10 Imported by: 0

README

Blue Pet

청와대 국민청원 (Petitions to Blue House) 데이터 수집

Usage

go get github.com/cxsu/bluepet

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetTotalPages

func GetTotalPages(totalPages string) (totalNumber int, err error)

GetTotalPages 국민청원 총 페이지 수를 구합니다.

func WritePetitionsInCSV

func WritePetitionsInCSV(petitions []Petition) error

WritePetitionsInCSV CSV 형식으로 청원 정보를 저장하기 위한 함수입니다. 저장하는 내용은 JSONID, 제목, 참여인원수 세 가지입니다.

Types

type BlueHousePetition

type BlueHousePetition struct {
	Status string     `json:"status"`
	Total  string     `json:"total"`
	Page   int        `json:"page"`
	Item   []Petition `json:"item"`
}

BlueHousePetition 청와대 국민청원 한 페이지에 대한 오브젝트입니다.

func RequestToBlueHouse

func RequestToBlueHouse(category, only, order, page int) (bluepet *BlueHousePetition)

RequestToBlueHouse HTTP 요청을 통해 한 페이지에 해당하는 국민청원 데이터를 가져옵니다. 청와대 국민청원 오픈 API가 별도로 제공되지 않기 때문에 홈페이지에서 직접 참조하여 만든 요청 함수입니다. 아래는 제가 임의로 추측한 파라미터 정보입니다.

parameter  | value         | description
-----------+---------------+-------------
c          | 0             | 전체
           | 35            | 정치개혁
           | 36            | 외교/통일/국방
           | 37            | 일자리
           | 38            | 미래
           | 39            | 성장동력
           | 40            | 농산어촌
           | 41            | 보건복지
           | 42            | 육아/교육
           | 43            | 안전/환경
           | 44            | 저출산/고령화대책
           | 45            | 행정
           | 46            | 반려동물
           | 47            | 교통/건축/국토
           | 48            | 경제민주화
           | 49            | 인권/성평등
           | 50            | 문화/예술/체육/언론
           | 51            | 기타
-----------+---------------+-------------
only       | 1             | 진행 중 청원
           | 2             | 만료된 청원
-----------+---------------+-------------
order      | 1             | 최신순 보기
           | 2             | 추천순 보기
-----------+---------------+-------------
page       | number        | 현재 페이지 번호

type Petition

type Petition struct {
	JSONID    string `json:"id"`
	PagingID  int    `json:"paging_id"`
	Title     string `json:"title"`
	Agreement string `json:"agreement"`
	Category  string `json:"category"`
	Created   string `json:"created"`
	Finished  string `json:"finished"`
	Provider  string `json:"provider"`
}

Petition 하나의 국민청원 데이터를 나타내는 오브젝트입니다.

func GetPetitions

func GetPetitions(category, only, order int) ([]Petition, error)

GetPetitions 실시간 국민청원 데이터를 가져옵니다.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL