서울특별시 다산콜센터(☎120)의 주요 민원¶
- 서울특별시 다산콜센터(☎120)의 주요 민원(자주 묻는 질문)에 대한 답변정보
- https://opengov.seoul.go.kr/civilappeal/list
In [2]:
# pandas : 파이썬에서 사용할 수 있는 엑셀과 유사한 데이터분석 도구
# numpy : 파이썬에서 사용할 수 있는 공학용 계산기
# requests : 매우 작은 브라우저로 웹사이트의 내용과 정보를 불러옴
# BeautifulSoup : requests로 가져온 웹사이트의 html 태그를 찾기위해 사용
# time : 간격을 두고 가져오기 위해 사용
import time
import pandas as pd
import numpy as np
import requests
from bs4 import BeautifulSoup as bs
In [3]:
# 120 다산 콜센터의 첫 페이지를 먼저 불러와 크롤링할 내용을 봅니다.
base_url = "https://opengov.seoul.go.kr/civilappeal/list?items_per_page=50&page=1"
print(base_url)
https://opengov.seoul.go.kr/civilappeal/list?items_per_page=50&page=1
In [8]:
# pd.read_html 을 통해 해당 URL의 table 정보를 읽어옵니다.
# table
table = pd.read_html(base_url, encoding = 'utf-8')[0]
#데이터 프레임에 담으려고 [0]에 담기
table
Out[8]:
번호 | 제목 | 생산일 | 조회수 | |
---|---|---|---|---|
0 | 2243 | 수도요금 전자계산서 발급 요청시 | 2022-11-28 | 1258 |
1 | 2242 | 핑크퐁 서울공원 대탐험 행사는 비가 와도 운영하나요? | 2022-10-05 | 448 |
2 | 2241 | 핑크퐁 서울공원 대탐험 행사에 참여하려면 예약이 필요한가요? | 2022-10-05 | 294 |
3 | 2240 | 하반기 농부의 시장 일정은 어떻게 되나요? | 2022-08-29 | 917 |
4 | 2239 | 다자녀가정 실내 바닥매트 지원 | 2021-08-17 | 1550 |
5 | 2238 | [서울산업진흥원] 서울메이드란? | 2021-06-29 | 8399 |
6 | 2237 | 마포 뇌병변장애인 비전센터 | 2021-03-12 | 1840 |
7 | 2236 | 위드유 서울 직장 성희롱.성폭력 예방센터 | 2020-09-16 | 2139 |
8 | 2235 | [성동구] 반려동물 "무료상담실" 운영 안내 | 2020-08-31 | 1923 |
9 | 2234 | 서울시 [우리동네꼼꼼육아정보] 책자 발간 | 2019-10-23 | 2522 |
10 | 2233 | [종료사업] S-Taxi 앱 (에스택시, 서울택시승차앱) 시범운영 | 2019-06-03 | 2379 |
11 | 2232 | 장기요양 이동지원서비스(모두타 돌봄택시) | 2019-05-27 | 3371 |
12 | 2231 | 아름다운청년 전태일기념관 | 2019-03-20 | 1963 |
13 | 2230 | 자동배차콜택시(웨이고 블루)/여성전용예약콜택시(웨이고 레이디) | 2019-02-26 | 1232 |
14 | 2229 | 등록된 법인의 지점이나 사업소는 별도로 등록해야 시공이 가능한가요 ? | 2018-11-22 | 1130 |
15 | 2228 | 광진환경백서는 몇년 주기로 발간됩니까? | 2018-11-22 | 990 |
16 | 2227 | 건설업도 비영리법인 등록이 가능한가요? | 2018-11-22 | 1471 |
17 | 2226 | 2018년 은평 꽃 피는 장날 | 2018-09-05 | 1067 |
18 | 2225 | [농업기술센터]도시청년 이동식 플라워마켓 창업지원(플라워트럭) | 2018-09-04 | 781 |
19 | 2224 | 제2회 AI(인공지능)혁신포럼 ‘AI를 만난 블록체인’ | 2018-07-17 | 780 |
20 | 2223 | 아파트 태양광 설치 및 에너지절약 활성화 포럼 | 2018-07-16 | 985 |
21 | 2222 | 서울반려동물교육센터 | 2018-07-06 | 4626 |
22 | 2221 | 국제교류복합지구(탄천보행교 조성) | 2018-06-15 | 271 |
23 | 2220 | 마곡산업단지 내 문화시설 건립 | 2018-06-15 | 1918 |
24 | 2219 | 브라보 서초문화버스 (셔틀버스) 운행 | 2018-03-13 | 2073 |
25 | 2218 | 금천 나도스타 노래부르기 대회 (어린이날 행사) | 2018-02-15 | 1011 |
26 | 2217 | 3.1절 나라사랑 기념행사 | 2018-02-02 | 1125 |
27 | 2216 | 서대문문화체육회관 FAQ | 2018-01-19 | 4857 |
28 | 2215 | [시ㆍ구정외 타기관 관련 상담] 고용노동부 [일자리 안정자금] | 2018-01-12 | 3436 |
29 | 2214 | DDM 위생안전 지킴이 밴드 운영 안내 | 2017-12-05 | 651 |
30 | 2213 | 서울시민 먹거리 지킴이 1만명 모집 | 2017-11-27 | 1122 |
31 | 2212 | [한강사업본부] 서울함 공원 (구.한강 함상공원) | 2017-11-15 | 4126 |
32 | 2211 | [서울산업진흥원] 창업지원센터 | 2017-03-30 | 5559 |
33 | 2210 | 주택 소방시설 설치 의무화(주택용 소방시설 설치 의무화) | 2017-01-18 | 6841 |
34 | 2209 | AI(조류인플루엔자, 조류독감) | 2017-01-04 | 1560 |
35 | 2208 | 서울시장배 미용예술 경연대회 | 2016-11-02 | 1649 |
36 | 2207 | 서울 도시농업 사진전 | 2016-10-25 | 695 |
37 | 2206 | 한강어울림 래프팅대회 | 2016-09-07 | 589 |
38 | 2205 | 장애인 수영 한강건너기 대회 | 2016-08-26 | 3692 |
39 | 2204 | 작은연구 좋은서울 지원사업 공모 | 2016-08-10 | 596 |
40 | 2203 | 어르신 돌봄가족 휴가제 (치매어르신 돌봄가족 지원) | 2016-08-09 | 6427 |
41 | 2202 | 노인생애체험센터 | 2016-06-28 | 4224 |
42 | 2201 | 아이조아 서울상 콘테스트 | 2016-06-10 | 1025 |
43 | 2200 | 동물매개활동 | 2016-05-24 | 2230 |
44 | 2199 | 걷기 마일리지 | 2016-05-11 | 2516 |
45 | 2198 | 찾아가는 복지현장상담소 | 2016-03-23 | 1502 |
46 | 2197 | [농업기술센터] 부모와 함께하는 녹색식생활체험교육 | 2016-03-17 | 879 |
47 | 2196 | 힐링캠프 운영 | 2016-03-15 | 1212 |
48 | 2195 | 동물보호교육 | 2016-03-11 | 1391 |
49 | 2194 | 서울시 외국인주민 커뮤니티 문화행사 지원 | 2016-02-04 | 1209 |
상세정보를 위한 링크정보 수집¶
- get : 필요한 데이터를 Query String 에 담아 전송
post : 전송할 데이터를 HTTP 메시지의 Body의 Form Data에 담아 전송
get 과 post 여부는 브라우저의 네트워크 탭의 Headers > Request Method 를 통해 확인
In [10]:
# 웹페이지의 결과를 받아옵니다.
response = requests.get(base_url)
response
Out[10]:
<Response [200]>
In [11]:
# status_code를 통한 응답코드 확인 200 == OK
response.status_code
Out[11]:
200
BeautifulSoup 을 통해 html 페이지를 읽기 쉽게 만들기¶
In [34]:
# html 태그를 파싱해 올 수 있도록 합니다.
html = bs(response.text)
# 하나하나 정보 알기 위해
상세 정보 수집을 위한 링크 정보 찾기¶
In [79]:
# BeautifulSoup 의 select 기능을 통한 링크 태그 찾기
# a 태그 안의 상세 페이지 접근을 위한 링크 번호 수집
a_list = html.select('#content > div > div> div > table > tbody > tr > td > a')
a_list
Out[79]:
[<a href="/civilappeal/27328170">수도요금 전자계산서 발급 요청시</a>, <a href="/civilappeal/27097034">핑크퐁 서울공원 대탐험 행사는 비가 와도 운영하나요?</a>, <a href="/civilappeal/27097033">핑크퐁 서울공원 대탐험 행사에 참여하려면 예약이 필요한가요?</a>, <a href="/civilappeal/26695536">하반기 농부의 시장 일정은 어떻게 되나요?</a>, <a href="/civilappeal/25670204">다자녀가정 실내 바닥매트 지원</a>, <a href="/civilappeal/23194045">[서울산업진흥원] 서울메이드란?</a>, <a href="/civilappeal/22477798">마포 뇌병변장애인 비전센터</a>, <a href="/civilappeal/21212235">위드유 서울 직장 성희롱.성폭력 예방센터</a>, <a href="/civilappeal/21095911">[성동구] 반려동물 "무료상담실" 운영 안내</a>, <a href="/civilappeal/18955676">서울시 [우리동네꼼꼼육아정보] 책자 발간</a>, <a href="/civilappeal/17949033">[종료사업] S-Taxi 앱 (에스택시, 서울택시승차앱) 시범운영</a>, <a href="/civilappeal/17896364">장기요양 이동지원서비스(모두타 돌봄택시)</a>, <a href="/civilappeal/17505766">아름다운청년 전태일기념관</a>, <a href="/civilappeal/19717325">자동배차콜택시(웨이고 블루)/여성전용예약콜택시(웨이고 레이디)</a>, <a href="/civilappeal/16610518">등록된 법인의 지점이나 사업소는 별도로 등록해야 시공이 가능한가요 ?</a>, <a href="/civilappeal/16610517">광진환경백서는 몇년 주기로 발간됩니까?</a>, <a href="/civilappeal/16610516">건설업도 비영리법인 등록이 가능한가요?</a>, <a href="/civilappeal/16041433">2018년 은평 꽃 피는 장날</a>, <a href="/civilappeal/17829312">[농업기술센터]도시청년 이동식 플라워마켓 창업지원(플라워트럭)</a>, <a href="/civilappeal/15689946">제2회 AI(인공지능)혁신포럼 ‘AI를 만난 블록체인’</a>, <a href="/civilappeal/15680790">아파트 태양광 설치 및 에너지절약 활성화 포럼</a>, <a href="/civilappeal/15625730">서울반려동물교육센터</a>, <a href="/civilappeal/25392995">국제교류복합지구(탄천보행교 조성)</a>, <a href="/civilappeal/15472239">마곡산업단지 내 문화시설 건립</a>, <a href="/civilappeal/14823020">브라보 서초문화버스 (셔틀버스) 운행</a>, <a href="/civilappeal/14649855">금천 나도스타 노래부르기 대회 (어린이날 행사)</a>, <a href="/civilappeal/14564100">3.1절 나라사랑 기념행사</a>, <a href="/civilappeal/14479823">서대문문화체육회관 FAQ</a>, <a href="/civilappeal/14425328">[시ㆍ구정외 타기관 관련 상담] 고용노동부 [일자리 안정자금]</a>, <a href="/civilappeal/18280962">DDM 위생안전 지킴이 밴드 운영 안내</a>, <a href="/civilappeal/13987638">서울시민 먹거리 지킴이 1만명 모집</a>, <a href="/civilappeal/13865831">[한강사업본부] 서울함 공원 (구.한강 함상공원)</a>, <a href="/civilappeal/11619550">[서울산업진흥원] 창업지원센터</a>, <a href="/civilappeal/10924244">주택 소방시설 설치 의무화(주택용 소방시설 설치 의무화)</a>, <a href="/civilappeal/10807453">AI(조류인플루엔자, 조류독감)</a>, <a href="/civilappeal/10148511">서울시장배 미용예술 경연대회</a>, <a href="/civilappeal/10059785">서울 도시농업 사진전</a>, <a href="/civilappeal/18062493">한강어울림 래프팅대회</a>, <a href="/civilappeal/9479998">장애인 수영 한강건너기 대회</a>, <a href="/civilappeal/9337567">작은연구 좋은서울 지원사업 공모</a>, <a href="/civilappeal/9325825">어르신 돌봄가족 휴가제 (치매어르신 돌봄가족 지원)</a>, <a href="/civilappeal/8913466">노인생애체험센터</a>, <a href="/civilappeal/8746710">아이조아 서울상 콘테스트</a>, <a href="/civilappeal/8574906">동물매개활동</a>, <a href="/civilappeal/8447595">걷기 마일리지</a>, <a href="/civilappeal/7980037">찾아가는 복지현장상담소</a>, <a href="/civilappeal/7925518">[농업기술센터] 부모와 함께하는 녹색식생활체험교육</a>, <a href="/civilappeal/8138255">힐링캠프 운영</a>, <a href="/civilappeal/7865059">동물보호교육</a>, <a href="/civilappeal/7553330">서울시 외국인주민 커뮤니티 문화행사 지원</a>]
In [80]:
# 링크 정보 가져오기
# 내용 번호 가져오기 위해 / 로 문자열 나누기
# 나눈 문자에서 마지막 값만 가져오면 게시물 내용 번호가 됨
a_link_no = list()
for a in a_list :
print(a['href'])
/civilappeal/27328170 /civilappeal/27097034 /civilappeal/27097033 /civilappeal/26695536 /civilappeal/25670204 /civilappeal/23194045 /civilappeal/22477798 /civilappeal/21212235 /civilappeal/21095911 /civilappeal/18955676 /civilappeal/17949033 /civilappeal/17896364 /civilappeal/17505766 /civilappeal/19717325 /civilappeal/16610518 /civilappeal/16610517 /civilappeal/16610516 /civilappeal/16041433 /civilappeal/17829312 /civilappeal/15689946 /civilappeal/15680790 /civilappeal/15625730 /civilappeal/25392995 /civilappeal/15472239 /civilappeal/14823020 /civilappeal/14649855 /civilappeal/14564100 /civilappeal/14479823 /civilappeal/14425328 /civilappeal/18280962 /civilappeal/13987638 /civilappeal/13865831 /civilappeal/11619550 /civilappeal/10924244 /civilappeal/10807453 /civilappeal/10148511 /civilappeal/10059785 /civilappeal/18062493 /civilappeal/9479998 /civilappeal/9337567 /civilappeal/9325825 /civilappeal/8913466 /civilappeal/8746710 /civilappeal/8574906 /civilappeal/8447595 /civilappeal/7980037 /civilappeal/7925518 /civilappeal/8138255 /civilappeal/7865059 /civilappeal/7553330
In [81]:
a_link_no = list()
for a in a_list :
a_link_no.append(a['href'].split('/')[-1])
len(a_link_no)
Out[81]:
50
In [82]:
# a_link_no 에 내용번호만 수집해서 반복문으로 리스트 만들기
temp = pd.read_html(response.text)[0]
temp.head()
Out[82]:
번호 | 제목 | 생산일 | 조회수 | |
---|---|---|---|---|
0 | 2243 | 수도요금 전자계산서 발급 요청시 | 2022-11-28 | 1258 |
1 | 2242 | 핑크퐁 서울공원 대탐험 행사는 비가 와도 운영하나요? | 2022-10-05 | 448 |
2 | 2241 | 핑크퐁 서울공원 대탐험 행사에 참여하려면 예약이 필요한가요? | 2022-10-05 | 294 |
3 | 2240 | 하반기 농부의 시장 일정은 어떻게 되나요? | 2022-08-29 | 917 |
4 | 2239 | 다자녀가정 실내 바닥매트 지원 | 2021-08-17 | 1550 |
In [83]:
# a_link_no 를 "내용번호" 컬럼을 생성해서 넣어줍니다.
temp['내용번호'] = a_link_no
In [84]:
temp
Out[84]:
번호 | 제목 | 생산일 | 조회수 | 내용번호 | |
---|---|---|---|---|---|
0 | 2243 | 수도요금 전자계산서 발급 요청시 | 2022-11-28 | 1258 | 27328170 |
1 | 2242 | 핑크퐁 서울공원 대탐험 행사는 비가 와도 운영하나요? | 2022-10-05 | 448 | 27097034 |
2 | 2241 | 핑크퐁 서울공원 대탐험 행사에 참여하려면 예약이 필요한가요? | 2022-10-05 | 294 | 27097033 |
3 | 2240 | 하반기 농부의 시장 일정은 어떻게 되나요? | 2022-08-29 | 917 | 26695536 |
4 | 2239 | 다자녀가정 실내 바닥매트 지원 | 2021-08-17 | 1550 | 25670204 |
5 | 2238 | [서울산업진흥원] 서울메이드란? | 2021-06-29 | 8399 | 23194045 |
6 | 2237 | 마포 뇌병변장애인 비전센터 | 2021-03-12 | 1840 | 22477798 |
7 | 2236 | 위드유 서울 직장 성희롱.성폭력 예방센터 | 2020-09-16 | 2139 | 21212235 |
8 | 2235 | [성동구] 반려동물 "무료상담실" 운영 안내 | 2020-08-31 | 1923 | 21095911 |
9 | 2234 | 서울시 [우리동네꼼꼼육아정보] 책자 발간 | 2019-10-23 | 2522 | 18955676 |
10 | 2233 | [종료사업] S-Taxi 앱 (에스택시, 서울택시승차앱) 시범운영 | 2019-06-03 | 2379 | 17949033 |
11 | 2232 | 장기요양 이동지원서비스(모두타 돌봄택시) | 2019-05-27 | 3371 | 17896364 |
12 | 2231 | 아름다운청년 전태일기념관 | 2019-03-20 | 1963 | 17505766 |
13 | 2230 | 자동배차콜택시(웨이고 블루)/여성전용예약콜택시(웨이고 레이디) | 2019-02-26 | 1232 | 19717325 |
14 | 2229 | 등록된 법인의 지점이나 사업소는 별도로 등록해야 시공이 가능한가요 ? | 2018-11-22 | 1130 | 16610518 |
15 | 2228 | 광진환경백서는 몇년 주기로 발간됩니까? | 2018-11-22 | 990 | 16610517 |
16 | 2227 | 건설업도 비영리법인 등록이 가능한가요? | 2018-11-22 | 1471 | 16610516 |
17 | 2226 | 2018년 은평 꽃 피는 장날 | 2018-09-05 | 1067 | 16041433 |
18 | 2225 | [농업기술센터]도시청년 이동식 플라워마켓 창업지원(플라워트럭) | 2018-09-04 | 781 | 17829312 |
19 | 2224 | 제2회 AI(인공지능)혁신포럼 ‘AI를 만난 블록체인’ | 2018-07-17 | 780 | 15689946 |
20 | 2223 | 아파트 태양광 설치 및 에너지절약 활성화 포럼 | 2018-07-16 | 985 | 15680790 |
21 | 2222 | 서울반려동물교육센터 | 2018-07-06 | 4626 | 15625730 |
22 | 2221 | 국제교류복합지구(탄천보행교 조성) | 2018-06-15 | 271 | 25392995 |
23 | 2220 | 마곡산업단지 내 문화시설 건립 | 2018-06-15 | 1918 | 15472239 |
24 | 2219 | 브라보 서초문화버스 (셔틀버스) 운행 | 2018-03-13 | 2073 | 14823020 |
25 | 2218 | 금천 나도스타 노래부르기 대회 (어린이날 행사) | 2018-02-15 | 1011 | 14649855 |
26 | 2217 | 3.1절 나라사랑 기념행사 | 2018-02-02 | 1125 | 14564100 |
27 | 2216 | 서대문문화체육회관 FAQ | 2018-01-19 | 4857 | 14479823 |
28 | 2215 | [시ㆍ구정외 타기관 관련 상담] 고용노동부 [일자리 안정자금] | 2018-01-12 | 3436 | 14425328 |
29 | 2214 | DDM 위생안전 지킴이 밴드 운영 안내 | 2017-12-05 | 651 | 18280962 |
30 | 2213 | 서울시민 먹거리 지킴이 1만명 모집 | 2017-11-27 | 1122 | 13987638 |
31 | 2212 | [한강사업본부] 서울함 공원 (구.한강 함상공원) | 2017-11-15 | 4126 | 13865831 |
32 | 2211 | [서울산업진흥원] 창업지원센터 | 2017-03-30 | 5559 | 11619550 |
33 | 2210 | 주택 소방시설 설치 의무화(주택용 소방시설 설치 의무화) | 2017-01-18 | 6841 | 10924244 |
34 | 2209 | AI(조류인플루엔자, 조류독감) | 2017-01-04 | 1560 | 10807453 |
35 | 2208 | 서울시장배 미용예술 경연대회 | 2016-11-02 | 1649 | 10148511 |
36 | 2207 | 서울 도시농업 사진전 | 2016-10-25 | 695 | 10059785 |
37 | 2206 | 한강어울림 래프팅대회 | 2016-09-07 | 589 | 18062493 |
38 | 2205 | 장애인 수영 한강건너기 대회 | 2016-08-26 | 3692 | 9479998 |
39 | 2204 | 작은연구 좋은서울 지원사업 공모 | 2016-08-10 | 596 | 9337567 |
40 | 2203 | 어르신 돌봄가족 휴가제 (치매어르신 돌봄가족 지원) | 2016-08-09 | 6427 | 9325825 |
41 | 2202 | 노인생애체험센터 | 2016-06-28 | 4224 | 8913466 |
42 | 2201 | 아이조아 서울상 콘테스트 | 2016-06-10 | 1025 | 8746710 |
43 | 2200 | 동물매개활동 | 2016-05-24 | 2230 | 8574906 |
44 | 2199 | 걷기 마일리지 | 2016-05-11 | 2516 | 8447595 |
45 | 2198 | 찾아가는 복지현장상담소 | 2016-03-23 | 1502 | 7980037 |
46 | 2197 | [농업기술센터] 부모와 함께하는 녹색식생활체험교육 | 2016-03-17 | 879 | 7925518 |
47 | 2196 | 힐링캠프 운영 | 2016-03-15 | 1212 | 8138255 |
48 | 2195 | 동물보호교육 | 2016-03-11 | 1391 | 7865059 |
49 | 2194 | 서울시 외국인주민 커뮤니티 문화행사 지원 | 2016-02-04 | 1209 | 7553330 |
특정 페이지를 수집하는 함수 만들기¶
- 예외처리 : 05-4 예외 처리 - 점프 투 파이썬
In [99]:
def get_one_page(page_no):
"""
120 주요질문의 특정 페이지 목록을 수집
1) page_no 마다 url이 변경되게 f-string 을 사용해 만든다.
2) requests 를 사용해서 요청을 보내고 응답을 받는다.
3) pd.read_html 을 사용해서 table tag로 게시물을 읽어온다.
4) 3번 결과에서 0번 인덱스를 가져와 데이터프레임으로 목록의 내용을 만든다.
5) html tag를 parsing할 수 있게 bs 형태로 만든다.
6) 목록 안에 있는 a tag를 찾는다.
7) a tag 안에서 string 을 분리해서 내용번호만 리스트 형태로 만든다.
8) 4)의 결과에 "내용번호"라는 컬럼을 만들고 a tag의 리스트를 추가한다.
9) 없는 페이지번호가 들어왔을 때의 오류에 대처한다.
10) 반환값을 지정한다.
"""
try :
url = f"https://opengov.seoul.go.kr/civilappeal/list?items_per_page=50&page={page_no}"
response = requests.get(url)
df = pd.read_html(response.text)[0]
html = bs(response.text)
a_list = html.select("td.data-title.aLeft > a")
link_list = []
for i in a_list :
link_list.append(i['href'].split('/')[-1])
link_no = link_list
df['내용번호'] = link_list
return df
except Exception as e :
print(f"없는 페이지 입니다. {e}")
In [102]:
# 함수가 잘 동작하는지 확인
get_one_page(20)
Out[102]:
번호 | 제목 | 생산일 | 조회수 | 내용번호 | |
---|---|---|---|---|---|
0 | 1293 | 건축물대장에 나와 있는 건물가격을 변경하고 싶습니다. | 2009-10-13 | 855 | 2897412 |
1 | 1292 | 공사용자재 분리발주(관급자재) | 2009-10-13 | 1245 | 2894657 |
2 | 1291 | 말소건축물대장이란 무엇인가요? | 2009-10-13 | 5769 | 2897173 |
3 | 1290 | 은평문인협회 대표자 및 회원수는? | 2009-10-13 | 409 | 2896176 |
4 | 1289 | 공동주택의 세대 강제환기시설? | 2009-10-13 | 782 | 2894656 |
5 | 1288 | 최대개발규모에 대한 경미한 변경사항? | 2009-10-13 | 654 | 2895113 |
6 | 1287 | 용도폐지되는 공공용지는 공공용지 부담비율(면적)에 포함되는지? | 2009-10-13 | 284 | 2895112 |
7 | 1286 | 불광천 벽천분수에 있는 조형물 이름은? | 2009-10-13 | 728 | 2896624 |
8 | 1285 | 대체에너지 설치대상 건축물 | 2009-10-13 | 321 | 2894655 |
9 | 1284 | 가족수당(직계비속)의 연령요건은? | 2009-10-13 | 663 | 2896662 |
10 | 1283 | 가족수당(직계존속)의 연령요건은? | 2009-10-13 | 875 | 2896661 |
11 | 1282 | 스키장업 시설 설치 기준은? | 2009-10-13 | 595 | 2895469 |
12 | 1281 | 가족수당의 지급요건은? | 2009-10-13 | 160 | 2896660 |
13 | 1280 | 공공청사에 대하여 구청장이 결정할 수 있는 범위는 ? | 2009-10-13 | 182 | 2896108 |
14 | 1279 | 의료기관에서 진료기록부 사본을 발급 받으려면 어떻게 해야되나요 ? | 2009-10-13 | 3312 | 2896245 |
15 | 1278 | 건축물이 증축되어 기재신청서를 제출하려고 하는데 서식이 없습니다. | 2009-10-13 | 943 | 2897410 |
16 | 1277 | 구립, 민간, 가정어린이집 차이점은? | 2009-10-13 | 12814 | 2897409 |
17 | 1276 | 은평구 관내 수색로 구간은 ? | 2009-10-13 | 171 | 2896047 |
18 | 1275 | 은평뉴타운의 실개천 조성 규모는? | 2009-10-13 | 660 | 2895111 |
19 | 1274 | 토지분할로 인하여 지번이 변경될 경우 대지소유자의 동의서 첨부여부. | 2009-10-13 | 1258 | 2896046 |
20 | 1273 | 구에서 도시계획위원회를 구성하여 운영하고 있나요? | 2009-10-13 | 232 | 2897695 |
21 | 1272 | 어린이집에서 현금영수증 발급가능한가요? | 2009-10-13 | 3821 | 2897408 |
22 | 1271 | 도정법에서 토지등소유자에게 공개토록 되어 있는 서류 등은 무엇이 있습니까? | 2009-10-13 | 224 | 2896106 |
23 | 1270 | 저수지의 정의 | 2009-10-13 | 487 | 2896369 |
24 | 1269 | 매칭자금은 언제 입금합니까? | 2009-10-13 | 347 | 2895560 |
25 | 1268 | 유수지의 정의 | 2009-10-13 | 680 | 2896386 |
26 | 1267 | 청소년수련시설 결정기준 | 2009-10-13 | 652 | 2896370 |
27 | 1266 | [이재민판정]이재민 판정은 누가 합니까? | 2009-10-13 | 663 | 2896568 |
28 | 1265 | 서울소재 노인시험감독관 사업수행기관은? | 2009-10-13 | 249 | 2897760 |
29 | 1264 | 이자는 언제 받을 수 있나요? | 2009-10-13 | 330 | 2895558 |
30 | 1263 | 총괄사업관리자인 sh공사가 하는 일은? | 2009-10-13 | 618 | 2896105 |
31 | 1262 | (은평구)행정정보 공동이용시 제약사항이 있나요? | 2009-10-13 | 239 | 2895248 |
32 | 1261 | 단지안의 시설 이란? | 2009-10-13 | 365 | 2897333 |
33 | 1260 | 당겨결제는 어떻게 하는 건가요? | 2009-10-13 | 1166 | 2896761 |
34 | 1259 | 자치구세에는 어떠한게 있나요? | 2009-10-13 | 23 | 25321865 |
35 | 1258 | 토지90제곱미터 미만인 공유지분 소유자의 공동분양 신청 여부 | 2009-10-13 | 1398 | 2895455 |
36 | 1257 | 식품제조가공업소가 자가품질검사를 실시하지 않은 경우 행정처분 기준은? | 2009-10-13 | 1266 | 2898270 |
37 | 1256 | 북아현2 재정비촉진구역 아파트 신축 건축규모는? | 2009-10-13 | 459 | 2896006 |
38 | 1255 | 독신자용 주택이란? | 2009-10-13 | 1585 | 2894631 |
39 | 1254 | 벽화 그림의 주제는 어떠한 것도 상관없나요? | 2009-10-13 | 633 | 2897694 |
40 | 1253 | 의료시설이란? | 2009-10-13 | 2872 | 2894633 |
41 | 1252 | 주민공동시설이란? | 2009-10-13 | 5087 | 2894632 |
42 | 1251 | 민간 건축물 디자인심의 대상과 신청방법 및 제출서류는 어떻게 되나요? | 2009-10-13 | 380 | 2897596 |
43 | 1250 | 입주자 저축제도에는 무엇이 있나요? | 2009-10-13 | 2591 | 2897332 |
44 | 1249 | 모래내 경관사업이라고 들은것 같은데 어떠한 사업인가요? | 2009-10-13 | 203 | 2897692 |
45 | 1248 | 상속에 의한 분양가 합산 가능한가? | 2009-10-13 | 258 | 2895458 |
46 | 1247 | 연대 건너편 가도교에 벽화를 그리고 싶은데 어떻게 해야하나요? | 2009-10-13 | 415 | 2897691 |
47 | 1246 | 주택에 입주할 수 있는 요건은? | 2009-10-13 | 167 | 2896005 |
48 | 1245 | 비디오물소극장에 청소년출입동의서에 기재되어야 할 사항은 무엇인가요? | 2009-10-13 | 511 | 2896131 |
49 | 1244 | 주거환경개선지구은 언제 지구지정 되어나 | 2009-10-13 | 348 | 2897826 |
In [110]:
# 없는 페이지도 확인
get_one_page(50)
Out[110]:
번호 | 제목 | 생산일 | 조회수 | 내용번호 |
---|
반복문(while)을 통한 여러 페이지 수집하기¶
- 게시물이 없을 때까지 수집하기
In [121]:
page_no = 40
result = get_one_page(page_no)
print(type(result))
print(result is not None and (len(result) > 0))
# 아무것도 들어있지 않은 페이지가 있다
print(len(result))
result
<class 'pandas.core.frame.DataFrame'> True 50
Out[121]:
번호 | 제목 | 생산일 | 조회수 | 내용번호 | |
---|---|---|---|---|---|
0 | 293 | 농업지도자회 문의? | 2007-08-31 | 155 | 2896956 |
1 | 292 | [농업기술센터] 새해농업인실용교육 | 2007-08-31 | 302 | 2898115 |
2 | 291 | [방재_기타신고] 가스나 전기에 의한 용접 작업 등을 하려고 할 경우 신고기관은? | 2007-08-14 | 531 | 2894425 |
3 | 290 | [방재_기타신고] 공연 및 야외 영화감상을 하면 소방서에서 안전관리 요원이 출동 하나요? | 2007-08-14 | 677 | 2894426 |
4 | 289 | 서울시 물품 관리 | 2007-08-14 | 1123 | 2896550 |
5 | 288 | 국유지 매각기준을 보고 싶은데 어디서 볼수 있는지요? | 2007-08-14 | 2898 | 2894946 |
6 | 287 | 국비 지출 절차는 어떻게 되나요? | 2007-08-13 | 507 | 2896971 |
7 | 286 | [시민수상구조대] 시민수상구조대가 무엇인가요? | 2007-08-13 | 917 | 2894670 |
8 | 285 | 이자수입은 어디서 발생하며 이율은 어떻게 정해지나요?(계산증명) | 2007-08-13 | 801 | 2894113 |
9 | 284 | 계산증명자료는 감사원 어느부서로 보내나요? | 2007-08-13 | 262 | 2896974 |
10 | 283 | 국비 자금배정은 어떤 절차로 되나요? | 2007-08-13 | 223 | 2896973 |
11 | 282 | 우리 동네 이름을 바꿀 수 있는 방법은? | 2007-08-13 | 919 | 2894120 |
12 | 281 | 지급명령 반납절차에는 어떻게 되나요? | 2007-08-13 | 394 | 2894115 |
13 | 280 | 클린법인카드와 신용카드의 차이점은 무엇인가요? | 2007-08-13 | 2280 | 2894703 |
14 | 279 | [서울시립대학교] 행정시스템 | 2007-08-13 | 364 | 2895402 |
15 | 278 | [위험물_설치허가] 보일러 등유로 사용하기 위해 위험물 허가를 받으려면 어떻게 해야... | 2007-08-10 | 1267 | 2898495 |
16 | 277 | 구조물 배관은 어떤 것이 있나요? | 2007-08-08 | 84 | 19333503 |
17 | 276 | 콘크리트 구조물의 내구성 저하 요인은 어떤 것이 있는가요? | 2007-08-08 | 1286 | 2894442 |
18 | 275 | 동작구 장승배기~여의도간을 연결하는 고가도로는 어떻게 추진되고 있나요? | 2007-08-08 | 1466 | 2894189 |
19 | 274 | 공사 실명제란? | 2007-08-08 | 1624 | 2894953 |
20 | 273 | [소방행정] 소방서에서 하는 일이 무엇입니까? | 2007-08-08 | 12444 | 2894417 |
21 | 272 | 70년대 전기기술자면허증 발급확인 방법은? | 2007-08-07 | 563 | 2894130 |
22 | 271 | 부동산 등기부등본 발급 문의 | 2007-08-07 | 32418 | 2895795 |
23 | 270 | [서울시 수련원] 이용시 선택적 복지포인트 차감은 어떻게 하나요? | 2007-08-07 | 1458 | 2895031 |
24 | 269 | 교육지원조례 및 지원사업은? | 2007-08-07 | 250 | 2895656 |
25 | 268 | 공무원교육원 교육생 홈페이지 등록을 미처 못했는데 어떻게 해야 하나요? | 2007-08-07 | 201 | 2894379 |
26 | 267 | 과정별 평가종류 및 과목은 어떻게 알 수 있습니까? | 2007-08-07 | 239 | 2894377 |
27 | 266 | 공무원교육원 구내식당을 다른 행사장으로 이용 할 수 있나요? | 2007-08-06 | 277 | 2896344 |
28 | 265 | [소방시설] 소화기는 어디에서 구입하나요? | 2007-08-06 | 18268 | 2896985 |
29 | 264 | [서울시 수련원] 일반시민 이용가능여부 및 어디에 몇 개가 있나요? | 2007-08-05 | 10191 | 2897004 |
30 | 263 | [소방시설] 소화기구 적용대상 및 기준 | 2007-08-03 | 926 | 2896989 |
31 | 262 | [소방안전교육] 지하철 관계자도 소방교육을 받고 있나요? | 2007-08-03 | 610 | 2895544 |
32 | 261 | [소방관계법 위반] 직원사칭한 소화기 강매하려는 사람은 어떻게 해야 하나요? | 2007-08-03 | 687 | 2894878 |
33 | 260 | [소방행정] 직원사칭 대상처 검사요구시 어떻게 해야 하나요? | 2007-08-03 | 629 | 2894416 |
34 | 259 | [병원이용] 행려정신병자가 있어서 이송하려는데 필요한 절차가 어떻게 되나요? | 2007-08-02 | 2621 | 2894598 |
35 | 258 | 게임장에 대한 행정처분 기준및 청구절차는 | 2007-07-31 | 880 | 2895619 |
36 | 257 | 한옥 융자금을 받기 위해 필요한 서류는 무엇인가요? | 2007-07-31 | 421 | 2898454 |
37 | 256 | 서울에 있는 공원 매점을 임대받으려면 어떻게 해야 하나요? | 2007-07-30 | 1035 | 2894219 |
38 | 255 | [급수_급수신청_신청방법] 공동수도를 우리동네에 설치할 수 있나요? | 2007-07-27 | 291 | 2894400 |
39 | 254 | 정비사업체를 해지할 경우 바로 회사 설립이 가능한가요? | 2007-07-27 | 675 | 2894135 |
40 | 253 | 재개발지역 주민 재입주율 향상을 위한 대책은 무엇인가요? | 2007-07-27 | 1363 | 2894127 |
41 | 252 | 유사 석유 및 휘발유 신고처 | 2007-07-27 | 1555 | 2894708 |
42 | 251 | 정비업체, 시공사 선정과 등록, 계약(해지)에 관한 규정이 어떻게 되나요? | 2007-07-27 | 1411 | 2894139 |
43 | 250 | 조합원의 분양권 매매에 대한 규정이 어떻게 되나요? | 2007-07-27 | 1498 | 2898191 |
44 | 249 | 호수밀도 산정기준이 어떻게 되나요? | 2007-07-27 | 2344 | 2898192 |
45 | 248 | 세입자에 대한 주거이전비를 조합에서 선지급하고, 추후 청산시 조합원에게 부담하도록 ... | 2007-07-27 | 874 | 2894138 |
46 | 247 | 재개발조합의 불법행위에 대해 어떻게 해야 하나요? | 2007-07-27 | 1319 | 2898193 |
47 | 246 | [수도사업소] 요금조정심의 시 구비서류 | 2007-07-27 | 549 | 2898311 |
48 | 245 | 정비구역 지정 입안에 따른 주민 동의율 산정시 나대지 소유자와 기존무허가건물 소유자... | 2007-07-27 | 1309 | 2894128 |
49 | 244 | [입주자대표회의] 구성원이 10명이고, 그 구성원의 7명이 선출되었을 경우 입주자대... | 2007-07-26 | 2485 | 2895030 |
In [122]:
# time.sleep을 통해 일정 간격 쉬었다가 가져옵니다.
# 게시물이 없으면 멈춥니다.
page_no = 1
table_list = []
while True :
df_one = get_one_page(page_no)
if df_one is None or (len(df_one) == 0) :
break
table_list.append(df_one)
page_no = page_no + 1
In [ ]:
데이터 병합하기¶
In [125]:
# 여러 페이지의 내용을 하나로 병합합니다.
df = pd.concat(table_list, ignore_index = True)
df.shape
Out[125]:
(2243, 5)
데이터 파일로 저장하기¶
In [ ]:
# 저장할 파일명
file_name = "seoul-120-list.csv"
In [ ]:
# CSV 파일로 저장하기
In [ ]:
# 저장한 파일 확인
In [ ]:
'AI SCHOOL > Python' 카테고리의 다른 글
[Python] 다산콜센터 주요 민원 내용 수집(2) (0) | 2023.01.24 |
---|---|
[Python] 대통령연설기록 수집 - 2 (연설 내 가져오기) (0) | 2023.01.22 |
[Python] 대통령연설기록 수집 - 1 (0) | 2023.01.17 |
[Python] 네이버 금융 뉴스기사 수집 (0) | 2023.01.15 |
[Python] FinanceDataReader (0) | 2023.01.12 |