python/crawling

나라장터 open api crawling

cj92 2020. 3. 1. 19:09
Untitled4
In [1]:
import pandas as pd
from bs4 import BeautifulSoup
import requests
import urllib
from urllib import parse
from datetime import datetime, timedelta
from datetime import date
import re 
import math
In [2]:
today = date.today()
start=re.sub('-','',str(today - timedelta(days=60)))
end=re.sub('-','',str(today))

priceUp=2000000
priceDown=200000000000
key='오픈api'
In [4]:
link='http://apis.data.go.kr/1230000/BidPublicInfoService/getBidPblancListInfoServcPPSSrch?type=json&inqryDiv=1&dminsttNm='+parse.quote('해양수산부')+'&inqryBgnDt='+start+'&inqryEndDt='+end+'&pageNo=1&numOfRows=1&ServiceKey='+key
url = parse.urlparse(link) 
query = parse.parse_qs(url.query)
base='http://apis.data.go.kr/1230000/BidPublicInfoService/getBidPblancListInfoServcPPSSrch?'
link=base+parse.urlencode(query, doseq=True)
In [5]:
request=urllib.request.urlopen(link).read().decode('utf-8')
n=math.ceil(json.loads(request)['response']['body']['totalCount']*.1)
n
Out[5]:
70
In [6]:
page=1
link='http://apis.data.go.kr/1230000/BidPublicInfoService/getBidPblancListInfoServcPPSSrch?type=json&inqryDiv=1&dminsttNm='+parse.quote('해양수산부')+'&inqryBgnDt='+start+'&inqryEndDt='+end+'&pageNo='+str(page)+'&numOfRows=10&ServiceKey='+key
url = parse.urlparse(link) 
query = parse.parse_qs(url.query)
link=base+parse.urlencode(query, doseq=True)
request=urllib.request.urlopen(link).read().decode('utf-8')
df=pd.DataFrame(json.loads(request)['response']['body']['items'])
df2=df[['bidNtceNm','asignBdgtAmt','bidBeginDt','bidClseDt','opengDt','bidMethdNm','cntrctCnclsMthdNm','dminsttNm','dminsttCd','bidNtceNo','reNtceYn','ntceKindNm','bidNtceDtlUrl']]
df2.rename(columns = {'asignBdgtAmt' : '배정예산','bidNtceNm':'공고명','bidBeginDt':'입찰개시일','bidClseDt':'입찰마감일'
                  ,'opengDt':'개찰일시','bidMethdNm':'입찰방식','cntrctCnclsMthdNm':'계약체결방법','dminsttCd':'수요기관코드'
                 ,'dminsttNm':'수요기관명','bidNtceNo':'입찰공고번호','reNtceYn':'재공고여부','ntceKindNm':'공고종류','bidNtceDtlUrl':'링크'}, inplace = True)
data=df2
/root/anaconda3/envs/jupyter/lib/python3.6/site-packages/pandas/core/frame.py:4133: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  errors=errors,
In [7]:
data
Out[7]:
공고명 배정예산 입찰개시일 입찰마감일 개찰일시 입찰방식 계약체결방법 수요기관명 수요기관코드 입찰공고번호 재공고여부 공고종류 링크
0 2020~2021년 사무기기 유지보수 용역(재공고) 192000000 2020-01-07 10:00:00 2020-01-13 14:00:00 2020-01-13 15:00:00 전자입찰 제한(총액)협상에의한계약 해양수산부 1192000 20191239804 N 변경 http://www.g2b.go.kr:8081/ep/invitation/publis...
1 2020년 해양안전종합정보시스템(GICOMS) 유지보수 및 운영 435593200 2020-01-08 10:00:00 2020-01-14 10:00:00 2020-01-14 11:00:00 전자입찰 제한(총액)협상에의한계약 해양수산부 1192000 20200100306 Y 일반 http://www.g2b.go.kr:8081/ep/invitation/publis...
2 2020년 실시간 해양환경 어장정보시스템 유지보수 351647806 2020-01-07 10:00:00 2020-01-07 12:00:00 2020-01-07 13:00:00 전자시담 수의(총액) 해양수산부 국립수산과학원 1192266 20200100313 N 일반 http://www.g2b.go.kr:8081/ep/invitation/publis...
3 2020년도 로란-C 시설장비 유지보수 용역(긴급) 40000000 2020-01-08 10:00:00 2020-01-14 10:00:00 2020-01-14 11:00:00 전자입찰 제한(총액)협상에의한계약 해양수산부 국립해양측위정보원 1192464 20191243271 N 긴급 http://www.g2b.go.kr:8081/ep/invitation/publis...
4 2020년도 항로표지 전산관리시스템 유지관리 용역 121344200 2020-01-10 10:00:00 2020-01-14 10:00:00 2020-01-14 11:00:00 전자입찰 제한(총액)협상에의한계약 해양수산부 여수지방해양수산청 1192359 20200101328 Y 일반 http://www.g2b.go.kr:8081/ep/invitation/publis...
5 평택·당진항 중앙집중형 종합보안시스템 유지보수 용역 191929400 2020-01-10 10:00:00 2020-01-14 10:00:00 2020-01-14 11:00:00 전자입찰 제한(총액)협상에의한계약 해양수산부 평택지방해양수산청 1192365 20200101339 Y 일반 http://www.g2b.go.kr:8081/ep/invitation/publis...
6 2020년도 항만보안 종합감시시스템 유지보수 용역 141511400 2020-01-10 12:00:00 2020-01-14 12:00:00 2020-01-14 13:00:00 전자입찰 제한(총액)협상에의한계약 해양수산부 부산지방해양수산청 제주해양수산관리단 1192373 20200101590 Y 일반 http://www.g2b.go.kr:8081/ep/invitation/publis...
7 2020년도 항로표지 관리시스템 유지보수 용역 98250000 2020-01-03 20:00:00 2020-01-13 10:00:00 2020-01-13 11:00:00 전자입찰 제한(총액) 해양수산부 부산지방해양수산청 1192357 20200102162 N 일반 http://www.g2b.go.kr:8081/ep/invitation/publis...
8 포항 영일만항 해경부두 축조공사 기본 및 실시설계용역 1710000000 2020-01-20 16:00:00 직찰 제한경쟁 해양수산부 포항지방해양수산청 1192364 20200102532 N 일반 http://www.g2b.go.kr:8081/ep/invitation/publis...
9 울릉군 남양1리 연안정비사업 실시설계용역 780000000 2020-01-20 16:00:00 직찰 제한경쟁 해양수산부 포항지방해양수산청 1192364 20200102573 N 일반 http://www.g2b.go.kr:8081/ep/invitation/publis...
In [ ]: