Skip to content

Commit

Permalink
Update DiseaseFinder.py
Browse files Browse the repository at this point in the history
  • Loading branch information
es3442 authored May 30, 2021
1 parent 5e5fabe commit e752177
Showing 1 changed file with 48 additions and 31 deletions.
79 changes: 48 additions & 31 deletions DiseaseFinder.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,55 +14,72 @@ def checkDisease(self):
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select

# 크롬 드라이버로 크롬을 실행한다.
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\user\CAUSE-project\chromedriver_win32\chromedriver.exe', chrome_options=chrome_options)
driver = webdriver.Chrome(
r'C:\Users\es344\chromedriver', chrome_options=chrome_options)

# 신체부위 체크
task_list = [['머리', '?partId=B000007'], [
'목', '?partId=B000008'], ['가슴', '?partId=B000020']]
nowBody = '머리'
BodyStr = None
task_list = [['머리', '?partId=B000007'], ['목', '?partId=B000008'],
['가슴', '?partId=B000020'], ['배', '?partId=B000010'],
['등', '?partId=B000006'], ['엉덩이', '?partId=B000013'],
['팔', '?partId=B000018'], ['다리', '?partId=B000005'],
['눈', '?partId=B000004'], ['귀', '?partId=B000002'],
['코', '?partId=B000017'], ['입', '?partId=B000015'],
['전신', '?partId=B000016'], ['피부', '?partId=B000019'],
['유방', '?partId=B000014'], ['생식기', '?partId=B000011'],
['골반', '?partId=B000001'], ['손', '?partId=B000012'],
['발', '?partId=B000019'], ['기타', '?partId=B000003']]

nowBody = self.getsymptomsList()[0] # 아픈위치
print("nowBody", nowBody)
for i in task_list:
for j in i:
if i[0] == nowBody:
nowBody = i[1]
break

print(nowBody)
# 증상백과 페이지로 이동
task_list_dict = {} # 등이라면 {'관절통':'cont1_1', '굽은등', 'cont1_2'} 이런식으로 저장
driver.get(
'http://www.amc.seoul.kr/asan/healthinfo/symptom/symptomSubmain.do'+nowBody)

task_list_dict = {'간성뇌증': 'cont1_1', '강박증': 'cont1_2', '건망증': 'cont1_3', '고산병': 'cont1_4',
'광대뼈 위치 이상': 'cont1_5', '기민상태': 'cont1_6', '기억장애': 'cont1_7', '깨어나면 기억하지 못함': 'cont1_8',
'납작한 코': 'cont1_9', '축 쳐진 귀': 'cont1_10', '낮 시간대의 졸음': 'cont1_11', '낮은 지능': 'cont1_12',
'낮은 학업 성취': 'cont1_13', '내분비계이상': 'cont1_14', '놀란표정': 'cont1_15', '놀람반사의 약화': 'cont1_16',
'뇌부종': 'cont1_17', '뇌압상승증상': 'cont1_18', '뇌염증상': 'cont1_19', '뇌출혈': 'cont1_20',
'달모양의 둥근 얼굴': 'cont1_21', '두부 외상': 'cont1_22', '두통': 'cont1_23', '두피 건조': 'cont1_24',
'두피 열상': 'cont1_25', '만성 부비동염': 'cont1_26', '머리모양 변형': 'cont1_27', '모발 탈색': 'cont1_28',
'모발이 가늘어짐': 'cont1_29', '모발이 거침': 'cont1_30', '무균성 뇌막염': 'cont1_31', '무의식': 'cont1_32',
'박동성 통증': 'cont1_33', '방향감각 상실': 'cont1_34', '볼, 눈주위 움푹 꺼짐': 'cont1_35', '볼이 처짐': 'cont1_36',
'비웃는 듯한 표정': 'cont1_37', '삐뚤어진 눈, 코, 입': 'cont1_38', '수막자극증상': 'cont1_39', '실인증': 'cont1_40',
'실행증': 'cont1_41', '안면 변형': 'cont1_42', '안면마비': 'cont1_42', '안면부 출혈': 'cont1_44', '안면통': 'cont1_45',
'안면홍조': 'cont1_46', '어지러움': 'cont1_47', '언어장애': 'cont1_48', ' 얼굴 중심선이 안맞음': 'cont1_49',
'얼굴 한쪽의 반점': 'cont1_50', '얼굴모양변화': 'cont1_51', '얼굴부종': 'cont1_52', '얼굴에 땀이 남': 'cont1_53',
'얼굴에 털이 자람': 'cont1_54', '얼굴의 나비모양 홍반': 'cont1_55', '얼굴이 밋밋함': 'cont1_56', '얼굴이 화끈거림': 'cont1_57',
'얼굴형태의 이상': 'cont1_58', '운동 실어증': 'cont1_59', '원형, 타원형의 탈모': 'cont1_60',
'의식 변화': 'cont1_61', '의식 저하': 'cont1_62', '이마가 넓어짐': 'cont1_63', '이마의 주름': 'cont1_64',
'이중턱': 'cont1_65', '인지장애': 'cont1_66', '졸림': 'cont1_67', '지남력 장애': 'cont1_68', '짓누르는 느낌': 'cont1_69',
'치매': 'cont1_70', '코 옆과 입꼬리 주름': 'cont1_71', '콧등이 넓어짐': 'cont1_72', '턱끝이 커보임': 'cont1_73',
'턱의 통증': 'cont1_74', '편두통': 'cont1_75', '하악전돌': 'cont1_76', '학습장애': 'cont1_77', '혼돈': 'cont1_78', '혼수': 'cont1_79'}
# 검색 결과 확인
elem2 = driver.find_element_by_class_name('searchCont') # ul class
ul_list = elem2.find_element_by_tag_name('ul')
li_list = ul_list.find_elements_by_tag_name('li')

# 검색 결과 모두 긁어서 리스트로 저장
for li in li_list:
key = li.text # 병 이름
label_tags = li.find_elements_by_tag_name('label')
if label_tags:
for label in label_tags:
link = label.get_attribute('for') # 하이퍼링크
value = link
task_list_dict[key] = value
# 검색 결과 확인
elemsymptom = driver.find_element_by_class_name(
'searchCont') # ul class
ul_list = elemsymptom.find_element_by_tag_name('ul')
li_list = ul_list.find_elements_by_tag_name('li')
# 검색 결과 모두 긁어서 리스트로 저장
for li in li_list:
key = li.text # 병 이름
label_tags = li.find_elements_by_tag_name('label')
if label_tags:
for label in label_tags:
link = label.get_attribute('for') # 하이퍼링크
value = link
task_list_dict[key] = value

# symptomlist와 비교
task_dict = {}
for i in self.getsymptomsList():
for j in task_list_dict:
if i == j:
task_dict[i] = task_list_dict[j]
task_dict[self.getsymptomsList(
)[1]] = task_list_dict[self.getsymptomsList()[1]]

for task in task_dict.values():
checkbox = driver.find_element_by_id(task)
Expand Down

0 comments on commit e752177

Please sign in to comment.