inflearn logo
강의

講義

知識共有

実践でマスターするWebクロールとWebページ自動化&実戦活用

サムネイルをクリックして曲情報ページに移動し、URLを収集してメロンチャートに戻る

셀레늄 실습중 문의

解決済みの質問

808

jyjcj10245126

投稿した質問数 3

0

수업을 듣고 다른 사이트로 실습을 해보려고 하는데,

jsp로 만들어진 공공기관 사이트는 뭔가 잘 안먹히는 모습니다.

아래 사이트의 테이블 정보를 가져오고 싶은데, 얘네들은 클릭해도 주소가 변경되는것도 없고 아래와 같이 table이 들어있는 상위 class 태그를 찾아서 정의하고, 거기에서 table의 class명을 넣고 tbody, tr까지 찾아들어가도록 코딩을 했는데 table의 class명이 없다고 에러가 뜹니다.

이런 사이트의 table내 정보는 어떻게 가져올 수 있고,

테이블에 있는 원자재를 클릭해서 넘어가는 페이지는 어떻게 찾아갈 수 있나요?(XPATH, LINK_TEXT해도 먹히지 않아요..)

https://www.motie.go.kr/motie/py/sa/todayeconomyindexprice/todayEconomyIndexPri.jsp


url = "http://www.motie.go.kr/motie/py/sa/todayeconomyindexprice/todayEconomyIndexPri.jsp"

driver.get(url)
time.sleep(2)

# driver.find_element(By.LINK_TEXT,"통계정보").click()
# time.sleep(2)
# driver.find_element(By.LINK_TEXT,"원자재가격정보")
# time.sleep(2)

class1 = driver.find_element(By.CLASS_NAME,"iframeLayout01")

#테이블은 위와 같이 <table>안에 <tbody>, <tbdoy>안에 <tr>, <tr>안에 <td> 순으로 포함되어 있다.


table_content = class1.find_element(By.CLASS_NAME,"data_print")
tbody = table_content.find_element(By.TAG_NAME,"tbody")
rows = tbody.find_elements(By.TAG_NAME,"tr")
for index, value in enumerate(rows):
    body=value.find_elements(By.TAG_NAME,"td")[0]
    print(body.text)

python 웹-크롤링 웹-크롤링 selenium beautifulsoup

回答 1

0

kimfl

일단, jsp 때문에 잘 안되는게 아닙니다.
위 사이트에는 iframe이 포함되어 있는데 그럴경우에는 ifame으로 전환해서 내용을 가져오는 작업을 해야합니다.

페이지 소스를 보면,
<iframe id="iname" width="860" scrolling="no" height="650" frameborder="0" title="원자재가격정보" name="iname" src="https://www.koreapds.com/wacs/wms/kpds_price.php"></iframe>
src에 있는 https://www.koreapds.com/wacs/wms/kpds_price.php 에 접속해보시면 모든 정보가 있습니다.

driver.switch_to.frame("iname")

이렇게 전환을 하고 필요한 부분을 가져오는 작업을 하시면 됩니다.

그리고 코드에서

class1 = driver.find_element(By.CLASS_NAME,"iframeLayout01")

이 부분은 iframe 바깥부분이라 iframe 전환을 하고나면 찾을 수가 없는 부분이 됩니다. 그리고 찾을 필요가 없는 부분이 되는거죠.

iframe 관련 부분은 추후 업데이트에서 다룰 예정입니다.

멜론 사이트 수집부터 안됩니다

0

56

1

강의 시점이랑 현재랑 네이버 사이트 변화가 많은거 같아서 질문드립니다.

0

54

1

-href 가져오기

0

90

2

수업내용 프로젝트의 완성된 코드는 제공이 안돼나요?

0

155

1

안녕하세요 쿠팡 크롤링 막힌거 같아요 3번돌리니깐 막았어요 해결방법없을까요?

0

3595

1

쿠팡 BeautifullSoup 헤더넣어도 막히네요

0

442

1

네이버 쇼핑 크롤링 1 코드 사용 시, 접속 제한됐을 때의 해결 방법이 궁금합니다.

0

3164

1

추가 강의 업데이트 있나요?

0

245

1

lambda 중에 문의가 있습니다.

0

269

1

텔레그램 sendMessage 시 400에러가 뜹니다.

0

898

2

ftp 로긴 문제입니다. ㅜ

0

402

2

네이버 쇼핑 크롤링 질문입니다.

0

366

1

XPATH 네이버에서 카페 찾는 과정 문의입니다.

1

312

1

셀레니움 By.XPATH 를 이용한 키워드 입력 작성 질문입니다.

0

664

2

쿠팡 이미지 파일 다운받기에서 동일하게 코드 작성 후 요청하였지만 파일 다운로드가 안됩니다.

0

805

2

파이썬에 키워드를 치는게 아닌...

0

274

2

50프로 수강중입니다~

0

217

1

제품 링크를 타고 들어가야 원하는 정보가 나오는 사이트

0

378

2

lst = lst50 + lst100 이거 대신에

0

321

2

증권, 메일 등 서비스 목록을 못가져와요 ㅠㅠ

1

279

1

네이버에 view탭이 업데이트가 됐는지 없어졌네요... ㅠㅠ

1

245

1

선생님이랑 똑같이 적었는데 저는 왜 오류가 날까요?ㅠ

0

354

2

네이버쇼핑 크롤링 문의

0

428

2

asyncio.run() cannot be called from a running event loop 에러 질문 드립니다

0

3891

4