python_apps/conteenew_python_apps/bid/bid_s2b.py
2023-11-03 14:49:12 +09:00

58 lines
1.7 KiB
Python

import requests, sys, bs4, urllib, datetime
from dateutil.relativedelta import relativedelta
term = sys.argv[1].encode('euc-kr')
term = urllib.parse.quote_plus(term)
startdate = datetime.datetime.now() - relativedelta(months=2)
enddate = datetime.datetime.now() + relativedelta(months=1)
startdate = startdate.strftime('%Y%m%d')
enddate = enddate.strftime('%Y%m%d')
url = "https://www.s2b.kr/S2BNCustomer/stmo001.do"
dataa = "forwardName=list&pageNo=1&tender_num=&tender_step_code=&page_flag=&tender_sep1=1" + \
"&tender_name=" + term + "&company_name_s=&tender_sep2=1" + \
"&tender_date_start=" + startdate + "&tender_date_end=" + enddate + \
"&tender_item=0001&city="
url = url + "?" + dataa
resp = requests.get(url)
resp.raise_for_status()
resp.encoding='EUC-KR'
html = resp.text
bs = bs4.BeautifulSoup(html, 'html.parser')
trs = bs.select('table.td_dark_line tr')
newArr = []
for i in range(len(trs)):
if i > 5:
if i%2 == 0:
txtSrc = bs4.BeautifulSoup(str(trs[i - 1]) + str(trs[i]), 'html.parser')
newArr.append(txtSrc)
res = []
for i in range(len(newArr)):
cnts = newArr[i].select('td')
tdsele = {}
tdsele["src"] = "s2b"
tdsele["term"] = sys.argv[1]
tdsele["type"] = cnts[2].getText().strip()
tdsele["budget"] = ""
tdsele["commitDate"] = ""
tdsele["dept"] = cnts[6].getText().strip()
tdsele["name"] = cnts[3].getText().strip()
urlinfo = "https://www.s2b.kr/S2BNCustomer/stmo001.do?forwardName=view&tender_num=" + cnts[1].getText().strip()
tdsele["detailurl"] = urlinfo
tdsele["applyDateFrom"] = cnts[7].getText().strip()
tdsele["applyDateTo"] = cnts[8].getText().strip()
if tdsele["name"] != "":
res.append(tdsele)
print(res)