-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
37 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,43 @@ | ||
import DiseaseFinder | ||
import DiseaseSelector | ||
from requests.api import head | ||
|
||
# enter symptoms() 함수를 이용해서 받아오지만, 일부분만 구현했기 때문에 symptomlist에 특정 값을 넣어놓았다. | ||
symptomlist = ['등', '관절통'] | ||
val = DiseaseFinder.DiseaseFinder(symptomlist).checkDisease() | ||
back = 0 # back이 1이면 backbutton이 활성화되었다고 생각하고 그 전 단계로 돌아간다. | ||
if val != None: | ||
# create diseaseList | ||
DiseaseList = [] # 병명, site 주소가 저장되어 있다. | ||
# destory symptom's list | ||
del(symptomlist) | ||
for key in val: # 이름만 따로 저장해서 activate("viewer, DiseaseList") | ||
DiseaseList.append(key) | ||
|
||
###activate("viewer", d) | ||
print(DiseaseList) | ||
class DiseaseSelector: | ||
def __init__(self, url): | ||
self.url = url | ||
|
||
# if back==1: | ||
# activate backbutton + prompt | ||
# enter symptoms() | ||
def getUrl(self): | ||
return self.url | ||
|
||
# enter selectedDisease() | ||
selectedDisease = '간염(Hepatitis)' | ||
url = url = val[selectedDisease] | ||
def makeSelectedDiseaseInfo(self): | ||
# 크롬 브라우저를 띄우기 위해, 웹드라이버를 가져오기 | ||
from selenium import webdriver | ||
from selenium.webdriver.common.keys import Keys | ||
from selenium.webdriver.support.ui import Select | ||
|
||
val = DiseaseSelector.DiseaseSelector( | ||
url).makeSelectedDiseaseInfo() # 선택된 증상, 관련질환, 진료과 등등이 저장 | ||
del(DiseaseList) | ||
selectedDiseaseInfo = {} # 병명, 진료과 저장 | ||
selectedDiseaseInfo['병명'] = selectedDisease | ||
for diseaseinfo in val: | ||
if diseaseinfo == "진료과": # 병명과 진료과만 따로 저장(이후에 UC-5, 6에서 이용하기 위해) | ||
selectedDiseaseInfo[diseaseinfo] = val[diseaseinfo] | ||
###activate("viewer", selectedDiseaseInfo) | ||
print("selecteDiseaseInfo", selectedDiseaseInfo) | ||
# if back==1: | ||
# activate backbutton + prompt | ||
# enter selectedDisease() | ||
# 크롬 드라이버로 크롬을 실행한다. | ||
chrome_options = webdriver.ChromeOptions() | ||
chrome_options.add_argument('headless') | ||
chrome_options.add_argument('--disable-gpu') | ||
chrome_options.add_argument('lang=ko_KR') | ||
driver = webdriver.Chrome( | ||
r'C:\Users\es344\chromedriver', chrome_options=chrome_options) | ||
|
||
else: | ||
# activate backbutton + prompt | ||
print("decrease symptoms") | ||
# enter symptoms() | ||
# 질환백과 페이지로 이동 | ||
driver.get(self.getUrl()) | ||
elemdt = driver.find_elements_by_tag_name('dt') | ||
elemdd = driver.find_elements_by_tag_name('dd') | ||
resultsdt = [] | ||
resultsdd = [] | ||
resultdic = {} | ||
# 검색 결과 모두 긁어서 리스트로 저장 | ||
for eledt in elemdt: | ||
resultsdt.append(eledt.text) | ||
for eledd in elemdd: | ||
resultsdd.append(eledd.text) | ||
index = 0 | ||
while index < len(resultsdt): | ||
resultdic[resultsdt[index]] = resultsdd[index] | ||
# print(resultdic) | ||
index += 1 | ||
#print("here", resultdic) | ||
return resultdic |